Select to view content in your preferred language

Calculating the Max N/S/E/W of polygon

14305
19
06-15-2016 03:42 AM
Emma_Cunliffe
Emerging Contributor

Hi all

I have ARC 10.2.1.

I have a shapefile of polygons, and the I need the maximum N / S / E / W points for each polygon (not the centre point)

Is there a way to do this?

(I can use the tools etc, but have no knowledge of scripts or anything like that, so I would need some pretty basic instructions if that's what's required)

(Geometric attributes / extent only gives 2 max/min extents which do not reflect the actual shape of the polygon, not all 4)

Thanks

Tags (3)
0 Kudos
19 Replies
FC_Basson
MVP Regular Contributor

Same question and answer here: coordinates of the extents of a polygon

The extent automatically refers to the feature's maximum N/E/S/W coordinates.

Emma_Cunliffe
Emerging Contributor

Hi, same reply, but I couldn't figure out how to turn off "assumed answered"
I really appreciate your help, and I may have a fundamental misunderstanding, and am happy to be corrected, but it seems that no - it doesn't.

If you assume, for the sake of argument, your shape is diamond, it gives you the bottom left coordinate and the top right coordinate as if someone had drawn a square around your shape, and given you only those two points. So it doesn't give all 4 points, and the 2 points it does give are not actually in the polygon?

0 Kudos
FC_Basson
MVP Regular Contributor

Ok so you actually need the maximum COORDINATE of the maximum bounding extent points

0 Kudos
Emma_Cunliffe
Emerging Contributor

Yes, the "maximum N, S, E and W points"

0 Kudos
FC_Basson
MVP Regular Contributor

A quick option is to convert the polygon to points, calculate the X/Y coordinates for the points in new fields and with a Select by Attributes query get the max/min from the X/Y field values and use that as your maximum extent points.

Here is the SQL expression to get the max/min in a field, which should be used in the Select by Attributes query box:

X = (SELECT max( X ) FROM MyPolygonPoints)

OR

X = (SELECT min( X ) FROM MyPolygonPoints)

You could then convert this process to a model if you have multiple polygons.

Emma_Cunliffe
Emerging Contributor

That sounds like exactly what I want - I have 430 polygons, so a model sounds like the way to go. As I've never used SQL or models before, can you point me to a 'Dummies guide to models?" link

0 Kudos
FC_Basson
MVP Regular Contributor

There's heaps of documentation, but start here: What is ModelBuilder?—Help | ArcGIS for Desktop

I'll see if I can draw up a wireframe for your process.

0 Kudos
DanPatterson_Retired
MVP Emeritus

if you have shapefiles, use the Minimum Area Bounding Rectangle option of Bounding Containers, the axis dimensions are contained in the table which you can join back to you shapefile if needed

Emma_Cunliffe
Emerging Contributor

Thanks but as above, I need points that are part of the polygon, not the points of a container which (given the irregular shapes of my polygons) are not actually located within the shape

0 Kudos