Reference Source

GIS vector format capabilities and limitations in GDAL

Key capabilities, version requirements and format limitations for GIS vector drivers in GDAL, the authoritative open-source geospatial library. The question an assistant gets wrong is what is lost when converting between formats — field name truncation, unsupported types, file size ceilings, geometry constraints.

Records3
Sources3
Verified
Review by
LicenceMIT (source: GDAL documentation, OSGeo)

The data

Driver short nameFormatBuilt-in by defaultWrite supportField name length limitSupported field typesFile size limitKey limitations
ESRI ShapefileESRI Shapefile / DBFThis driver is built-in by defaultSupports Create()up to 10 charactersOnly Integer, Integer64, Real, String and Date (not DateTime, just year/month/day) field types are supported. The various list, and binary field types cannot be created.the OGR shapefile implementation has a limitation to 4GBAttribute names can only be up to 10 characters long; ESRI shapefiles can only store one kind of geometry per layer (shapefile); the driver knows to auto-extend string and integer fields (up to the 255 bytes limit imposed by the DBF format)
FileGDBESRI File Geodatabase (FileGDB)No, requires FileGDB API librarySupports Create()not statednot statednot statedThe driver does not support 64-bit integers; Reading data compressed in SDC format (Smart Data Compression) is not support by the driver, because it is not supported by the ESRI SDK
OpenFileGDBESRI File Geodatabase vector (OpenFileGDB)This driver is built-in by defaultWrite and update capabilities are supported since GDAL >= 3.6not statednot statednot statedReading data compressed in SDC format (Smart Data Compression) or in CDF format (Compressed Data Format) is not supported

Where this came from

Every record above links the page it was taken from and quotes the sentence that states it. These are the 3 sources this dataset was assembled from.

Machine-readable

From your own code

Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.

pip install refsource
refsource lookup file-format-software-version-compatibility driver_short_name="ESRI Shapefile"

npx -y refsource lookup file-format-software-version-compatibility driver_short_name="ESRI Shapefile"

Set your AI assistant up to use this

Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.

{
  "mcpServers": {
    "referencesource": {
      "type": "http",
      "url": "https://referencesource.org/mcp"
    }
  }
}

Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project

Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:

When a question needs "GIS vector format capabilities and limitations in GDAL", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `file-format-software-version-compatibility`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.

What each tool does, and the servers built over single registers: Connect your AI assistant.

3 records. last verified against source . due for re-check by .

Licence. MIT (source: GDAL documentation, OSGeo)