Угу, когда местное самоуправление намеренно уничтожено или превращено в фикцию, конечно, уже никакого смысла в районах нет.
http://data.mos.ru/opendata/7705031674-adresniy-reestr-zdaniy-i-soorujeniy-v-gorode-moskve/data/map?versionNumber=1&releaseNumber=1
Опубликован “Адресный реестр зданий и сооружений города Москвы”, с адресами и геометриями.
Допустимо ли это?
http://api.data.mos.ru/Home/Terms
http://gis-lab.info/qa/data-mos.html
Геометрию назвать точной весьма сложно. Есть прецеденты рисования зданий вместе с забором, например. Во всяких задницах типа промзон (куда как раз вечно тянет всяких “благодетелей” копировать данные из Яндекса и т.п.) - полно фантазий.
Актуальность также сомнительна. Скажем, я нашел здания, которые построены год назад, но также нашел здания, которые снесены больше года назад.
ДИТ Москвы явно разрешил использование любого наборы из своего портала открытых данных, включая этот: http://shtosm.ru/all/otkrytaya-moskva/
Я правильно понял, что теперь можно с этой карты http://data.mos.ru/opendata/7705031674-adresniy-reestr-zdaniy-i-soorujeniy-v-gorode-moskve/data/map?versionNumber=1&releaseNumber=1 адреску брать?
Да.
Прекрасно! первым делом добавлю адреску на бывшие фабрики, превращенные в бизнес-парки.
Данные не очень точные, обнаружил несколько зданий, которые были снесены пару лет назад, но в данных присутвуют. Репорты отправил.Так-что нужно быть внимательным при внесении.
Ну и было бы неплохо сделать валидатор или добавить в какой-либо из существующих для сравнения и актуализации данных.
С карты, которая одна из подложек - нельзя. Это карта Геоцентр-консалтинг.
Можно - со слоя зданий, который поверх нее (то есть с тех зданий, которые нарисованы бледно-зеленым и на которых для получения адреса нужно щелкнуть). Но внимательно, потому что там очень много бреда.
Собственно, сейчас сервис отдает вот такой GeoJSON:
[{
"Id": "904c422c-e6ae-4174-901c-9b794cf57a1d",
"Number": 1,
"Cells": {
"global_id": 21113351,
"UNOM": 3806317,
"KAD_RN": 0,
"KAD_KV": 0,
"KAD_ZU": 0,
"KADNOMZU": null,
"DMT": "37",
"VLD": "Дом",
"KRT": null,
"STRT": "5",
"SOOR": "Строение",
"TDOC": "Распоряжение префектуры АО города Москвы",
"NDOC": "01-41-1871",
"DDOC": "30.06.2005",
"NREG": 5012571,
"DREG": "27.07.2005",
"VYVAD": "адрес утвержден распорядительным документом",
"ADRES": "Варшавское шоссе, дом 37, строение 5",
"AdmArea": ["Южный административный округ"],
"geoData": {
"type": "Polygon",
"coordinates": [[[37.623700531000054,
55.689611498000033],
[37.623668649000024,
55.689897889000065],
[37.624152872000025,
55.689915085000052],
[37.62418475000004,
55.689628704000029],
[37.623700531000054,
55.689611498000033],
[37.623700531000054,
55.689611498000033]]]
}
}
}]
И это у меня никто не открывает - ни QGIS, ни GlobalMapper, ни geojson.io
Попробовал перетащить вручную данные в редактор на geojson.io и получилось вот такое, оно открывается везде:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
"global_id": 21113351,
"UNOM": 3806317,
"KAD_RN": 0,
"KAD_KV": 0,
"KAD_ZU": 0,
"KADNOMZU": null,
"DMT": "37",
"VLD": "Дом",
"KRT": null,
"STRT": "5",
"SOOR": "Строение",
"TDOC": "Распоряжение префектуры АО города Москвы",
"NDOC": "01-41-1871",
"DDOC": "30.06.2005",
"NREG": 5012571,
"DREG": "27.07.2005",
"VYVAD": "адрес утвержден распорядительным документом",
"ADRES": "Варшавское шоссе, дом 37, строение 5"
},
"geometry": {
"type": "Polygon",
"coordinates": [[[37.623700531000054,
55.68961149800003],
[37.623668649000024,
55.689897889000065],
[37.624152872000025,
55.68991508500005],
[37.62418475000004,
55.68962870400003],
[37.623700531000054,
55.68961149800003],
[37.623700531000054,
55.68961149800003]]]
}
}]
}
Кто-нибудь может сходу сказать, как минимально переформатировать исходное безобразие, чтобы это был валидный GeoJSON с атрибутами?
Могу попробовать перегнать всю базу в нормальный вид, если буду понимать, что исправлять.
Пока скачал себе все, что есть, для экспериментов.
Сходу это чисто работа с текстом? Потому, что мне кажется проще смапить что есть в объект, а потом сереализовать его в json с новыми правилами.
Ах, да, нужен ещё более сложный корпусной пример, где “Number”: 2+
Надо найти способ затащить их 200-меговый json в PostGIS, а дальше у него есть функция GeomFromJSON, и можно будет экспортировать во что угодно через ogr.
Или хотя бы найти потоковый парсер, чтобы сконвертировать json в csv.
А где скачать их 200Мб файл?
Я не программист, так что пользуюсь одними только рег. выражениями. Так что да, работа с текстом.
Пример с “Number”: 2+ не нужен, потому что кроме числа там ничего не меняется. Это поле - просто порядковый номер записи в их базе.
Еще можно так (для винды):
for /L %F in (0,500,148000) do wget "http://api.data.mos.ru/v1/datasets/1927/rows?$top=500&$orderby=Number&$skip=%F" --output-document="%F.json"
Но оно так отдает порциями по 500 записей.
Я пишу конвертер к тому, что trolleway
В нормальный GeoJSON?
Ну я как бы не стал поднимать спецификацию на нормальный, будет как ты показал.