MapScale for industrial siting

A plot is chosen on access, labour and port time.

All three are drive-time questions about the Thai road network, and all three are usually answered with a radius on a screenshot.

What breaks

Site selection narrows a long list before anyone visits. The measurements that do the narrowing — what can reach the plot, who can commute to it, how far it is from a port — are all questions about roads, and a circle drawn on a map answers none of them.

Access is a question about road class

Whether a 40-foot container can reach a plot depends on what the approach is classified as — trunk, primary, secondary, minor — not on how far the plot is from a highway on the map.

Labour catchment is an isochrone, not a radius

The population that can commute to a site in 45 minutes follows the road network and its constraints. A circle of the same nominal reach includes towns nobody can get there from.

Estate and zone names repeat across provinces

Administrative names are shared between provinces, so a shortlist assembled by name alone quietly mixes in plots several hundred kilometres from the region under consideration.

What it costs

Advisers already know what a site visit costs. The value is in how many of them the shortlist avoids.

candidate sites screened × cost of a site visit × share the shortlist removes before anyone travels

Put your own numbers in the calculator

The endpoints you would use

GET/v1/isochrone

Labour catchment and service reach as drive-time polygons around a candidate plot.

POST/v1/matrix

Drive time from the plot to every port, airport and depot on the list, in one call.

GET/v1/admin-areas/reverse

Confirm which province, district and subdistrict a plot is actually in before it enters a shortlist.

GET/tiles/v1/{tileset}/{z}/{x}/{yFile}

The road network itself, classified, for a map that shows how a site is reached.

A request you can run

A 45-minute catchment around a candidate plot, then drive times from it to two ports.

# Labour catchment for a candidate plot: everywhere within a 45-minute
# drive, as a polygon. A radius drawn on a map is not a catchment.
curl -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
  "https://api.mapscale.io/v1/isochrone?point=101.1450,12.9200&contours=45&profile=driving"

# Drive time from the plot to each candidate port and airport, in one call.
curl -X POST -H "X-MapScale-Key: $MAPSCALE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sources":[[101.1450,12.9200]],"targets":[[100.8890,12.6820],[100.5860,13.6810]],"profile":"driving"}' \
  "https://api.mapscale.io/v1/matrix"

What we can actually claim

One thing we will not sell you: the road layer carries a classification — motorway, trunk, primary, secondary, tertiary, minor, service — and no observed traffic volume, no lane counts and no speed limits, because nobody publishes those for Thailand. It reads well as a network. It is not a traffic feed, and we do not present it as one.

Bring us your data.

A 30-minute review against your own addresses — not a demo dataset. You will see the failure rate before you see a price.