Вибір типів функцій при використанні ogr2ogr для перетворення у shapefile?


22

Shapefiles може мати лише один тип геометрії, але багато інших форматів (kml, geojson) можуть мати декілька типів.

Під час переходу до форм-файлів, чи можна сказати ogr2ogr для створення декількох файлів форм, по одному для кожного типу?

Здається, що варіант "-where" може бути корисним, але довідкова сторінка не пояснює синтаксис.

Наприклад, ось команда, яка не працює:

$ wget http://a841-tfpweb.nyc.gov/jackson-heights/wp-content/themes/tfp/kml/transit.kml
$ ogr2ogr -f "ESRI Shapefile" transit.shp transit.kml
Warning 6: Normalized/laundered field name: 'Description' to 'Descriptio'
ERROR 1: Attempt to write non-linestring (POINT) geometry to ARC type shapefile.
ERROR 1: Terminating translation prematurely after failed
translation of layer Transit (use -skipfailures to skip errors)

Відповіді:


21

З'ясував це, прочитавши документацію OGR SQL за адресою http://www.gdal.org/ogr/ogr_sql.html

Це працює, використовуючи одну команду та один вихідний файл на тип геометрії:

$ ogr2ogr -where "OGR_GEOMETRY='Point'" -f "ESRI Shapefile" transit_points.shp transit.kml
$ ogr2ogr -where "OGR_GEOMETRY='LineString'" -f "ESRI Shapefile" transit_linestrings.shp transit.kml

4

Якщо outputпараметр є каталогом замість імені файлу, ogr2ogr автоматично перетворить усі типи геометрії в окремі файли форм:

ogr2ogr out_dir d:\incoming\nhn_09AA001_1_0.gml

На жаль, для ОП це не працює для KML, але це стосується деяких інших форматів декількох типів геометрії, таких як ArcInfo Coverage та GML. Опублікуйте тут, тому що це найбільше проголосованих питань щодо вибору типу геометрії.

D:\>dir /s/b converted\*.shp

D:\converted\NHN_HD_ISLAND_2.shp
D:\converted\NHN_HD_MANMADE_0.shp
...
D:\converted\NHN_TO_NAMEDFEA_0.shp
D:\converted\NHN_WORKUNIT_LIMIT_2.shp

-1

ogr2ogr: перетворити один kml у shapefile:

ogr2ogr -f "ESRI Shapefile" C: \ kml \ LJ0047.shp C: \ kml \ LJ0047_.kml

ogr2ogr: конвертувати декілька файлів kml у shapefiles:

для% f в (* .kml) зробити ogr2ogr -f "ESRI Shapefile"% ~ nf.shp% f

Необхідно отримати доступ до папки введення.


Дякую, але це не питання, яке я задавав.
slinkp
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.