Spatial Data Format of the Week: Esoteric & Legacy Formats You'll Still Encounter
The Format Museum
Welcome to the spatial data format hall of fame—formats you probably won't create, but you'll definitely encounter in legacy datasets, institutional archives, and "that one professor's hard drive."
This week covers:
- Personal Geodatabase (.mdb) — Microsoft Access-based (deprecated)
- TAB (MapInfo) — Pre-shapefile competitor
- E00 (Arc/INFO Export) — Ancient Esri format
- KML/KMZ (Google Earth) — Visualization format with analysis limitations
- DXF/DWG (CAD) — Engineering drawings as GIS data
- GML (Geography Markup Language) — XML-based OGC standard
- Miscellaneous Oddities
1. Personal Geodatabase (.mdb)
What it is: Microsoft Access database with spatial extensions. Deprecated by Esri (don't use for new projects).
Why It Exists
- Pre-2000: Esri's "modern" format before File Geodatabase
- Built on Access: Familiar to Windows users
- Single file: Unlike shapefiles
Why It's Dead
Problems:
- 2GB size limit (Access limitation)
- Windows-only (no Linux/Mac support)
- 32-bit only (compatibility nightmare)
- Corrupt easily (Access reliability issues)
- Deprecated: Esri stopped supporting in 2016
When You'll Encounter It
- Old projects (pre-2010 vintage)
- Legacy archives (university/government data)
- "That one guy's workflow" who refuses to upgrade
Handling .mdb Files
QGIS:
- Try opening with Add Vector Layer (GDAL driver)
- If it fails: Open in old ArcGIS, export to .gdb or shapefile
Conversion:
ogr2ogr -f "ESRI Shapefile" output.shp input.mdb layer_name
Recommendation: Convert immediately to GeoPackage or shapefile. .mdb is a ticking time bomb (corrupts, platform issues, no future support).
3. MapInfo TAB Format
What it is: Vector format from MapInfo Professional—the GIS that almost beat Esri in the 1990s.
Structure
Four files (like shapefiles):
.tab— Metadata (coordinate system, symbology).dat— Attribute data (dBASE format).map— Spatial objects (geometry).id— Index file
When You'll Encounter It
- Non-U.S. markets (MapInfo strong in Europe, Australia)
- Telecommunications (utilities, infrastructure)
- Legacy datasets (1990s-2000s)
- Government data (countries where MapInfo was standard)
Working with TAB in QGIS
Import:
- Add Vector Layer → Select
.tabfile - QGIS uses GDAL MapInfo driver
- Works reliably
Export to TAB:
- Save Features As → Format: MapInfo TAB
- QGIS can write TAB format
Peculiarities
- Coordinate systems: Uses MapInfo's projection codes (not EPSG)
- Symbology: Stores styling in
.tabfile (rare for GIS formats) - Readable: Text-based metadata (unlike shapefiles)
Recommendation: TAB format is fine—reads/writes reliably, but shapefile or GeoPackage preferred for new work (wider support).
4. E00 (Arc/INFO Export Format)
What it is: ASCII text format for Arc/INFO (pre-ArcGIS Esri software, 1980s-1990s).
Why It Exists
- Portability: Transfer data between Arc/INFO systems
- Platform-independent: Text format (readable on any OS)
- Archive format: Long-term storage
Structure
Plain text (you can open in text editor):
ARC 2
1 1 1 1 1 1
3.65489100E+02 2.08455100E+02
3.65489800E+02 2.08454900E+02
-1.00000000E+00
Painful to parse manually (use tools).
When You'll Encounter It
- Very old datasets (1980s-2000s)
- Government archives (USGS, state agencies)
- Historical GIS projects
Converting E00
QGIS doesn't open E00 directly.
Command-line (GDAL):
ogr2ogr -f "ESRI Shapefile" output.shp input.e00
ArcGIS:
Recommendation: Treat E00 as archaeological artifact—convert to modern format immediately.
5. KML/KMZ (Google Earth)
What it is: Keyhole Markup Language, Google Earth's native format. Designed for 3D visualization and storytelling, not spatial analysis.
Why KML is Problematic for GIS
Born for visualization:
- Excellent for Google Earth tours and presentations
- Beautiful 3D buildings, flyovers, time animations
- Rich media (photos, videos, HTML descriptions)
But analysis-hostile:
- ❌ No spatial analysis tools — Google Earth is viewer-only (no buffer, overlay, network analysis)
- ❌ WGS 84 only — Can't use projected coordinate systems (measurements imprecise)
- ❌ Limited attributes — Data stored as Name/Description HTML blobs, not structured tables
- ❌ No spatial indexing — Slow for large datasets (>10,000 features)
- ❌ Software ecosystem limited — Google Earth-centric, not GIS-native
When You'll Encounter It
Public data sharing:
- Government agencies share field sites as KML
- Historical markers, tourist attractions
- Environmental monitoring sites
GPS device exports:
- Garmin, Magellan devices export to KML
- Google Maps "Save place" → Export as KML
Academic presentations:
- Professors share research sites via KML
- Easy to email, everyone has Google Earth
Legacy web mapping:
- Pre-2010 web maps used KML overlays
- Replaced by GeoJSON in modern workflows
The KML vs. KMZ Distinction
KML (.kml):
- Plain XML text file
- Human-readable (like GeoJSON)
- No embedded images
KMZ (.kmz):
- Zipped KML + images, 3D models, icons
- Smaller file size (compressed)
- Standard for sharing
Working with KML in QGIS
Import:
- Drag
.kmlor.kmzinto QGIS - QGIS converts to temporary vector layer
- Note: 3D features flattened to 2D
Export to KML:
- Right-click layer → Export → Save Features As
- Format: Keyhole Markup Language (KML)
- CRS: Automatically converts to WGS 84 (EPSG:4326)
- Options:
- Name field: Attribute for placemark names
- Description field: Attribute for pop-up HTML
- Altitude mode: Clamp to ground (most common)
Pro tip: Create HTML description before export:
-- Field Calculator
'<b>Site:</b> ' || "site_name" || '<br>' ||
'<b>Type:</b> ' || "site_type" || '<br>' ||
'<img src="' || "photo_url" || '" width="300px"/>'
Why KML Keeps Showing Up
Universal recognition:
- Everyone knows Google Earth
- Zero training required (point, click, explore)
- Works on phones, tablets, desktops
N7 GIS software needed:
- Email a KMZ file → recipient opens in Google Earth
- No QGIS, no ArcGIS, no technical skills
Narrative cartography:
- Tours with timed camera movements
- Historical maps as overlays
- 3D building extrusions for urban visualization
The KML Trap
Problem scenario:
- Government agency shares "spatial data" as KML
- You download, try to analyze in QGIS
- Discover:
- No attributes (just Name/Description HTML)
- Can't buffer (WGS 84 lat/lon issues)
- No relationship to other datasets
- Must convert, clean, georectify
Resolution:
- Import to QGIS
- Parse HTML descriptions to extract attributes
- Reproject to appropriate CRS for analysis
- Export to shapefile or GeoPackage
- Now you can do real GIS work
KML for What It's Good At
Use KML when:
- Sharing locations with non-GIS audiences
- 3D visualization (buildings, terrain draping)
- Storytelling (tours, historical overlays)
- Public outreach and engagement
- Mobile field reference (Google Earth on phones)
Never use KML for:
- Spatial analysis (buffer, overlay, network)
- Quantitative measurements (distance, area)
- Professional GIS workflows
- Attribute-heavy datasets
- Large datasets (>5,000 features = slow)
Conversion Strategies
KML → Shapefile:
ogr2ogr -f "ESRI Shapefile" output.shp input.kml
KML → GeoJSON:
ogr2ogr -f GeoJSON output.geojson input.kml
KML → GeoPackage:
ogr2ogr -f GPKG output.gpkg input.kml
In QGIS:
- Load KML layer
- Right-click → Export → Save Features As
- Choose modern format (GeoPackage, Shapefile, GeoJSON)
8KML Bottom Line
KML is the "PowerPoint of spatial data"—excellent for presentations, terrible for analysis. Google Earth is a viewer, not a GIS. When you receive KML, convert immediately to a format designed for spatial analysis.
Key insight: KML's ubiquity is both strength and weakness. It's everywhere because Google Earth is free and easy. But "easy to view" ≠ "suitable for analysis."
Modern alternative: For web sharing, use GeoJSON + web mapping libraries (Leaflet, MapLibre). For analysis, use GeoPackage or Shapefile. Reserve KML for Google Earth-specific visualization projects.
6. DXF/DWG (AutoCAD)
What it is: Drawing formats from AutoCAD (engineering/architecture software), often used for cadastral data, infrastructure plans, and survey work.
Why Engineers Use CAD, Not GIS
CAD paradigm:
- Precise drafting (millimeter accuracy)
- Layers: Organize by drawing element (line weight, color)
- No coordinate systems: Local grid or engineering coordinates
- Symbology: Stored as drawing style, not attributes
GIS paradigm:
- Geographic reference: Lat/lon, projected CRS
- Layers: Organize by feature type (roads, buildings)
- Attributes: Data tables linked to features
When You'll Encounter CAD
- Cadastral data: Property boundaries, parcel maps
- Infrastructure: Utility networks, pipelines, roads (as-built)
- Survey data: Land surveying, construction sites
- Building footprints: Architectural site plans
The DXF vs. DWG Problem
DWG (.dwg):
- Proprietary Autodesk format
- Binary, compressed
- Requires AutoCAD or Autodesk license for full access
DXF (.dxf):
- Open exchange format (ASCII or binary)
- Readable by most CAD/GIS software
- Lower precision, larger files
Working with CAD in QGIS
Import DXF:
- Add Vector Layer → Select
.dxffile - QGIS imports as multiple layers:
entities: All featurespolylines: Line featurespolygons: Closed shapespoints: Point featuresannotations: Text labels
Problems:
- No CRS: Coordinates usually in local grid (feet, meters)
- Attributes minimal: CAD "attributes" != GIS attributes
- Styling: Colors/line weights, not meaningful symbology
- Topology: Gaps, overlaps common (CAD drafting not spatially precise)
Georeferencing CAD Data
If coordinates are geographic (rare):
- Assign CRS: Layer Properties → CRS → Set to EPSG code
If coordinates are local grid:
- Use Georeferencer plugin
- Match CAD control points to known geographic coordinates
- Transform to geographic CRS
Converting CAD to GIS
ogr2ogr -f "ESRI Shapefile" output.shp input.dxf -s_srs EPSG:2227 -t_srs EPSG:4326
Best practice:
- Import DXF to QGIS
- Assign CRS (if known)
- Clean topology (fix gaps, overlaps)
- Add meaningful attributes
- Export to shapefile/GeoPackage
Recommendation: CAD data requires significant cleaning before GIS use. Budget time for data prep.
6. GML (Geography Markup Language)
What it is: XML-based OGC standard for encoding geographic features.
Structure
Verbose XML:
<gml:FeatureCollection>
<gml:featureMember>
<app:County>
<app:name>Santa Clara County</app:name>
<app:population>1936259</app:population>
<app:geometry>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
-122.0 37.0 -121.0 37.0 -121.0 38.0 -122.0 38.0 -122.0 37.0
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</app:geometry>
</app:County>
</gml:featureMember>
</gml:FeatureCollection>
Why It Exists
- OGC standard: Official geography encoding
- Interoperability: Cross-platform data exchange
- Web services: WFS responses often GML
- Government mandates: Some countries require GML
Why You Won't Use It
Problems:
- Extremely verbose: 10-100× larger than shapefile/GeoJSON
- Slow parsing: XML overhead
- Human-unreadable: Too complex
- Better alternatives: GeoJSON simpler, faster, smaller
When You'll Encounter It
- WFS service responses (government data portals)
- INSPIRE directive (European spatial data infrastructure)
- Official government datasets (mandated format)
Handling GML
QGIS:
- Add Vector Layer → Select
.gmlfile - QGIS handles transparently (GDAL driver)
Convert to useful format:
ogr2ogr -f GeoJSON output.geojson input.gml
Recommendation: Immediately convert to GeoJSON or GeoPackage. GML is technically correct but painful to work with.
7. Miscellaneous Oddities
SpatiaLite (.sqlite)
- SQLite + spatial extensions (predecessor to GeoPackage)
- Open-source (unlike Esri geodatabase)
- QGIS native support
- Use GeoPackage instead (newer, better standard)
Coverage (Arc/INFO Coverage)
- Ancient Esri format (1980s-1990s)
- Directory structure (like .gdb but older)
- Topology-enabled (advanced spatial relationships)
- Convert to shapefile/geodatabase if encountered
TIGER/Line Files (.shp with weird attributes)
- U.S. Census Bureau format
- Shapefiles with cryptic field names (
STATEFP,COUNTYFP,TRACTCE) - Topologically integrated (edges, nodes, faces)
- Documentation required to understand attributes
Lidar Formats (LAS/LAZ)
- Not strictly "GIS formats" (point clouds)
- LAS: Uncompressed lidar points
- LAZ: Compressed LAS (use this)
- QGIS support: Install Point Cloud Processing plugin
- Week 06 material (terrain/3D analysis)
The Bottom Line
You won't create these formats, but you'll encounter them in:
- Legacy archives (government, university, corporate)
- Multi-platform workflows (engineers using CAD, scientists using .gdb)
- International data portals (GML mandates)
- Old projects revived after years
Best practice: Convert to modern open formats immediately:
- .gdb → GeoPackage (open standard, similar features)
- .mdb → GeoPackage (escape the Access nightmare)
- .tab → Shapefile or GeoPackage (wider support)
- .e00 → Shapefile (modernize ancient data)
- .dxf → Shapefile + cleaning (CAD ≠ GIS)
- .gml → GeoJSON (readability, performance)
Key takeaway: Spatial data formats are like archaeological layers—each era leaves its mark. Modern GIS is built on decades of legacy formats. Knowing how to convert them is survival skill.
See Also
- Week 00: Shapefile (the workhorse)
- Week 01: GeoJSON (modern web standard)
- Week 03: GeoPackage (modern database alternative)
- GDAL Format List — Comprehensive format support
- ogr2ogr — Universal conversion tool
- File Geodatabase API — Read .gdb programmatically