Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I've got about a dozen polygons in a feature class loaded in ArcMap 10, all in geographic WGS 1984.

How do I easily obtain the coordinates associated with each vertex of each polygon in that feature class? Ideally I would like them to be nicely tabulated in spreadsheet format.

share|improve this question
    
Can you use python/arcpy? –  Hairy May 9 '11 at 7:25

7 Answers 7

up vote 16 down vote accepted

Use the "Feature Vertices To Points" tool within ArcToolbox or if you do not have ArcInfo license then you could use the Polygon to Point tool from ET Geowizard (free tool), then in ArcMap you can use the "Add XY Coordinates" tool to get the XY value for each vertex.

share|improve this answer
    
Is there an alternative to convert polygons to points in python if you don't have an ArcInfo license and you have the free version of Geowizards (unable use python commands in the free version). –  joebob Jan 28 '14 at 15:31
    
@joebob, Maybe Shapely toblerity.org/shapely/index.html –  artwork21 Jan 28 '14 at 20:11

After much searching I found that there is a sample toolbox whihc includes a Write Features To Text File python script. As others have remarked in searches I have done, it is unbelievable that something as basic as exporting polygon coordinates is not a standard tool in ArcGIS.

The toolbox can be found here http://resources.arcgis.com/gallery/file/geoprocessing/details?entryID=F25C5576-1422-2418-A060-04188EBD33A9

share|improve this answer

Try the geo-wizard tools fron Spatial technologies. It has several free tools that can do what you want. Try the get polygon coordinates. Or polygon to points

et geo-wizards

share|improve this answer
    
It seems that I need to first use "polygon to points", then "get point coordinates". But I need to buy an expensive licence to use it. Any other ideas? Thanks for your answer. –  hpy May 9 '11 at 5:24
2  
@Penyaun - If you go to the website and choose the geo-wizards section (on the left nav). The choose free functions. you should see both of those functions listed. This means that you can download the software and use those free. If you do decide to purchase I can say that for the money $600 there are many many functions you will use. –  Brad Nesom May 9 '11 at 13:40
1  
GeoWizards is the best solution for this question - bases on my user experience. –  Mapperz May 9 '11 at 13:56
    
Found it now, thanks! –  hpy May 9 '11 at 14:03
1  
+1 GeoWizards should be in every ArcGIS user's box of tricks –  Stephen Lead Feb 3 '12 at 1:55

This works with a standard ArcGIS license:

desc = arcpy.Describe(fcl)
shapefieldname = desc.ShapeFieldName

gebieden = arcpy.UpdateCursor(fcl)

for gebied in gebieden:
    polygoon = gebied.getValue(shapefieldname)
    for punten in polygoon:
        for punt in punten:
            print punt.X, punt.Y
share|improve this answer

See Bounding Containers using the extent option, it will give you the left, right, top and bottom coordinates of each feature if using the "extent" option. You will have to reassemble into the four points and tabulate into a spreadsheet format (nothing does exactly what you want without some work :) )

share|improve this answer
    
Thanks for the answer, but the new polygons that tool creates doesn't seem to get me closer to what I need. Not to mention some of my polygons have many sides/corners, and are rotated, which the tool does not seem to consider. Any other ideas? –  hpy May 9 '11 at 4:26
1  
@penyuan You probably want to use the word "vertex" instead of "corner" then. –  whuber May 9 '11 at 4:36
    
@whuber: Changed, thanks! –  hpy May 9 '11 at 4:45

Here's a work-around in desperate times:

  • Start editing the feature-class or shapefile
  • Select the polygon feature and right-click to 'Edit Vertices'
  • Right-click on one of the vertices and select 'Sketch Properties'
  • A fly-out will appear with the coordinates of the vertices listed
  • Take a screen-shot of the coordinate list
  • Paste the screen-shot into your favourite photo/picture editor and save as a jpeg/png/bmp etc
  • Google 'Free online OCR' Pick one from the results (some are better than others)
  • Upload your file of the coordinate screen shot and convert
  • Choose your output file type (txt, Excel etc)
  • Check results as some OCR converters are rubbish!!!
  • Use the add X,Y data in Arcmap to create a point dataset.

This method is OK for small datasets but the dependency/limitations on the OCR converters are the main concern. Use with caution.

share|improve this answer

So I haven't completed the solution, yet, but it looks like you can use this tool:

Conversion > JSON > Features to JSON.

This will convert your shapefile (in my case 81 polygons) to a JSON file. You can open this with a text editor to see that, indeed, all the vertices are listed for each polygon.

Further, the python standard library (import json) treats the json objects as dictionaries. You can then simply loop through your dictionaries to write the vertex values (and any other attributes you want) to a csv file. If I get it to work I'll come back & post the soln.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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