Skip to main content

GeoJSON

GeoJSON is a JSON-based format for encoding geographic data structures, widely used in web mapping applications.

Driver Metadata​

PropertyValue
Short NameGeoJSON
Long NameGeoJSON (RFC 7946)
Supported Sincev0.1.0
Status✅ Stable
File Extension.geojson, .json

Driver Capabilities​

  • ✅ Read Support: Full
  • ✅ Write Support: Full
  • ✅ Info Support: Yes
  • ✅ Geometry Types: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection
  • ✅ Coordinate Systems: WGS84 (EPSG:4326) by default

Format Description​

GeoJSON is a JSON-based format for encoding geographic data structures defined by RFC 7946.

Reading Data​

Get Information​

geoetl-cli info cities.geojson --driver GeoJSON

Output:

Dataset: cities.geojson
Driver: GeoJSON

=== Geometry Columns ===
+----------+-------------------+-----+
| Column | Extension | CRS |
+----------+-------------------+-----+
| geometry | geoarrow.geometry | N/A |
+----------+-------------------+-----+

=== Fields ===
+------------+--------+----------+
| Field | Type | Nullable |
+------------+--------+----------+
| name | String | Yes |
| population | Int64 | Yes |
| state | String | Yes |
+------------+--------+----------+

Convert from GeoJSON​

geoetl-cli convert \
--input data.geojson \
--output data.csv \
--input-driver GeoJSON \
--output-driver CSV

Writing Data​

Convert to GeoJSON​

geoetl-cli convert \
--input data.csv \
--output data.geojson \
--input-driver CSV \
--output-driver GeoJSON \
--geometry-column geometry

Supported Write Options​

Currently, GeoETL writes standard GeoJSON without additional options. Future versions may support:

  • Coordinate precision
  • Pretty printing
  • Bbox inclusion
  • CRS specification (RFC 7946 recommends WGS84 only)

Examples​

Example 1: Convert GeoJSON to CSV​

geoetl-cli convert \
-i cities.geojson \
-o cities.csv \
--input-driver GeoJSON \
--output-driver CSV

Example 2: Convert GeoJSON to GeoParquet​

geoetl-cli convert \
-i data.geojson \
-o data.parquet \
--input-driver GeoJSON \
--output-driver GeoParquet

Troubleshooting​

Invalid JSON Syntax​

Error: Parse error in GeoJSON at line 15

Cause: Malformed JSON (missing comma, bracket, quote)

Solution:

# Validate JSON syntax
cat data.geojson | jq . > /dev/null

# Or use Python
python3 -m json.tool data.geojson > /dev/null

Wrong Coordinate Order​

Problem: Points appear in wrong location

Cause: Coordinates in [latitude, longitude] instead of [longitude, latitude]

Solution: Verify coordinate order in source file. GeoJSON specification requires [longitude, latitude] order.

Format Specification​

See Also​

Tutorials:

Other Drivers:

Reference:

References​