Atlaslog
Atlaslog / Field Notes / Loading & display
Field note · Loading & display

Shapefile without .prj read as lat/lon and lands 500 km east of Xi'an

Quick answer

Only .shp, .shx and .dbf were delivered, and the .shp header stores no coordinate system. GDAL falls back to EPSG:4326, so metre values around 500000 become 500000 degrees and the polygons appear near the West African coast.

Last verified 2026-11-03 · Multiple versions · Cite this page
Applies to: GDAL 3.6 · QGIS 3.34 · ArcGIS Pro 3.x
Symptom
Checklist
  1. Check the directory for a .prj whose filename matches the .shp exactly, including case.
  2. Read the coordinate magnitude: x near 500000 with y in the millions means a Gauss-Kruger or UTM projection.
  3. Derive the central meridian from x minus 500000 and the latitude from y, since 3780000 implies about 34.3 degrees north.
  4. Look for accompanying metadata or result tables that state the original coordinate system.
  5. Run ogrinfo -al -so to confirm the SRS is unknown before editing anything.
Fix

Write a WKT .prj with the matching name for CGCS2000 3-degree Gauss-Kruger CM 108E with false easting 500000, or rewrite in one step with ogr2ogr -f 'ESRI Shapefile' fixed districts.shp -a_srs EPSG:4546. No coordinate transformation is needed because the geometry values are intact.

Code
# 查看是否有坐标系信息
ogrinfo -al -so districts.shp
# 输出中若为 Layer SRS WKT: (unknown) 即缺 .prj

# 用坐标反推:x=500000 -> 中央经线上;y=3800000 -> 北纬约 34.3
PROJCS["CGCS2000_3_Degree_GK_CM_108E",
  GEOGCS["China Geodetic Coordinate System 2000",
    DATUM["China_2000", SPHEROID["CGCS2000",6378137,298.257222101]],
    PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433]],
  PROJECTION["Transverse_Mercator"],
  PARAMETER["latitude_of_origin",0],
  PARAMETER["central_meridian",108],
  PARAMETER["scale_factor",1],
  PARAMETER["false_easting",500000],
  PARAMETER["false_northing",0],
  UNIT["metre",1]]
Watch out
All 120 field notesChinese originalRunnable examples
English edition written for Atlaslog from the original Chinese field note. Code is unchanged and runs as-is.
Cite this page

Atlaslog (2026). Shapefile without .prj read as lat/lon and lands 500 km east of Xi'an. https://www.jingweizhi.com/en/cookbook/shapefile-prj-missing.html (accessed 2026-11-03).