{"id":173341,"date":"2010-12-13T21:32:03","date_gmt":"2010-12-14T05:32:03","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=173341"},"modified":"2018-12-18T10:49:04","modified_gmt":"2018-12-18T18:49:04","slug":"file-geodatabase-api-details","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details","title":{"rendered":"File Geodatabase API details"},"author":3981,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23851],"tags":[34731,39301,34511,25381],"industry":[],"product":[36991,36601],"class_list":["post-173341","blog","type-blog","status-publish","format-standard","hentry","category-data-management","tag-apis","tag-arcgis-10-1","tag-file-geodatabase-api","tag-geodatabase","product-arcgis-desktop","product-developers"],"acf":{"short_description":"While not exactly an early Xmas present (as a certain beaksnake may have promised), the API for the file geodatabase","flexible_content":[{"acf_fc_layout":"content","content":"<p><em>(Update: You can find the most recent release of the File Gdb API right\u00a0<a href=\"http:\/\/www.esri.com\/apps\/products\/download\/index.cfm?fuseaction=#File_Geodatabase_API_1.3\" target=\"_blank\" rel=\"noopener\">HERE<\/a>)<\/em><\/p>\n<p>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\u00a0GDB API courtesy of Craig Gilgrass\u2019 right frontal lobe:<\/p>\n<p>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:<span id=\"more-1114\"><\/span><\/p>\n<ul>\n<li>Create, Open and Delete file geodatabases<\/li>\n<li>Read the schema of the geodatabase\n<ul>\n<li>All content within a geodatabase can be opened for read access<\/li>\n<\/ul>\n<\/li>\n<li>Create schema for objects within the simple feature model\n<ul>\n<li>Tables<\/li>\n<li>Point, Line, and Polygon feature classes<\/li>\n<li>Feature datasets<\/li>\n<li>Domains<\/li>\n<li>Subtypes<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul type=\"disc\">\n<li>Read the contents of datasets in a geodatabase\n<ul type=\"circle\">\n<li>All dataset content within a geodatabase can be read<\/li>\n<\/ul>\n<\/li>\n<li>Insert, Delete and Edit the contents of simple datasets:\n<ul type=\"circle\">\n<li>Tables<\/li>\n<li>Point, Line, Polygon, Multipoint, and Multipatch feature classes<\/li>\n<\/ul>\n<\/li>\n<li>Perform attribute and (limited) spatial queries on datasets\n<ul type=\"circle\">\n<li>Spatial queries will be limited to the envelope-intersects operator<\/li>\n<\/ul>\n<\/li>\n<li>Navigate relationships and work with Attachments<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>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:<\/p>\n<ul>\n<li>C++ library (single dll, lib, .h)<\/li>\n<li>API documentation in html format<\/li>\n<li>(Supported on Windows only for the initial release)<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_21772.jpg\" alt=\"\" border=\"0\" \/><\/p>\n<p><strong>Limitations of the File Geodatabase API<\/strong><\/p>\n<p>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:<\/p>\n<ul>\n<li>Annotation and Dimension feature classes<\/li>\n<li>Relationship Classes<\/li>\n<li>Networks (GN and ND)<\/li>\n<li>Topologies<\/li>\n<li>Terrains<\/li>\n<li>Representations<\/li>\n<li>Parcel Fabrics<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>Other limitations of the File Geodatabase API at its initial release:<\/p>\n<ul>\n<li>Rasters (Raster Dataset, Raster Catalog, Mosaic Datasets and Raster Attributes) are not supported with the initial release of the File Geodatabase API.<\/li>\n<li>Spatial queries with the File Geodatabase API will be limited to the envelope-intersects operator.<\/li>\n<\/ul>\n"}],"authors":[{"ID":3981,"user_firstname":"Jonathan","user_lastname":"Murphy","nickname":"Jonathan Murphy","user_nicename":"jonmurphy","display_name":"Jonathan Murphy","user_email":"jonathan_murphy@esri.com","user_url":"","user_registered":"2018-03-02 00:15:37","user_description":"Product Owner, UX Designer and Content Strategist on the Geodatabase team at Esri. \r\nWriter, musician, cockatiel whisperer and prolific world traveler.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>File Geodatabase API details<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"File Geodatabase API details\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-18T18:49:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details\"},\"author\":{\"name\":\"Jonathan Murphy\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be\"},\"headline\":\"File Geodatabase API details\",\"datePublished\":\"2010-12-14T05:32:03+00:00\",\"dateModified\":\"2018-12-18T18:49:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details\"},\"wordCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"APIs\",\"ArcGIS 10.1\",\"file geodatabase API\",\"geodatabase\"],\"articleSection\":[\"Data Management\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details\",\"name\":\"File Geodatabase API details\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2010-12-14T05:32:03+00:00\",\"dateModified\":\"2018-12-18T18:49:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"File Geodatabase API details\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be\",\"name\":\"Jonathan Murphy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png\",\"caption\":\"Jonathan Murphy\"},\"description\":\"Product Owner, UX Designer and Content Strategist on the Geodatabase team at Esri. Writer, musician, cockatiel whisperer and prolific world traveler.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/jonmurphy\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"File Geodatabase API details","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details","og_locale":"en_US","og_type":"article","og_title":"File Geodatabase API details","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-12-18T18:49:04+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details"},"author":{"name":"Jonathan Murphy","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be"},"headline":"File Geodatabase API details","datePublished":"2010-12-14T05:32:03+00:00","dateModified":"2018-12-18T18:49:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details"},"wordCount":4,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["APIs","ArcGIS 10.1","file geodatabase API","geodatabase"],"articleSection":["Data Management"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details","name":"File Geodatabase API details","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2010-12-14T05:32:03+00:00","dateModified":"2018-12-18T18:49:04+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/data-management\/file-geodatabase-api-details#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"File Geodatabase API details"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/dec789ad68db472c6018c1c9068998be","name":"Jonathan Murphy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/J_Mu-213x200.png","caption":"Jonathan Murphy"},"description":"Product Owner, UX Designer and Content Strategist on the Geodatabase team at Esri. Writer, musician, cockatiel whisperer and prolific world traveler.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/jonmurphy"}]}},"text_date":"December 13, 2010","author_name":"Jonathan Murphy","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/jonmurphy","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcMap","tag_data":[{"term_id":34731,"name":"APIs","slug":"apis","term_group":0,"term_taxonomy_id":34731,"taxonomy":"post_tag","description":"","parent":0,"count":23,"filter":"raw"},{"term_id":39301,"name":"ArcGIS 10.1","slug":"arcgis-10-1","term_group":0,"term_taxonomy_id":39301,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":34511,"name":"file geodatabase API","slug":"file-geodatabase-api","term_group":0,"term_taxonomy_id":34511,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":25381,"name":"geodatabase","slug":"geodatabase","term_group":0,"term_taxonomy_id":25381,"taxonomy":"post_tag","description":"","parent":0,"count":48,"filter":"raw"}],"category_data":[{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":920,"filter":"raw"}],"product_data":[{"term_id":36991,"name":"ArcMap","slug":"arcgis-desktop","term_group":0,"term_taxonomy_id":36991,"taxonomy":"product","description":"","parent":36981,"count":325,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":761,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-desktop","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/173341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/3981"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=173341"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/173341\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=173341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=173341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=173341"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=173341"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=173341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}