File Geodatabase API details

(Update: You can find the most recent release of the File Gdb API right HERE)

While not exactly an early Xmas present (as a certain beaksnake may have promised), the API for the file geodatabase will be hitting the beta stage in January. Before you get your hands on it, here are some details about the File¬†GDB API courtesy of Craig Gilgrass’ right frontal lobe:

The File Geodatabase API provides a non-ArcObjects based means by which advanced developers can work with File Geodatabases. The File Geodatabase API will be C++ based and will provide the ability to perform the following tasks:

  • Create, Open and Delete file geodatabases
  • Read the schema of the geodatabase
    • All content within a geodatabase can be opened for read access
  • Create schema for objects within the simple feature model
    • Tables
    • Point, Line, and Polygon feature classes
    • Feature datasets
    • Domains
    • Subtypes
  • Read the contents of datasets in a geodatabase
    • All dataset content within a geodatabase can be read
  • Insert, Delete and Edit the contents of simple datasets:
    • Tables
    • Point, Line, Polygon, Multipoint, and Multipatch feature classes
  • Perform attribute and (limited) spatial queries on datasets
    • Spatial queries will be limited to the envelope-intersects operator
  • Navigate relationships and work with Attachments

This API is targeted for advanced developers who require access to the File Geodatabase without an ArcObjects license for purposes of interoperability. A commonly requested user scenario is to open File Geodatabase tables outside of an ArcObjects based application to view or modify data. This API does not replace ArcObjects as the recommended approach to interacting with the geodatabase.

The File Geodatabase API leverages the work done in ArcGIS 10 to simplify the Geodatabase system tables. Therefore, the File Geodatabase API only supports file geodatabases from release 10 or later. We are planning to deliver the API as a single downloadable ZIP containing:

  • C++ library (single dll, lib, .h)
  • API documentation in html format
  • (Supported on Windows only for the initial release)

Limitations of the File Geodatabase API

While the File Geodatabase API will support reading the schema and data of complex geodatabase types, the API will not honor geodatabase behavior on inserts, deletes or updates to the following dataset types:

  • Annotation and Dimension feature classes
  • Relationship Classes
  • Networks (GN and ND)
  • Topologies
  • Terrains
  • Representations
  • Parcel Fabrics

The API will not prevent users from attempting to edit objects with complex behavior, the onus will be on the developer to understand what they should and should not edit through the API and avoid editing datasets that have geodatabase behavior. There will be a method called Table::IsEditable which will provide developers with the ability to determine whether a dataset can be safely edited.

Other limitations of the File Geodatabase API at its initial release:

  • Rasters (Raster Dataset, Raster Catalog, Mosaic Datasets and Raster Attributes) are not supported with the initial release of the File Geodatabase API.
  • Spatial queries with the File Geodatabase API will be limited to the envelope-intersects operator.
This entry was posted in Geodata and tagged , , , , . Bookmark the permalink.

Leave a Reply


  1. maphew says:

    Thank you. We’ve been waiting a looooooong time for this. It’s good to hear that soon we’ll get a chance to start testing it.

  2. fmark00 says:

    I see it is a binary only release at this stage. Do you plan on releasing source-code at any stage, and if so, under what license?

  3. JonMurphy says:

    This just in from Craig’s RFL: “We have not yet made a decision with respect to releasing the source code and are still reviewing several different options”

  4. rlcave says:

    You say, “(Supported on Windows only for the initial release)”. Does this mean that other platforms will be supported in the future? If so, which ones?

  5. JonMurphy says:

    Yup, we are planning to support Linux in a follow-on release

  6. geofran80 says:

    Dear friends,

    When will be available the File Geodatabase API?

    Thanks in advanced.

  7. rantonini says:

    Hi, that’s all good news. Is there any plan to officially register the File Geodatabase as a new format with OGC?

  8. JonMurphy says:

    The File API will be released for Beta this week. It’ll be a download on the geodatabase resource center. I’ll put a post up when it becomes available.

    As for it being a new format with OGC – this is something we’re currently investigating

  9. geofran80 says:

    It’s a great notice about FGDB API.

    I have a question, will be available for read/write the spatial reference items in the geodatabase?

    Thanks in advanced?

    “Waiting for the exact release time”

  10. JonMurphy says:

    You can read and write the spatial reference information (in XML) in the File Geodatabase API.

    I just put it up, go try for yourself!!!

  11. mdumka says:

    Now that the File Geodatabase API has been released on Windows, do you have any more certainty on when it might be released on LINUX?

  12. JonMurphy says:

    Within a week if all goes well

  13. jnbrown says:

    Need to fix the link from
    to download the API.
    Clicking Log In or Download brings up the Log In screen, but loses the link to the API download once logged in.

  14. ebinet says:

    hello, is it expected a version compiled with vs 2013?

  15. umaromi says:

    I am getting below error can anybody help me?? please

    Error 7 error LNK2019: unresolved external symbol glutBitmapCharacter referenced in function “void __cdecl DrawCity(double,double,long,class std::basic_string<char,struct std::char_traits,class std::allocator >)” (?DrawCity@@YAXNNJV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) C:\Users\vcc.internet\Desktop\FileGDB_API_VS2013_1_4\samples\Display\Display.obj Display

  16. pbaldridge says:

    Any ideas on when they might come out with a version compatible with Visual Studio 2015?

  17. dvela says:

    So when is this area bug going to get fixed?

  18. mingzhang says:

    It is an great API and very easy to use.

    Is there a plan in future release to allow editing feature class with simple relationship class ?