2

I have a set of census polygons (P1... P4) containing population information, and I'm building a tool using the ArcGIS Server JavaScript API whereby the user can draw an arbitrary shape:

copied from https://developers.arcgis.com/rest/geoenrichment/api-reference/data-apportionment.htm

I need to estimate the population of the arbitrary shape, by apportioning the values from the census polygons (no weighting is required, so it's acceptable to assume an even population distribution across the polygons).

Is this possible using JavaScript in the client, or will I need to perform the calculations on the server using the GeoProcessing framework?

1
  • All three options are possible (server-side, client-side, and blended), with varying challenges, with performance likely to be the deciding factor.
    – Vince
    Jul 1, 2020 at 12:32

1 Answer 1

1

You could probably take advantage of the client-side GeometryEngine. Use the cut method to cut the census polygons, then use geodesicArea or planarArea (depending on your projection) to get the areas of each cut feature.

https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html

1
  • Thanks for the tip. I ended up using a query to fetch all census features which intersected my buffer, then geometryEngine.contains to decide whether each feature was fully contained. If so I took its whole population, and if not I calculated the proportional area using geodesicArea x the population value. I also tried a back-end approach using the GP framework but the geometry engine was literally 10x faster Oct 26, 2020 at 0:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.