Переконвертировать файл .csv в shp
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 09 июн 2009, 11:08
- Репутация: 0
Переконвертировать файл .csv в shp
Здравствуйте! Есть такая задачка - переконвертировать файл .csv (ну или его модификацию с расширением .xy) в .shp\.mif\.tab\catd.ddf\.gml (собственно в форматы которые понимает QuantumGIS). При этом желательно пользоваться только средствами ОС Linux (в частности Ubuntu). Насколько я убедился, бороздя просторы интернета, лучшим вариантом будет ogr2ogr. Была одна программа под Windows CSVtoSHP (собственно это и требуется), но она не справилась со своей задачей да и речь сейчас не о ней. Можете подсказать саму команду?
Дополню что из shp в mif все успешно перегоняется, а вот как ни мучался со своим .xy - ну никак Может быть сам файл недостаточно информативен для конвертора? Собственно вот пример его тела:
>
47.7313 41.0245
47.68613 41.431
>
47.90113 41.448
47.84313 41.458
47.788513 41.4845
47.672513 41.5405
47.58913 41.589
47.48713 41.6475
47.4413 41.703
47.40713 41.759
47.37113 41.8125
Проще некуда - это просто линии разломов. Собственно все что имеется и все что надо получить в итоге - это точки\линии с заданными координатами - 1ая строка х и у 1ые, 2ая строка х и у 2ые. Стоит ли как-нибудь его модифицировать и по какому принципу?
Так же, попытка модификации подобного файла к виду:
ORGANIZATION: ***
MAP NAME: Faults test
VERTI:
B 2
985.648 25.8078
978.198 70.602
B 9
995.939 73.9654
991.02 74.6717
986.232 77.2352
976.08 82.6597
968.718 87.4831
959.735 93.3023
955.45 99.163
952.133 105.157
948.691 110.863
Не привела к успеху
Вариант,
Latitude,Longitude,Name
48.1,0.25,"First point"
49.2,1.1,"Second point"
47.5,0.75,"Third point"
аналогично - не хочет конвертироватся. Ошибка стандартна для всех попыток:
FAILURE:
Unable to open datasource `***'(не важно - shp или mif) with the following drivers.
-> GRASS -> ESRI Shapefile -> MapInfo File -> UK .NTF -> SDTS -> TIGER -> S57 -> DGN -> VRT -> REC -> Memory
-> BNA -> CSV -> GML -> GPX -> KML -> GeoJSON -> Interlis 1 -> Interlis 2 -> GMT -> SQLite -> ODBC -> PGeo
-> OGDI -> PostgreSQL -> MySQL -> AVCBin
Может ли кто-нибудь чем-то помочь\подсказать? Буду признателен!!
Дополню что из shp в mif все успешно перегоняется, а вот как ни мучался со своим .xy - ну никак Может быть сам файл недостаточно информативен для конвертора? Собственно вот пример его тела:
>
47.7313 41.0245
47.68613 41.431
>
47.90113 41.448
47.84313 41.458
47.788513 41.4845
47.672513 41.5405
47.58913 41.589
47.48713 41.6475
47.4413 41.703
47.40713 41.759
47.37113 41.8125
Проще некуда - это просто линии разломов. Собственно все что имеется и все что надо получить в итоге - это точки\линии с заданными координатами - 1ая строка х и у 1ые, 2ая строка х и у 2ые. Стоит ли как-нибудь его модифицировать и по какому принципу?
Так же, попытка модификации подобного файла к виду:
ORGANIZATION: ***
MAP NAME: Faults test
VERTI:
B 2
985.648 25.8078
978.198 70.602
B 9
995.939 73.9654
991.02 74.6717
986.232 77.2352
976.08 82.6597
968.718 87.4831
959.735 93.3023
955.45 99.163
952.133 105.157
948.691 110.863
Не привела к успеху
Вариант,
Latitude,Longitude,Name
48.1,0.25,"First point"
49.2,1.1,"Second point"
47.5,0.75,"Third point"
аналогично - не хочет конвертироватся. Ошибка стандартна для всех попыток:
FAILURE:
Unable to open datasource `***'(не важно - shp или mif) with the following drivers.
-> GRASS -> ESRI Shapefile -> MapInfo File -> UK .NTF -> SDTS -> TIGER -> S57 -> DGN -> VRT -> REC -> Memory
-> BNA -> CSV -> GML -> GPX -> KML -> GeoJSON -> Interlis 1 -> Interlis 2 -> GMT -> SQLite -> ODBC -> PGeo
-> OGDI -> PostgreSQL -> MySQL -> AVCBin
Может ли кто-нибудь чем-то помочь\подсказать? Буду признателен!!
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Примеры использования ogr2ogr
0. Пусть файл называется points.txt. Разделителем должна быть запятая.
1. Добавить в файл первой строкой шапку, например:2. Составить VRT описание. Это файл, скажем points.vrt, в xml формате:
3. Запустить ogr2ogr:
Обратите внимание, исходный файл - VRT
В результате будут точки. Чтобы получить линии, нужно задать:
GeometryType - wkbLineString
GeometryField encoding - WKT
И запись в файле должна быть в формате WKT
Как то так:
Но с линиями мне работать не приходилось.
Почитать:
Virtual File Format - http://www.gdal.org/ogr/drv_vrt.html
Comma Separated Value - http://www.gdal.org/ogr/drv_csv.html
1. Добавить в файл первой строкой шапку, например:
Код: Выделить всё
"X","Y"
985.648,25.8078
978.198,70.602
Код: Выделить всё
<OGRVRTDataSource>
<OGRVRTLayer name="points">
<SrcDataSource>points.txt</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="X" y="Y"/>
</OGRVRTLayer>
</OGRVRTDataSource>
Код: Выделить всё
ogr2ogr.exe ^
-f "ESRI Shapefile" ^
-s_srs "epsg:4326" ^
-t_srs "epsg:900913" ^
points.shp points.vrt
В результате будут точки. Чтобы получить линии, нужно задать:
GeometryType - wkbLineString
GeometryField encoding - WKT
И запись в файле должна быть в формате WKT
Как то так:
Код: Выделить всё
"wkt"
LINESTRING(985.648 25.8078,978.198 70.602)
Почитать:
Virtual File Format - http://www.gdal.org/ogr/drv_vrt.html
Comma Separated Value - http://www.gdal.org/ogr/drv_csv.html
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 09 июн 2009, 11:08
- Репутация: 0
Re: Примеры использования ogr2ogr
Спасибо за ответ!
К сожалению исход тот же -
ERROR 1: Failed to open datasource `points.txt'.
FAILURE:
Unable to open datasource `points.vrt' with the following drivers.
Задал все как по инструкции. Ощущение такое что ogr воспринимает только mif и shp адекватно. Может необходимы библиотеки\модули?В чем может быть проблема?
К сожалению исход тот же -
ERROR 1: Failed to open datasource `points.txt'.
FAILURE:
Unable to open datasource `points.vrt' with the following drivers.
Задал все как по инструкции. Ощущение такое что ogr воспринимает только mif и shp адекватно. Может необходимы библиотеки\модули?В чем может быть проблема?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Примеры использования ogr2ogr
Если не сложно, выложите ваш исходный файл, который нужно сконвертировать.
Spatial is now, more than ever, just another column- The Geometry Column.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Примеры использования ogr2ogr
Ждем файл и какая у вас версия ogr [например, gdalinfo --version], потому что он быстро развивается
лангольеры под окном жрали время ом-ном-ном
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Примеры использования ogr2ogr
У меня вот такой вариант работает
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 09 июн 2009, 11:08
- Репутация: 0
Re: Примеры использования ogr2ogr
GDAL 1.5.4, released 2009/01/07
Mavka, да - ваш последний вариант работает и у меня (по крайней мере ошибку не выдает). Только выходной файл получается только .dbf и .prj, если же убрать SRSы - только .dbf. Есть ли варианты как создать оставшиеся .shp и .shx (для Qgisа их наличие необходимо). Кстати, попробоDFK переконвертировать оный пример в .mif - удачно, вот только Qgis его не отображает. А при конвертации в GML формат - получается такой файл:
<ogr:FeatureCollection xsi:schemaLocation="http://ogr.maptools.org/data.xsd">
−
<gml:featureMember>
−
<ogr:data fid="F0">
<ogr:WKT>LINESTRING(47.90113 41.448,47.84313 41.458)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
−
<gml:featureMember>
−
<ogr:data fid="F1">
<ogr:WKT>LINESTRING(47.788513 41.4845,47.672513 41.5405)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
−
<gml:featureMember>
−
<ogr:data fid="F2">
<ogr:WKT>LINESTRING(47.58913 41.589,47.48713 41.6475)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
−
<gml:featureMember>
−
<ogr:data fid="F3">
<ogr:WKT>LINESTRING(47.4413 41.703,47.40713 41.759)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
</ogr:FeatureCollection>
Добавил файлы.
Mavka, да - ваш последний вариант работает и у меня (по крайней мере ошибку не выдает). Только выходной файл получается только .dbf и .prj, если же убрать SRSы - только .dbf. Есть ли варианты как создать оставшиеся .shp и .shx (для Qgisа их наличие необходимо). Кстати, попробоDFK переконвертировать оный пример в .mif - удачно, вот только Qgis его не отображает. А при конвертации в GML формат - получается такой файл:
<ogr:FeatureCollection xsi:schemaLocation="http://ogr.maptools.org/data.xsd">
−
<gml:featureMember>
−
<ogr:data fid="F0">
<ogr:WKT>LINESTRING(47.90113 41.448,47.84313 41.458)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
−
<gml:featureMember>
−
<ogr:data fid="F1">
<ogr:WKT>LINESTRING(47.788513 41.4845,47.672513 41.5405)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
−
<gml:featureMember>
−
<ogr:data fid="F2">
<ogr:WKT>LINESTRING(47.58913 41.589,47.48713 41.6475)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
−
<gml:featureMember>
−
<ogr:data fid="F3">
<ogr:WKT>LINESTRING(47.4413 41.703,47.40713 41.759)</ogr:WKT>
<ogr:ID>1</ogr:ID>
</ogr:data>
</gml:featureMember>
</ogr:FeatureCollection>
Добавил файлы.
- Вложения
-
- exmpl.zip
- (3.38 КБ) 1567 скачиваний
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Примеры использования ogr2ogr
Ваша проблема в том, что вы используете не самую последнюю версию GDAL и описанные симптомы это подтверждают. Установите GDAL с помощью osgeo4w, выполните команды:Methuselah писал(а):GDAL 1.5.4, released 2009/01/07
Код: Выделить всё
PATH=C:\OSGeo4W\apps\gdal-dev\bin\;%PATH%
set PYTHONPATH=C:\OSGeo4W\apps\gdal-dev\pymod
Код: Выделить всё
gdalinfo --version
Spatial is now, more than ever, just another column- The Geometry Column.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Переконвертировать файл .csv в shp
В OSGeo4W этот пакет называется 'gdal-dev'.
Они действительно очень многое меняли по части CSV и VRT
Они действительно очень многое меняли по части CSV и VRT
лангольеры под окном жрали время ом-ном-ном
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей