как открыть GeoJSON c GeometryCollection

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

как открыть GeoJSON c GeometryCollection

Сообщение Филиппов Владислав » 31 мар 2016, 06:07

добрый день!
Как на десктопе открыть GeoJSON для дальнейшего сохранения в shapefile, где геометрия объектов представляет из себя GeometryCollection. например, [LineString, LineString, LineString, Polygon]?

Аватара пользователя
paleogis
Модератор
Сообщения: 1112
Зарегистрирован: 22 мар 2009, 08:54
Репутация: 200
Ваше звание: Модератоо

Re: как открыть GeoJSON c GeometryCollection

Сообщение paleogis » 31 мар 2016, 06:26

Qgis-ом не получается?

[ Сообщение с мобильного устройства ]

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: как открыть GeoJSON c GeometryCollection

Сообщение Филиппов Владислав » 31 мар 2016, 06:44

нет.
doc2161974.xml_RealtyGC.geojson.7z
пример такого GeoJSON
(82.84 КБ) 425 скачиваний
QGIS2.14.1-Essen_001.png
QGIS2.14.1-Essen_001.png (141.35 КБ) 9063 просмотра

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: как открыть GeoJSON c GeometryCollection

Сообщение Denis Rykov » 31 мар 2016, 11:27

А откуда столько невалидных LINESTRING-ов по типу:

Код: Выделить всё

LINESTRING (3293527.12 592884.27)
Я мельком посмотрел - именно эти невалидные LINESTRING подмешиваются к POLYGON, может имеет смысл это пофиксить и тогда сохранить геометрии как MULTI* вместо GEOMETRYCOLLECTION?
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: как открыть GeoJSON c GeometryCollection

Сообщение Филиппов Владислав » 31 мар 2016, 11:36

Есть ещё недоработки у меня. Да и в самих файлах Росреестра бывают перлы.
Вот, есть маленький файл, тоже QGIS его не показывает, но таблица атрибутов есть. если выделить объект, то модуль Geometry Exporter полнимает его геометрию.

Код: Выделить всё

{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"cadastreNumber":"70:01:0000012:3642","AssignationName":"Иное сооружение (Станция подпорная насосная НПС «Александровская»)","Address":{"Note":"Томская обл., р-н Александровский, НПС «Александроваская», строение № 302/614"}},"geometry":{"type":"GeometryCollection","geometries":[{"type":"Polygon","coordinates":[[[2218008.58,834926.64],[2218012.97,834925.9],[2218012.23,834921.49],[2218007.83,834922.22],[2218008.58,834926.64]]]},{"type":"Polygon","coordinates":[[[2218059.53,834962.38],[2218155.5,834945.5],[2218153.9,834936.2],[2218264.65,834917.15],[2218264.37,834915.47],[2218153.61,834934.53],[2218144.16,834879.65],[2217992.02,834905.84],[2217994.85,834922.29],[2218013.79,834919.03],[2218015.65,834929.78],[2218008.15,834931.06],[2218009.1,834936.59],[2218010.78,834936.31],[2218010.11,834932.45],[2218029.75,834929.08],[2218034.31,834955.55],[2218049.88,834952.87],[2218051.48,834962.18],[2218059.53,834962.38]]]},{"type":"Polygon","coordinates":[[[2218017.32,834929.49],[2218029.46,834927.4],[2218027.61,834916.65],[2218015.47,834918.74],[2218017.32,834929.49]]]},{"type":"Polygon","coordinates":[[[2218235.74,834853.31],[2218248.29,834851.15],[2218248.17,834850.45],[2218250.01,834850.14],[2218249.27,834845.73],[2218247.41,834846.04],[2218245.51,834835.02],[2218251.26,834834.03],[2218251.01,834832.55],[2218233.57,834835.55],[2218233.11,834832.93],[2218228.72,834833.68],[2218229.48,834838.1],[2218233.07,834837.48],[2218235.74,834853.31]]]}]}},{"type":"Feature","properties":{"cadastreNumber":"70:01:0000012:5586","AssignationName":"Cооружения электроэнергетики","Address":{"Note":"Томская область, Александровский район, Советское месторождение"}},"geometry":{"type":"GeometryCollection","geometries":[{"type":"LineString","coordinates":[[2220498.57,836268.86],[2220499.38,836266.44],[2220505.17,836250.13],[2220541.82,836231.21],[2220582.36,836210.04],[2220617.54,836191.36],[2220622.32,836157.67],[2220628.88,836115.05],[2220623.45,836076.54],[2220643.85,836071.47],[2220642.47,836022.78],[2220641.61,835977.32],[2220639.77,835932.77],[2220638.37,835887.98],[2220637.13,835842.86],[2220635.99,835797.4],[2220634.04,835752.51],[2220632.71,835708.84],[2220631.58,835663.94],[2220630.44,835618.6],[2220624.11,835582.54],[2220618.22,835547.94],[2220584.2,835516.35],[2220552.46,835485.52],[2220507.26,835444.44],[2220467.47,835406.77],[2220432.89,835374.63]]}]}}]}

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: как открыть GeoJSON c GeometryCollection

Сообщение Denis Rykov » 31 мар 2016, 11:47

Как насчёт:

Код: Выделить всё

ogr2ogr -f GeoJSON -explodecollections target.geojson source.geojson
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: как открыть GeoJSON c GeometryCollection

Сообщение Филиппов Владислав » 31 мар 2016, 12:42

сработало!
а на JavaScript походу такого не сделать....
буду делать цикл по кол-ву элементов коллекции и создавать такое же количество фич

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: как открыть GeoJSON c GeometryCollection

Сообщение freeExec » 18 апр 2016, 17:18

Ещё когда конвертировал дома из открытых данных Москвы, оказалось, что QGIS не переваривает коллекцию больше чем 65к элементов.

Oval
Участник
Сообщения: 64
Зарегистрирован: 30 дек 2014, 14:40
Репутация: 15

Re: как открыть GeoJSON c GeometryCollection

Сообщение Oval » 19 апр 2016, 06:56

скажите в личку где берете росреестровский GeoJSON

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: как открыть GeoJSON c GeometryCollection

Сообщение Филиппов Владислав » 19 апр 2016, 07:33

вот тут и получаю :lol: https://github.com/filippov70/cadastre-parser

Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей