Opened 13 years ago

Closed 7 years ago

#3332 closed enhancement (wontfix)

[PATCH] Add ArcObjects OGR driver to allow reading of GeoDatabase (e.g FileGDB) FeatureClasses

Reported by: rburhum Owned by: rburhum
Priority: normal Milestone:
Component: OGR_SF Version: unspecified
Severity: normal Keywords: FileGDB, ArcObjects, AO
Cc: warmerdam, springmeyer


This driver allows reading of FileGDB FeatureClasses as long as there is an ESRI ArcView License (or higher) available.

The connection string starts with "AO:" followed by the connection string to be sent to the ArcObjects Workspace Factory.

For example, to open a FileGDB, the connection string would be "AO:c:\mypath\mydb.gdb"

Similarly, to open a Personal GDB (aka Access), one would use: "AO:c:\somepath\mydb.mdb"

There is also basic support for Enterprise GeoDatabases (aka ArcSDE). Currently, the only way to support connections is done through an .sde file. "AO:c:\somepath\connfile.sde"

Attachments (1)

gdal_ao.patch (65.8 KB ) - added by rburhum 12 years ago.
Updated patch for trunk. Also includes build system integration.

Download all attachments as: .zip

Change History (19)

comment:1 by rburhum, 13 years ago

I added the ticket, with the source. Feel free to e-mail me if there are any problems.

comment:2 by warmerdam, 13 years ago

Cc: warmerdam added
Component: defaultOGR_SF
Owner: changed from warmerdam to chaitayna


Could you please incorporate this driver into trunk? Skimming the patch, I think it only includes the driver directory itself so you may need to update the gdal/ogr/ogrsf_frmts/ makefiles, the OGR registration function and some of the root nmake.opt,,

I understand you don't have ArcObjects, so we will likely need to depend on Ragi to test any attempted integration.

After a bit of thought, I think it would be ok to only do this initially for windows (skip unix configuration) since I think most interest in this will be for Windows.

comment:3 by rburhum, 13 years ago

I will be happy to test it.

By the way, there is a registration function, in one of the files. I just did not add it to the same place as all the other drivers. I guess it needs to be moved. I have already made a one line change... should I start submitting patches? if so, who do I assign them to?

comment:4 by warmerdam, 13 years ago


Perhaps for now you can add changes in this ticket, till the integration is complete.

comment:5 by Even Rouault, 13 years ago

Summary: Add ArcObjects OGR driver to allow reading of GeoDatabase (e.g FileGDB) FeatureClasses[PATCH] Add ArcObjects OGR driver to allow reading of GeoDatabase (e.g FileGDB) FeatureClasses

comment:6 by scitronpousty, 13 years ago

What is the status of this commit? I could really use this feature on a lot of projects and it would help me use FOSS4G throughout my organization. Thanks

comment:7 by rburhum, 13 years ago

Hey Steve!

I have a few fixes for this patch as far as ArcObjects Geometry<->OGR Geometry go. Let me know if you want them...

comment:8 by springmeyer, 12 years ago

hey Ragi, can you post the fixes to this ticket? also I'm noticing the link to your binaries appears to be dead:

comment:9 by springmeyer, 12 years ago

Cc: springmeyer added

comment:10 by rburhum, 12 years ago

Hi Dane,

I'll sync with trunk today/this weekend and include all the fixes I had (the code has been the same and has been in production for 10 months - no mayor issues).

by rburhum, 12 years ago

Attachment: gdal_ao.patch added

Updated patch for trunk. Also includes build system integration.

comment:11 by rburhum, 12 years ago

Hey Dane,

I updated the patch with the latest fixes. I also integrated with the current build system - I copied the sde settings and replaced them. That means that to generate the driver dll you will need to follow the directions of the wiki to do something similar.

In case you don't want to build it yourself, I just zipped the binaries created from trunk. I tried a few things and they seem to work just fine, however, I don't know what is the current state of trunk, so good luck :)

comment:12 by rburhum, 12 years ago

Owner: changed from chaitayna to rburhum

comment:13 by rburhum, 12 years ago

Resolution: fixed
Status: newclosed

Commited to trunk. Revision 21273

comment:14 by Even Rouault, 12 years ago

Resolution: fixed
Status: closedreopened

There are build issues when ArcObjects isn't available :

1) Linux linking is broken since the @XXX@ values for the HAVE_ARCOBJECTS, ARCOBJECTS_LIB and ARCOBJECTS_INC in have no substution rules in the configure/ So they aren't substituted and the linking fails because of a dummy "(RCOBJECTS_LIB)" string in the linking line

2) I think (untested) that Windows compilation is also broken because of arcobjects being explicitely set in the DIRLIST line of trunk/gdal/ogr/ogrsf_frmts/ I think it should be $(ARCOBJECTS_DIR) instead

comment:15 by rburhum, 12 years ago

Crap. Sorry. I tested the windows build several times, it works. However, I was just rebooting to Mac to try it out. Fixing it now...

comment:16 by rburhum, 12 years ago

Fixed the build by disabling the driver temporarily. I changed the ARCOBJECTS_DIR though. I will figure out how the substitution works and re-enable it then.

comment:17 by Jukka Rahkonen, 8 years ago

Is this enhancement to ArcObjects driver doing something more of better than either of the two FileGDB drivers we have nowadays in GDAL? If it does not and because compiling for all platforms feels difficult or impossible could it be better to close the ticket as "wontfix"?

comment:18 by Jukka Rahkonen, 7 years ago

Resolution: wontfix
Status: reopenedclosed

Patch does not seem to interest anybody, closing as won't fix.

Note: See TracTickets for help on using tickets.