Eric,

Why not package that script up and upload it to PyPI? I've seen other packages of scripts in the index, and I'll be happy to help you learn how to do it.

I've seen Arc users reinventing functions from os.path, but writing your own XML parser takes the cake. I suppose if one were a programming book writer or a trainer, one would see this as a underserved market?

Cheers,

On Feb 8, 2010, at 5:16 PM, Eric Wolf wrote:

ESRI seems to yank any python scripts that don't use the arcgisscripting module. I had a nice python script for generating contiguous cartograms that only relied on OGR on ArcScripts and it was taken down. It might have been because I actually included gdal.dll in the ZIP file - but I think it's because I didn't use their programming model. I actually have a version of the code that uses arcgisscripting, but it's much slower. First, the license checks that occur with you execute "import arcgisscripting" take longer than the entire process using OGR. Second, arcgisscripting imposes a cursor model on all operations to iterate through features without decent buffering.

Finally, in the world of programming, ESRI wants to restrict Python to just a "glue" language to automate the geoprocessing methods in the ArcToolbox (sort of like their old Avenue language). To really work with their data models, you have to use a COM language like VB.NET. This sucks because you can't directly work with things like their geometric network models in Python. I know, there's IronPython, but that seems like even more layers upon layers.

I wish ESRI would accept Python as a "real" language. I'd be more likely to use their tools!

-Eric

-=--=---=----=----=---=--=-=--=---=----=---=--=-=-
Eric B. Wolf                    New! 720-334-7734
USGS Geographer
Center of Excellence in GIScience
PhD Student
CU-Boulder - Geography

GPG Public Key: http://www.h4h.net/ebwolf.public.key.txt


On Mon, Feb 8, 2010 at 3:11 AM, gene <[email protected]> wrote:
I have examined some Python scripts on the Arcscripts site and they
seem horribly complicated. For example the script "Convert Files GPS
(KML, GPX) to Shapefiles"  (http://arcscripts.esri.com/details.asp?
dbid=16797) requires 117 lines of code to extract the placemarks and
geometries of a kml file without using any standard module to read
xml.
I think they misrepresent python using only:
"import arcgisscripting"

I sent the following email based on a sample of keytree by Sean
Gillies
"when you read a kml file, why not use the standard modules?
1) to find Placemarks in kml files:
from xml.etree import ElementTree
tree = ElementTree.parse(open('your.kml', 'rb'))
kmlns = tree.getroot().tag.split('}')[0][1:]
placemarks = tree.findall('*/{%s}Placemark' % kmlns)
 and you have all the placemarks
2) using keytree and shapely gives you the geometry
p0 = placemarks[0]
import keytree
f = keytree.feature(p0)
from shapely.geometry import asShape
shape = asShape(f.geometry)
shape.wkt
exemple of results:
'POINT (21.9725000000000001 32.8962999999999965)'"



--
Sean

Reply via email to