Python Included In ArcGIS 9
Party_Pack writes "ESRI, the makers of the GIS
(Geographic Information System) Arc/INFO (as well as ArcView) and its more
modern COM based successor ArcGIS are once again, in the just released ArcGIS 9, giving
their users the choice of a fully featured scripting language rather than just
the hideously complex ArcObjects/full
programming language model they currently offer. Interestingly they have chosen
to move away from their tradition of proprietary languages such as AML and
Avenue and use Python. This is great news
for both ArcGIS users and the Python community, as ESRI will hopefully feed any
development work back into the community."
Any scripting language that supports COM can be used with ArcGIS 9. For example, Perl is also supported.
Intelligence shared is intelligence squared.
This is cool. Python does seem to be catching on as the embedded scripting language of choice for apps that combine attributes and graphics (eg modelling tools like Blender, as well as GIS). (I've pretty much decided to reject Tcl for Python in Cavor, too). Now if we can just come up with some standard APIs for similar functionality.
On the other hand, there are some advantages to a scripting language highly tailored to the application domain -- although (IMHO) AML and Avenue aren't exactly stellar examples of this. (I'm thinking more of the GML scripting language for GeoVision's -- later Autodesk's -- VISION* products).
-- Alastair
From my experience of programming against ESRI, I seriously doubt the company will contribute anything back to the community. For instance, in a project I once worked on, we developed custom renderers (i.e. custom icons to be displayed on maps etc.), and back then it was pretty much unsupported. The only way we could get support for this was to contribute our custom renderer to ESRI. Did we get any real support from them? no. But our framwork eventually became ArcGIS version 6's renderer hierarchy templates.
They have a reputation for not contributing anything back. User, beware.
Those who can, do. Those who can't, consult.
- web development: Not only Zope and Plone, there's a lot of interesting development going on with Twisted... and, well, Twisted is not only about the web, it is about networking in general;
- .NET / Java development in general: Python in Java exists already... Java gaining more and more popularity? No problem, Python is already there.
.NET/Mono taking the market away from Java? The industry will perhaps support more and more .NET techniques - with IronPython (featured recently on /.), Python is already there. No problem;
- some people might wonder if you really need that stinkin'
.NET/Java stuff at all - Python is already very portable, but that's not everything - it already supports a wide range of MacOS/Unix/win32-specific functionalities.
- anything else makes you wonder, if Python is a good choice at all? What about realtime applications, like a VOIP phone (GUI included, win32/unix compatible) in Python? Do you read "interpreted" as "slow", do you wonder if Python is good enough to be useful in CPU-demanding programs like games? Anything else against it? Perhaps you're worried about Python's extensibility?
- if software telephony sucks for you, perhaps you should try a real mobile phone
Is there anything you would like to add to the list? Do you also think 2005/2006 will be the years of Python hype? Having a small part of good things about Python, I'd really like to hear, where does it suck for you. There are many, many things I don't know about it...I get a newletter from ESRI and I have gotten it for the past 4-5 years. They ran an article about 8-12 months ago talking about python and how you can use it to write customized stuff for ArcView and ArcGIS. So I think you can use python with older ESRI software and I think that a lot of demo or tutorial python stuff is out there.
"Because geoprocessing often involves processing many datasets or datasets with many records, geoprocessing tasks typically are repetitive and good candidates for automation. Any scripting language with a COM interpreter, such as Python, JScript, or VBScript, can be used to write scripts that execute ArcGIS Desktop 9 geoprocessing tools and automate tasks. Because these scripting languages are not proprietary, many resources for learning them are available." Source
__________________
working & blogging from nigeria
Why are so many of you happy? You should all be flinging huge piles of crap at ESRI despite their attempt to modernize and diversify!
.... oh, then while you are at it, go opensource ...
... where ArcView takes minutes, using 100% of the CPU. All so they can tell you to buy ArcInfo for $25,000 saying it gives you the lost speed back.
... could offer no explanation as to why scripts that would get us full marks could be so horribly unreliable. I suspect she had to keep quiet because of the huge licensing deals ESRI gave BCIT.
... not knowing that I knew the guy, and knew he's on the cutting edge, far from giving up on anything.
... jump up and down and cheer ... if you are a bloody fool. Many MapServer users have given up on Python. You can do far more, far more easily with the CGI version of MapServer, a PostGIS spatial database on a crappy spare parts linux server ... and a little ASP here and there to help things along.
After all, in the world of GIS, they are MICROSOFT. (cue evil music)
Get back in character! ESRI is the devil! start flinging insults no matter how rediculous so you can feel like you are part of the group!
--use MapServer with PostGIS spatial database and save $50,000 over ArcIMS with ArcSDE/Oracle (and have it function 100x better than ArcIMS)
--use Jump for day to day GIS needs http://www.vividsolutions.com/jump/
-- go to: http://opensourcegis.org/ for all the rest of your GIS needs (100's of open source programs there)
I dont understand why any common GIS user would bother with programming large scripts in ArcGIS. I have watched ArcGIS plod along for HOURS using no more than 1% of the CPU
I struggled through many courses in ArcGIS, and ArcObjects. It became painfully obvious that even if you can follow the set of 28 ANSI E size pages that make up the ArcObjects object model, you will in the end be stuck with a brutal little program that will crash often, run slow, and may not transfer properly to other machines.
My professor, who is earning her Masters degree specializing on trying to teach ArcObjects through Online classes (shiver)
Anywho, ESRI is running scared from the open source world. they are actively attacking the MapServer community because it is such a threat to their product, fighting to stop the government of Canada from using MapServer as widely as they do now. An ESRI salesmen went as far as outright lying to me a few months ago trying to tell me that a well known MapServer proponent here in Vancouver had given up on it, switching to ArcIMS
ArcGIS 9 with Python
George Bush + Linux = "I will not let information get in the way of the fight against Windows"