6

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

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.

  • 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. – Sasa Ivetic Mar 31 '11 at 18:28
  • If you're referring to my first solution, yes. But that might not matter. – CaptDragon Mar 31 '11 at 18:31
  • This answer does not guarantee a the point fall inside a circle or U shape polygon. – Downhillski Jul 21 '16 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, privacy policy and cookie policy

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