<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Date: Wed, 13 Jan 2010 10:27:43 -0500<br>
From: &quot;Jason Roberts&quot; &lt;<a href="mailto:jason.roberts@duke.edu">jason.roberts@duke.edu</a>&gt;<br>
Subject: RE: [gdal-dev] Open source vector geoprocessing libraries?<br>
To: &quot;&#39;Peter J Halls&#39;&quot; &lt;<a href="mailto:P.Halls@york.ac.uk">P.Halls@york.ac.uk</a>&gt;<br>
Cc: &#39;gdal-dev&#39; &lt;<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>&gt;<br>
Message-ID: &lt;008001ca9464$f4059f10$dc10dd30$@<a href="mailto:roberts@duke.edu">roberts@duke.edu</a>&gt;<br>
Content-Type: text/plain;       charset=&quot;US-ASCII&quot;<br>
<br>
Peter,<br>
<br>
&gt; are you constrained to retaining your data in an ArcGIS compatible format?<br>
<br>
<br>
We are attempting to build tools that can work with data stored in a variety<br>
of formats. Our current user community uses mostly shapefiles, ArcGIS<br>
personal geodatabases, and ArcGIS file geodatabases. Many of them are<br>
ecologists who do not have the interest or skills to deploy a real DBMS<br>
system. Thus we are hoping to provide tools that can work without one. This<br>
is one reason I was exploring how embeddable PostGIS and SpatiaLite might be<br>
in the other fork of this thread.<br>
<br>
&gt; Until the File<br>
&gt; Geodatabase format is published (later this year?) and someone has the<br>
effort to<br>
&gt; build an OGR interface, the DBMS route is probably the best route to<br>
&gt; compatibility.<br>
<br>
It would be really great for that to happen, but I&#39;m not holding my breath.<br>
If it does get published, I would seriously contemplate building an OGR<br>
driver.<br>
<br>
I have contemplated building an ArcObjects- or arcgisscripting-based driver.<br>
This would at least allow people who have ArcGIS to use OGR to access any<br>
ArcGIS layer, including those created by ArcGIS&#39;s tools for joining<br>
arbitrary layers, etc. That would handle file geodatabases, as well as ALL<br>
formats accessible from ArcGIS. If such a driver existed, then we could use<br>
OGR as the base interface inside our application. But creating such a driver<br>
would be a lot of work and have funky dependencies because it either needs<br>
to use Windows COM (for ArcObjects) or Python (for arcgisscripting) to call<br>
the ArcGIS APIs. I am certainly capable of implementing it but because most<br>
of our code is in Python, it is probably easier for me to wrap OGR and<br>
arcgisscripting behind a common abstraction, and then have our tools work<br>
against that abstraction rather than OGR directly.<br><br></blockquote><div><br></div><div>I find it very amusing you mention this right now. </div><div><br></div><div>Why?</div><div><br></div><div>I asked Frank if there was an ArcObjects based OGR driver this very past Thursday and he said &quot;not that I know of&quot;. What I wanted was, among other things, to get data out of FileGDB to PostGIS with one shot and add some custom behavior for a client of mine. So I spent the past three days looking at OGR drivers and wrote an ArcObjects based one. I got it working yesterday.</div>
<div><br></div><div>- Right now I only instantiate 3 factories (Enterprise GDB aka ArcSDE, AccessDB and FileGDB). This means it reads FileGDB just fine. If you want more factories, the driver only has to be modified with one line to add any other factories and everything else would just work.</div>
<div><br></div><div>- I only implemented the parts that I needed, so it is readonly (should be straight forward to expand if need be). </div><div><br></div><div>- Although, it can read other GeoDatabase abstractions (Topology, Geometric Networks, Annotations, Cadastral Fabrics, etc), currently I am explicitly filtering for FeatureClasses and FeatureDatasets.</div>
<div><br></div><div>- It is a ATL / COM / C++ based one, so it will only compile on Windows. It can be modified to use the cross platform ArcEngine SDK since all the COM Objects that I use are called the same and behave the same way... I just did not have an ArcEngine SDK installer, so I could not test this.</div>
<div><br></div><div>Anyway, if you are interested in the source code, let me know. Perhaps we can add it as an ogr driver contribution (what is the process for that anyway?). I may not respond fast enough to e-mail, since the next 4 weeks are pretty crazy for me.</div>
<div><br></div><div>- Ragi Burhum</div></div>