7

I'm using the JavaScript API 1.6 on ArcGIS 9.3. I have a polygon geometry in an ArcGIS map, and I'm trying to find a way to get the point that lies in the exact center of the geometry. What is the best way to do this?

Thanks!

3 Answers 3

3

Each instance of geometry (esri.geometry.Geometry) has a method called getExtent() which returns the extent of the geometry (polygon in your example). esri.geometry.Extent has a method called getCenter() that returns a point.

So you could do something like:

var myPolygonCenterLatLon = myPolygon.getExtent().getCenter();

You could alternatively calculate the centroids to polygons beforehand in ArcMap. Then host the layer which has a one-to-one relationship with the polygons.

3
  • That will only calculate the center of the extent, and not the center of the actual polygon. Additionally, the center of the extent may not actually fall in the polygon. Commented Mar 31, 2011 at 18:28
  • If you're referring to my first solution, yes. But that might not matter.
    – CaptDragon
    Commented Mar 31, 2011 at 18:31
  • This answer does not guarantee a the point fall inside a circle or U shape polygon. Commented Jul 21, 2016 at 19:48
1

You could set up a model in Model Builder to use the Feature to Point tool (in ArcToolbox), export the script (JScript), and call it in your code.

1

This an updated version (2.2 Javascript API)

This example finds the centre point of the polygon to label the coordinates

http://help.arcgis.com/en/webapi/javascript/arcgis/demos/util/util_label_point.html

This uses the Geometry Service http://webhelp.esri.com/arcgisserver/9.3/dotNet/index.htm#geometry_service.htm

Your Answer

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

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