Skip to content

Instantly share code, notes, and snippets.

@benbalter
Last active April 23, 2024 13:16
Show Gist options
  • Star 88 You must be signed in to star a gist
  • Fork 30 You must be signed in to fork a gist
  • Save benbalter/5858851 to your computer and use it in GitHub Desktop.
Save benbalter/5858851 to your computer and use it in GitHub Desktop.
Bulk convert shapefiles to geojson using ogr2ogr
# Bulk convert shapefiles to geojson using ogr2ogr
# For more information, see http://ben.balter.com/2013/06/26/how-to-convert-shapefiles-to-geojson-for-use-on-github/
# Note: Assumes you're in a folder with one or more zip files containing shape files
# and Outputs as geojson with the crs:84 SRS (for use on GitHub or elsewhere)
#geojson conversion
function shp2geojson() {
ogr2ogr -f GeoJSON -t_srs crs:84 "$1.geojson" "$1.shp"
}
#unzip all files in a directory
for var in *.zip; do unzip "$var"; done
#convert all shapefiles
for var in *.shp; do shp2geojson ${var%\.*}; done
# You'd probably want to `mv *.geojson [path-to-git-repo]/` at this point
# so you could commit the file to GitHub
# Happy mapping!
@chopper26
Copy link

gembel

@planemad
Copy link

Heres a simple one liner if you already have a folder containing all the .shp that you want converted. Just cd into the folder containing the shapefiles and run this:

for filename in ./*.shp; do mkdir -p geojson; ogr2ogr -f "GeoJSON" "./geojson/$filename.geojson" "$filename";done

Install gdal if you get a ogr2ogr command not found error: https://gdal.org/download.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment