Страница 1 из 1

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

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

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

Добавлено: 31 мар 2016, 06:26
paleogis
Qgis-ом не получается?

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

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 КБ) 9074 просмотра

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

Добавлено: 31 мар 2016, 11:27
Denis Rykov
А откуда столько невалидных LINESTRING-ов по типу:

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

LINESTRING (3293527.12 592884.27)
Я мельком посмотрел - именно эти невалидные LINESTRING подмешиваются к POLYGON, может имеет смысл это пофиксить и тогда сохранить геометрии как MULTI* вместо GEOMETRYCOLLECTION?

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]]}]}}]}

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

Добавлено: 31 мар 2016, 11:47
Denis Rykov
Как насчёт:

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

ogr2ogr -f GeoJSON -explodecollections target.geojson source.geojson

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

Добавлено: 31 мар 2016, 12:42
Филиппов Владислав
сработало!
а на JavaScript походу такого не сделать....
буду делать цикл по кол-ву элементов коллекции и создавать такое же количество фич

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

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

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

Добавлено: 19 апр 2016, 06:56
Oval
скажите в личку где берете росреестровский GeoJSON

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

Добавлено: 19 апр 2016, 07:33
Филиппов Владислав
вот тут и получаю :lol: https://github.com/filippov70/cadastre-parser