2013-10-25 8 views
1

У меня есть список формальных файлов, которые я хочу преобразовать в geoJSON. Я использую оболочку GDAL OSGeo4W для преобразования.Looping через shapefiles в GDAL OSGeo4W

Во-первых, я определяю систему координат (поскольку они arent определены для шейп-файлов), то я их конвертирую.

Я могу сделать это для отдельных файлов легко, однако, поскольку у меня есть более 200 шейп-файлов, я хочу их пропустить.

Мои отдельные команды:

ogr2ogr -s_srs http://spatialreference.org/ref/epsg/27700/ srs_def x.shp 

ogr2ogr -f GeoJSON -t_srs EPSG:27700 x.geojson x.shp 

ответ

1

Сделать либо пакетный скрипт для запуска в главном OSGeo4w оболочки или скрипт для запуска в оболочке MSYS. Для того, чтобы получить представление о том, что они похожи, см https://gis.stackexchange.com/a/7806/1872

0

легкий способ пакетной GDAL или команды OGr является использование питона (вы можете использовать его непосредственно в OSGeo4w, запустив питон):

import os 
os.system('ogr2ogr -s_srs http://spatialreference.org/ref/epsg/27700/ srs_def x.shp') 
os.system('ogr2ogr -f GeoJSON -t_srs EPSG:27700 x.geojson x.shp') 

Тогда , вы можете просто создать простой цикл.