Нормализованные данные с портала открытых данных Москвы: различия между версиями
Строка 85: | Строка 85: | ||
Поле изменение показывает сравнение с версией от 20130611. | Поле изменение показывает сравнение с версией от 20130611. | ||
Цветами показаны: <span style="background-color:LightGreen">увеличение</span> или <span style="background-color:Salmon">уменьшение</span> количества объектов, <span style="background-color:Yellow">новый набор</span> (отсутствовавший 20130611) | Цветами показаны: <span style="background-color:LightGreen">увеличение</span> или <span style="background-color:Salmon">уменьшение</span> количества объектов, <span style="background-color:Yellow">новый набор</span> (отсутствовавший 20130611) | ||
{| class="wikitable sortable" border="1" width="100%" | {| class="wikitable sortable" border="1" width="100%" | ||
Строка 1560: | Строка 1560: | ||
| 1050 | | 1050 | ||
| bgcolor="Yellow" | | | bgcolor="Yellow" | | ||
| | | yes | ||
| [http://gis-lab.info/data/mos.ru/821.7z csv] | | [http://gis-lab.info/data/mos.ru/821.7z csv] | ||
| [http://gis-lab.info/data/mos.ru/821_norm.7z csv_norm]<br>[http://gis-lab.info/data/mos.ru/821_shp.7z shp]<br>[http://gis-lab.info/data/mos.ru/821_osm.7z osm] | | [http://gis-lab.info/data/mos.ru/821_norm.7z csv_norm]<br>[http://gis-lab.info/data/mos.ru/821_shp.7z shp]<br>[http://gis-lab.info/data/mos.ru/821_osm.7z osm] |
Версия от 19:43, 13 июня 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, без обрезки атрибутики.
Полный перечень названий полей и их замен для нормализованых данных.
Скачать данные
Поле изменение показывает сравнение с версией от 20130611.
Цветами показаны: увеличение или уменьшение количества объектов, новый набор (отсутствовавший 20130611)
Известные проблемы нормализации
- Закавыченные строки с "разделителем" слепятся, например (исходник, результат 529.csv #64):
;"www.tretyakovgallery.ru;tretyakov.ru"; -> ;www.tretyakovgallery.rutretyakov.ru;
- Пока не обрабатываются значения вида (пример 821.csv)
55.735571:37.616719,55.735571:37.61672,55.735572:37.616719
Использованные скрипты и сопутствующие файлы, процесс обновления
Язык - 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