Нормализованные данные с портала открытых данных Москвы: различия между версиями
Строка 90: | Строка 90: | ||
! | Оригинал | ! | Оригинал | ||
! | Данные | ! | Данные | ||
|- | |- | ||
| 493 | | 493 | ||
| [http://data.mos.ru/datasets/493 Дома культуры и клубы] | | [http://data.mos.ru/datasets/493 Дома культуры и клубы] | ||
| Досуг и отдых | | Досуг и отдых | ||
| | | 279 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/493.7z csv] | | [http://gis-lab.info/data/mos.ru/493.7z csv] | ||
Строка 126: | Строка 111: | ||
| [http://data.mos.ru/datasets/495 Кинотеатры] | | [http://data.mos.ru/datasets/495 Кинотеатры] | ||
| Досуг и отдых | | Досуг и отдых | ||
| | | 204 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/495.7z csv] | | [http://gis-lab.info/data/mos.ru/495.7z csv] | ||
Строка 134: | Строка 119: | ||
| [http://data.mos.ru/datasets/496 Молодежные центры] | | [http://data.mos.ru/datasets/496 Молодежные центры] | ||
| Досуг и отдых | | Досуг и отдых | ||
| | | 15 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/496.7z csv] | | [http://gis-lab.info/data/mos.ru/496.7z csv] | ||
Строка 166: | Строка 151: | ||
| [http://data.mos.ru/datasets/500 Районные инженерные службы] | | [http://data.mos.ru/datasets/500 Районные инженерные службы] | ||
| Жилищно-коммунальное хозяйство | | Жилищно-коммунальное хозяйство | ||
| | | 119 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/500.7z csv] | | [http://gis-lab.info/data/mos.ru/500.7z csv] | ||
Строка 174: | Строка 159: | ||
| [http://data.mos.ru/datasets/501 Аптеки] | | [http://data.mos.ru/datasets/501 Аптеки] | ||
| Здравоохранение | | Здравоохранение | ||
| | | 4123 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/501.7z csv] | | [http://gis-lab.info/data/mos.ru/501.7z csv] | ||
Строка 190: | Строка 175: | ||
| [http://data.mos.ru/datasets/503 Городские поликлиники] | | [http://data.mos.ru/datasets/503 Городские поликлиники] | ||
| Здравоохранение | | Здравоохранение | ||
| | | 265 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/503.7z csv] | | [http://gis-lab.info/data/mos.ru/503.7z csv] | ||
Строка 238: | Строка 223: | ||
| [http://data.mos.ru/datasets/509 Женские консультации] | | [http://data.mos.ru/datasets/509 Женские консультации] | ||
| Здравоохранение | | Здравоохранение | ||
| | | 13 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/509.7z csv] | | [http://gis-lab.info/data/mos.ru/509.7z csv] | ||
Строка 246: | Строка 231: | ||
| [http://data.mos.ru/datasets/510 Здравоохранение. Санатории] | | [http://data.mos.ru/datasets/510 Здравоохранение. Санатории] | ||
| Здравоохранение | | Здравоохранение | ||
| | | 42 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/510.7z csv] | | [http://gis-lab.info/data/mos.ru/510.7z csv] | ||
Строка 374: | Строка 359: | ||
| [http://data.mos.ru/datasets/526 Библиотеки] | | [http://data.mos.ru/datasets/526 Библиотеки] | ||
| Культура | | Культура | ||
| | | 524 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/526.7z csv] | | [http://gis-lab.info/data/mos.ru/526.7z csv] | ||
Строка 398: | Строка 383: | ||
| [http://data.mos.ru/datasets/529 Музеи] | | [http://data.mos.ru/datasets/529 Музеи] | ||
| Культура | | Культура | ||
| | | 288 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/529.7z csv] | | [http://gis-lab.info/data/mos.ru/529.7z csv] | ||
Строка 414: | Строка 399: | ||
| [http://data.mos.ru/datasets/531 Театры] | | [http://data.mos.ru/datasets/531 Театры] | ||
| Культура | | Культура | ||
| | | 237 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/531.7z csv] | | [http://gis-lab.info/data/mos.ru/531.7z csv] | ||
Строка 422: | Строка 407: | ||
| [http://data.mos.ru/datasets/532 Детские музыкальные школы] | | [http://data.mos.ru/datasets/532 Детские музыкальные школы] | ||
| Образование | | Образование | ||
| | | 107 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/532.7z csv] | | [http://gis-lab.info/data/mos.ru/532.7z csv] | ||
Строка 438: | Строка 423: | ||
| [http://data.mos.ru/datasets/534 Детские школы искусств] | | [http://data.mos.ru/datasets/534 Детские школы искусств] | ||
| Образование | | Образование | ||
| | | 47 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/534.7z csv] | | [http://gis-lab.info/data/mos.ru/534.7z csv] | ||
Строка 878: | Строка 863: | ||
| [http://data.mos.ru/datasets/590 Судебные участки мировых судей города Москвы] | | [http://data.mos.ru/datasets/590 Судебные участки мировых судей города Москвы] | ||
| Органы государственной власти города Москвы | | Органы государственной власти города Москвы | ||
| | | 438 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/590.7z csv] | | [http://gis-lab.info/data/mos.ru/590.7z csv] | ||
Строка 918: | Строка 903: | ||
| [http://data.mos.ru/datasets/597 Городской центр - Дети улиц] | | [http://data.mos.ru/datasets/597 Городской центр - Дети улиц] | ||
| Социальная сфера | | Социальная сфера | ||
| | | 17 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/597.7z csv] | | [http://gis-lab.info/data/mos.ru/597.7z csv] | ||
Строка 1134: | Строка 1119: | ||
| [http://data.mos.ru/datasets/624 Станции метрополитена] | | [http://data.mos.ru/datasets/624 Станции метрополитена] | ||
| Транспорт | | Транспорт | ||
| | | 579 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/624.7z csv] | | [http://gis-lab.info/data/mos.ru/624.7z csv] | ||
Строка 1214: | Строка 1199: | ||
| [http://data.mos.ru/datasets/654 Розничные рынки] | | [http://data.mos.ru/datasets/654 Розничные рынки] | ||
| Торговля | | Торговля | ||
| | | 51 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/654.7z csv] | | [http://gis-lab.info/data/mos.ru/654.7z csv] | ||
Строка 1286: | Строка 1271: | ||
| [http://data.mos.ru/datasets/746 Реестр образовательных учреждений. Дополнительное образование] | | [http://data.mos.ru/datasets/746 Реестр образовательных учреждений. Дополнительное образование] | ||
| Образование | | Образование | ||
| | | 36535 | ||
| no | | no | ||
| [http://gis-lab.info/data/mos.ru/746.7z csv] | | [http://gis-lab.info/data/mos.ru/746.7z csv] | ||
Строка 1318: | Строка 1303: | ||
| [http://data.mos.ru/datasets/751 Маршруты мобильных комплексов фиксации нарушений] | | [http://data.mos.ru/datasets/751 Маршруты мобильных комплексов фиксации нарушений] | ||
| Транспорт | | Транспорт | ||
| | | 205 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/751.7z csv] | | [http://gis-lab.info/data/mos.ru/751.7z csv] | ||
Строка 1326: | Строка 1311: | ||
| [http://data.mos.ru/datasets/752 Остановки НГПТ] | | [http://data.mos.ru/datasets/752 Остановки НГПТ] | ||
| Транспорт | | Транспорт | ||
| | | 11935 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/752.7z csv] | | [http://gis-lab.info/data/mos.ru/752.7z csv] | ||
Строка 1350: | Строка 1335: | ||
| [http://data.mos.ru/datasets/758 Межрегиональные маршруты пассажирских перевозок] | | [http://data.mos.ru/datasets/758 Межрегиональные маршруты пассажирских перевозок] | ||
| Транспорт | | Транспорт | ||
| | | 660 | ||
| yes | | yes | ||
| [http://gis-lab.info/data/mos.ru/758.7z csv] | | [http://gis-lab.info/data/mos.ru/758.7z csv] | ||
Строка 1390: | Строка 1375: | ||
| [http://data.mos.ru/datasets/782 Итоги размещения госзаказа в сфере городской информатизации за 2012 год] | | [http://data.mos.ru/datasets/782 Итоги размещения госзаказа в сфере городской информатизации за 2012 год] | ||
| Реестр справочной информации | | Реестр справочной информации | ||
| | | 362 | ||
| no | | no | ||
| [http://gis-lab.info/data/mos.ru/782.7z csv] | | [http://gis-lab.info/data/mos.ru/782.7z csv] | ||
Строка 1398: | Строка 1383: | ||
| [http://data.mos.ru/datasets/801 График отключения горячей воды] | | [http://data.mos.ru/datasets/801 График отключения горячей воды] | ||
| Жилищно-коммунальное хозяйство | | Жилищно-коммунальное хозяйство | ||
| | | 50506 | ||
| no | | no | ||
| [http://gis-lab.info/data/mos.ru/801.7z csv] | | [http://gis-lab.info/data/mos.ru/801.7z csv] |
Версия от 20:56, 12 июня 2013
по адресу http://gis-lab.info/qa/data-mos.html
Описание данных и копия данных в более удобном для ГИС формате
Источник данных: Портал открытых данных г. Москва http://data.mos.ru
Об исходных данных
Системы координат данных:
- EPSG: 4326 (latlon/WGS84)
- EPSG: 3857 (Web Mercator/WGS84)
- Местная московская система координат (ПМСК 1, 2)
Формат данных: CSV
Кодировка: UTF-8
Формат хранения геометрий: WKT или пара полей с координатами.
Лицензия данных разрешает любое использование (включая коммерческое) при условии наличия ссылки на первоисточник.
Условия использования набора данных не предполагают ограничений использования набора данных в некоммерческих и коммерческих целях.
Лицензия не указывает явным образом согласие с CT OpenStreetMap.
Сомнительные места организации исходных данных
Уровень проблемности этих пунктов разный. Некоторые из них не позволят даже начать работу с данными, многие улучшили бы данные, но не помешают их использовать специалисту. Пометка "-> исправлено" означает, что данная проблема исправлена в производной версии данных представленной в этом описании ниже.
- Служебная информация в названиях полей -> исправлено
- Исходные данные в системе координат: EPSG:3857 (плохая СК для распространения векторных данных) -> исправлено
- Исходные данные в системе координат: ПМСК (местная система координат г. Москвы) (ужасная СК для распространения векторных данных) -> исправлено
- Смешивание данных в разных системах координат в одних и тех же столбцах в одном наборе данных -> исправлено
- Непоследовательное применение WKT представлений координат, то используется, то не используется.
- Названия полей на кириллице (проблемы с конвертацией в ESRI Shape) -> исправлено
- Названия полей очень длинные (проблемы с конвертацией в ESRI Shape) -> исправлено
- Названия полей содержат спецсимволы (например "№", "/", "," - проблемы с конвертацией) -> исправлено
- Одни и те же названия полей то в кавычках, то без (просто некрасиво) -> исправлено
- Одни и те же названия полей то с пробелами, то с "_" вместо пробелов (просто некрасиво) -> исправлено
- Названия полей с опечатками (например "1_Дополнителтная информация", "0_Дифицит_профицит", просто некрасиво) -> исправлено
- Варианты в названиях полей обозначающие одно и тоже (например "0_POINT_X", "0_X", просто некрасиво) -> исправлено
- Отсутствуют вспомогательные файлы описания системы координат данных -> исправлено
- Отсутствуют файлы csvt (проблемы с конвертацией с распознаванием корректного типа значений) -> исправлено
- Отсутствуют файлы vrt (проблемы с немедленной подгрузкой данных в ГИС) -> исправлено
- Многочисленные неоправданные последовательности символов "пробел" в атрибутике -> исправлено
- Пустые поля. ";" в конце заголовка и ";" в конце каждой записи (пример: 619), иногда нерегулярно встречается "; " -> исправлено
- На данный момент (20130609) многие наборы данных, ранее имевшие геопривязку, ее потеряли - используйте архивные версии.
- Неоправданные разрывы строк в записях (например: 493.csv от 20130611, форум) -> исправлено
TODO
- *.csvt файлы пока рассматривают все поля как тип String(255). Нужно пройтись по всем полям и выяснить их тип, добавив его в fields.csv
- создать *.qml
- сконвертировать все в GeoJSON
- обновлять только обновившееся, дату можно взять из метаданных, (но вдруг нас обманут? :) либо побайтово сравнивать с пред.версией CSV
Актуальность производных данных и архив
Текущая версия данных расположенная здесь: 22 мая 2013.
Чтобы посмотреть архивную версию данных, возьмите ссылку из таблице ниже и добавьте дату в формате YYYYMMDD. Например:
Актуальная версия:
http://gis-lab.info/data/mos.ru/493_shp.7z
Архивная:
http://gis-lab.info/data/mos.ru/20130213/493_shp.7z
Доступны архивы за следующие числа:
20130213,20130222,20130503,20130522,20130611
Вы можете также воспользоваться специальным сервисом, который следит за обновлениями исходных данных на data.mos.ru и архивирует все версии. Пока этот сервис не занимается нормализацией данных. Планируется объединить эти два сервиса.
Что делать если в свежей версии поломаны данные?
ДИТ периодически "ломает" выкладываемые данные (см. перечень проблем выше). Возможно данные или геоданные не поломаны в архивной версии. Соответственно, чтобы восстановить данные, нужно взять их предыдущую версию. Для этого нужно:
- Выбрать одну из архивных версий выше, например 20130222.
- Определить старый номер набора данных (да, у ДИТа нестабильные номера наборов данных), посмотрев в файл _list.csv лежащий в папке архива. Если такого файла не, то нужно посмотреть список наборов по этой ссылке.
- Определить старый номер этого набора (если он изменился) и скачать соответствующий набор из папки архива.
Нормализованные данные
О нормализованных данных
Все данные - в UTF-8, геометрии - в EPSG:4326. Дополнительно 2 поля: LAT, LON содержащие координаты исходно хранящиеся в 3 разных системах (см. выше), приведенные в эту систему координат в преобразованных данных.
В таблице в поле Источник и Данные данные для скачивания:
- csv - исходные данные 'как есть' на data.mos.ru.
- csv-norm - данные в формате CSV, с нормализованными названиями полей, *.csvt, *.prj, *.vrt файлами.
- shp - данные в формате ESRI Shape (максимальная длина строк 255 символов).
- osm - данные в формате OSM XML, без обрезки атрибутики.
Полный перечень названий полей и их замен для нормализованых данных.
Скачать данные
Известные проблемы нормализации
- Закавыченные строки с "разделителем" слепятся, например (исходник, результат 529.csv #64):
;"www.tretyakovgallery.ru;tretyakov.ru"; -> ;www.tretyakovgallery.rutretyakov.ru;
Использованные скрипты и сопутствующие файлы, процесс обновления
Язык - Python. Все скрипты можно взять на Github.
По шагам:
1. batch_download.py - Загружаем данные, скрипт использует http://gis-lab.info/data/mos.ru/data/_listings/_general.csv как источник кодов для ссылок
python download.py
2. Архивируем всё для истории
for %i in (*.csv) do C:/tools/7-Zip/7z.exe a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on %~ni.7z %i
и выгружаем на FTP в качестве исходников.
3. batch_field_sanitizer_read.py - Экстрагируем названия полей из CSV файлов
python batch_field_sanitizer_read.py data\ fields.csv yes yes
- fields.csv - все названия полей данных
- yes - обновлять существующий файл замен имен полей
- yes - использовать транслит для новых полей
4. Вручную редактируем файл fields.csv добавляя замены
5. batch_field_sanitizer_write.py - Нормализуем поля CSV файлов с данными, используя fields.csv
python batch_field_sanitizer_write.py data\ data-norm fields.csv
6. batch_process.py - подготовщик данных, конвертация, и т.п. Использует GDAL/OGR, использует wgs84.prj.
python batch_process.py
- wgs84.prj - файл описания результирующей нормализованной системы координат
7. batch_table.py - Формируем таблицу в вики-формате (для этой страницы), использует http://gis-lab.info/data/mos.ru/data/_listings/_general.csv
python batch_table.py > table.wiki