Free Tools for GIS Developers
Navigation:
  What's New
 
GIS Tools:
 AVPython
 NTXShape
 SHPTRANS
 
Other Tools:
 SciTE
 Tomcat
 
About:
 The Author
 These Pages
 
 Best viewed with Mozilla / Firefox; or with IE and the Google Toolbar.
Powered by Blogger

Wednesday, September 24, 2003

  6:24 PM
PyArcObjects interim release

I've been hoping for the ability to use ArcObjects from Python for some time. In 9.x we are going to be able to do geoprocessing using Python - in fact it looks like Python will be the preferred language for geoprocessing - but the full suite of ArcObjects will not be exposed to scripting languages.

There has also been no visible progress with building a Python Universal Client counterpart to the Universal Gateway, so that Python can call ArcObjects through its custom interfaces, the same way that Visual Basic and C++ can.

So, I have resumed work on an idea called PyArcObjects, which is basically a custom module which injects native ArcObjects support into PythonCOM, the same way that MAPI and certain other custom interfaces are supported. Because of the sheer size of ArcObjects (thousands of interfaces), the support absolutely has to be auto-generated.

I have generated code to support all of the interfaces now. I haven't tried to compile it (no Visual C++ at home). Even if it does compile, I don't think I would trust it to behave correctly just yet. Nevertheless, I think it's a good start.

Those interested in peeking at this work-in-progress, and possibly helping me to make this real, please see the PyArcObjects package in the AVPython project on SourceForge.
0 comments [post]  

Sunday, September 14, 2003

  7:06 AM
More than five years ago, I got myself a USR Pilot with - I can't remember - 128 or 256k of memory. I used that for about a year, ran out of space, looked at upgrading to a newer model, but finally decided that paper was a better solution for me. Paper is infinitely expandable, as you could tell if you looked at my office. Also I can put a notepad in my back pocket and not worry about remembering to take it out before sitting down. Even so, I still find myself looking at the new Palm and PocketPC models from time to time - so colorful, faster, more memory, digital cameras built in...

I now find myself again on the geek bandwagon, holding a gadget which captures my imagination, yet is actually useful - like the Pilot when I first got it. It's a little device that looks like a key fob, smaller than the one on my key ring, that contains 256MB of solid state storage. Plug it into a USB port, and you're good to go. Cool! (It's a little too fat to use on an actual key ring. I tried; the keys won't lie flat against it. However, it takes up no room in my front pocket, so it can travel with me wherever I go.) You can get 1GB or maybe even 2GB by now, but I'm happy with 256 - by the time I outgrow it, I can probably pick up 8GB for the same price.

I knew about memory sticks (which require a special reader) but somehow I didn't become aware of these USB drives, which work pretty much everywhere, until I saw one in use. This has me thinking about how close the day is when the desktop computer as we know it is gone, replaced by a workstation-terminal providing keyboard, mouse, video, audio, and computing power, and we bring all of our personal productivity software and data with us on a smart card, or a key fob, or a memory stick, or a subdermal implant (but I hope not the latter, because then upgrades could be painful, heh).

It's kind of a nice counterpoint against the vision of a return to completely server-based computing. Sure, everything can move off the desktop, but not all of it needs to go to the server. If it's appropriate for a process or database to reside on the server, then put it there. If it's appropriate for something to run locally, put it on my keyring so it can run locally wherever I go!

We wouldn't bring our enterprise database with us, but we could bring our PGP keys / VPN certificates / client software to access those enterprise systems. We might also be able to check-out a portion of the database for offline use, with the ability to synchronize with the corporate database as needed. GroupWare like Microsoft Exchange / Outlook has already got that capability, and GIS database software like ArcSDE is going that way. (The Pilot and its descendents have, of course, had that since the beginning.)

What about laptops? How relevant will they be? Well, I guess if I'm going somewhere and I might not have secure, trusted terminal to plug into, I should bring my own. An office might keep a pool of mobile terminals that can be floated to employees as needed, rather than assigning dedicated laptops.

Perhaps the engineers will figure out a way to make me trust an arbitrary terminal so that I can just rent one on a plane or in a hotel, or plug into a cyber-cafe without worrying about theft of personal information. At the very least, they'll provide a way to partition my personal key into security zones and enable different levels of access in different situations.
0 comments [post]  

Wednesday, September 10, 2003

  4:25 PM
Well, I looked into it in more detail this evening, and SHPTRANS has quite a lot of Win32-specific code. I guess I made a decision soon after I got things to the proof-of-concept stage, that my target platform would be Intel hardware running Win32 and that my new goal would be not only to make an NTv2 transformer that works, but to make the fastest NTv2 transformer possible, taking full advantage of the capabilities of the target platform. Once I made that decision, I didn't let myself get distracted looking for platform-neutral ways to do things, even where they might not have compromised performance.

Perhaps a goal for the next version will be to remove that constraint, and get the fastest NTv2 and projection capability available for any hardware, targeting something like the Apache Portable Runtime instead of Win32, and to do that without compromising the performance on Win32. However, that's not an overnight job, so for now I guess I'm just going to have to fess up to my client!
0 comments [post]  

  11:37 AM
I told a client yesterday that SHPTRANS works on UNIX. I realized afterward that I had gotten mixed up and that I was talking about NTXShape. But maybe I should port SHPTRANS as well so I won't be a liar. A Linux port would be simple, as would Solaris / Intel. Ultrasparc would be a bit more troublesome due to the different byte order and more rigid constraints for alignment of double precision values on that architecture.
0 comments [post]  

Thursday, September 04, 2003

  11:10 AM
By the way, PyArcObjects is not dead. It's just biding its time.
0 comments [post]  

  11:07 AM
Tomcat ArcIMS configuration now includes another note about configuring IIS 6 so it can serve the Java Viewer, as in ESRI Support Center technical article #25427.
0 comments [post]  

Wednesday, September 03, 2003

  7:10 PM
Woohoo! Blogger's archiving / index feature is no longer broken. Actually they have a whole new authoring user interface as well, which I noticed yesterday when I added a note about Tomcat. These two improvements, combined with the sad fact that summer is pretty much over, will probably mean that I start publishing here more frequently again.
0 comments [post]  

Tuesday, September 02, 2003

  7:28 AM
My Tomcat installation package is now updated with support for Windows 2003 Server / IIS 6. I don't have access to IIS 6; thanks to Andrew Duey for providing notes and testing.
0 comments [post]  


|