Нормализованные данные с портала открытых данных Москвы: различия между версиями
Строка 17: | Строка 17: | ||
Уровень проблемности этих пунктов разный. Некоторые из них не позволят даже начать работу с данными, многие улучшили бы данные, но не помешают их использовать специалисту. Пометка "-> исправлено" означает, что данная проблема исправлена в производной версии данных представленной в этом описании ниже. | Уровень проблемности этих пунктов разный. Некоторые из них не позволят даже начать работу с данными, многие улучшили бы данные, но не помешают их использовать специалисту. Пометка "-> исправлено" означает, что данная проблема исправлена в производной версии данных представленной в этом описании ниже. | ||
#Служебная информация в названиях полей | #Служебная информация в названиях полей ''-> исправлено'' | ||
#Исходные данные в системе координат: EPSG:3857 (плохая СК для распространения векторных данных) ''-> исправлено'' | #Исходные данные в системе координат: EPSG:3857 (плохая СК для распространения векторных данных) ''-> исправлено'' | ||
#Исходные данные в системе координат: ПМСК (местная система координат г. Москвы) (ужасная СК для распространения векторных данных) | #Исходные данные в системе координат: ПМСК (местная система координат г. Москвы) (ужасная СК для распространения векторных данных) ''-> исправлено'' | ||
#Смешивание данных в разных системах координат в одних и тех же столбцах в одном наборе данных | #Смешивание данных в разных системах координат в одних и тех же столбцах в одном наборе данных ''-> исправлено'' | ||
#Непоследовательное применение WKT представлений координат, то используется, то не используется. | #Непоследовательное применение WKT представлений координат, то используется, то не используется. | ||
#Названия полей на кириллице (проблемы с конвертацией в ESRI Shape) ''-> исправлено'' | #Названия полей на кириллице (проблемы с конвертацией в ESRI Shape) ''-> исправлено'' | ||
Строка 32: | Строка 32: | ||
#Отсутствуют файлы csvt (проблемы с конвертацией с распознаванием корректного типа значений) ''-> исправлено'' | #Отсутствуют файлы csvt (проблемы с конвертацией с распознаванием корректного типа значений) ''-> исправлено'' | ||
#Отсутствуют файлы vrt (проблемы с немедленной подгрузкой данных в ГИС) ''-> исправлено'' | #Отсутствуют файлы vrt (проблемы с немедленной подгрузкой данных в ГИС) ''-> исправлено'' | ||
#Многочисленные неоправданные последовательности символов "пробел" в атрибутике | #Многочисленные неоправданные последовательности символов "пробел" в атрибутике ''-> исправлено'' | ||
#Пустые поля. ";" в конце заголовка и ";" в конце каждой записи (пример: 619), иногда нерегулярно встречается "; " | #Пустые поля. ";" в конце заголовка и ";" в конце каждой записи (пример: 619), иногда нерегулярно встречается "; " ''-> исправлено'' | ||
==О преобразованных данных== | ==О преобразованных данных== |
Версия от 21:13, 22 мая 2013
по адресу http://gis-lab.info/qa/data-mos.html
Описание данных и копия данных в более удобном для ГИС формате
Источник данных: Портал открытых данных г. Москва http://data.mos.ru
Об исходных данных
Система координат данных: EPSG: 3857 (WGS84 Web Mercator)
Формат данных: CSV (на данный момент)
Кодировка: Windows-1251
Формат хранения геометрий: WKT (поле WKT в CSV)
Лицензия данных разрешает любое использование (включая коммерческое) при условии наличия ссылки на первоисточник.
Условия использования набора данных не предполагают ограничений использования набора данных в некоммерческих и коммерческих целях.
Сомнительные места организации исходных данных
Уровень проблемности этих пунктов разный. Некоторые из них не позволят даже начать работу с данными, многие улучшили бы данные, но не помешают их использовать специалисту. Пометка "-> исправлено" означает, что данная проблема исправлена в производной версии данных представленной в этом описании ниже.
- Служебная информация в названиях полей -> исправлено
- Исходные данные в системе координат: EPSG:3857 (плохая СК для распространения векторных данных) -> исправлено
- Исходные данные в системе координат: ПМСК (местная система координат г. Москвы) (ужасная СК для распространения векторных данных) -> исправлено
- Смешивание данных в разных системах координат в одних и тех же столбцах в одном наборе данных -> исправлено
- Непоследовательное применение WKT представлений координат, то используется, то не используется.
- Названия полей на кириллице (проблемы с конвертацией в ESRI Shape) -> исправлено
- Названия полей очень длинные (проблемы с конвертацией в ESRI Shape) -> исправлено
- Названия полей содержат спецсимволы (например "№", "/", "," - проблемы с конвертацией) -> исправлено
- Одни и те же названия полей то в кавычках, то без (просто некрасиво) -> исправлено
- Одни и те же названия полей то с пробелами, то с "_" вместо пробелов (просто некрасиво) -> исправлено
- Названия полей с опечатками (например "1_Дополнителтная информация", "0_Дифицит_профицит", просто некрасиво) -> исправлено
- Варианты в названиях полей обозначающие одно и тоже (например "0_POINT_X", "0_X", просто некрасиво) -> исправлено
- Отсутствуют вспомогательные файлы описания системы координат данных -> исправлено
- Отсутствуют файлы csvt (проблемы с конвертацией с распознаванием корректного типа значений) -> исправлено
- Отсутствуют файлы vrt (проблемы с немедленной подгрузкой данных в ГИС) -> исправлено
- Многочисленные неоправданные последовательности символов "пробел" в атрибутике -> исправлено
- Пустые поля. ";" в конце заголовка и ";" в конце каждой записи (пример: 619), иногда нерегулярно встречается "; " -> исправлено
О преобразованных данных
В таблице в поле Данные -0 данные для скачивания:
- csv - исходные данные 'как есть' на data.mos.ru, формат CSV, геометрии WKT, кодировка Windows-1251
- csv-norm - данные в формате CSV, с нормализованными названиями полей, *.csvt, *.prj, *.vrt файлами. Кодировка UTF-8
- shp - данные в формате ESRI Shape (максимальная длина строк 255 символов). Кодировка UTF-8. СК EPSG:4326
- osm - данные в формате OSM XML, без обрезки атрибутики. Кодировка UTF-8
Полный перечень названий полей и их замен для нормализованых данных.
TODO
- *.csvt файлы пока рассматривают все поля как тип String(255). Нужно пройтись по всем полям и выяснить их тип, добавив его в fields.csv
- создать *.qml
- сконвертировать все в GeoJSON
- обновлять только обновившееся, дату можно взять из метаданных, (но вдруг нас обманут? :) либо побайтово сравнивать с пред.версией CSV
Актуальность производных данных и архив
Текущая версия данных расположенная здесь: 22 февраля 2013.
Чтобы посмотреть архивную версию данных, возьмите ссылку из таблице ниже и добавьте дату в формате YYYYMMDD. Например: Актуальная версия:
http://gis-lab.info/data/mos.ru/414_shp.7z
Архивная:
http://gis-lab.info/data/mos.ru/20130213/414_shp.7z
Доступны архивы за следующие числа:
20130213,20130222,20130503,20130522
Существует также сервис следящий за исходными данными и архивирующий все версии. Пока этот сервис не занимается нормализацией данных. Планируется объединить эти два сервиса.
Таблица данных
Использованные скрипты и сопутствующие файлы, процесс обновления
Язык - Python. Все скрипты одним архивом.
По шагам:
1. items.py,datamosru.py - конфиги Scrapy для получения списка наборов данных. Запускаем:
mkdir datamosscrapy cp items.py datamosscrapy/datamosscrapy cp datamosru.py datamosscrapy/datamosscrapy/spiders cd datamosscrapy scrapy crawl datamosru -o list.csv -t csv
- list.csv - список слоёв в формате CSV, создается после выполнения паука Scrapy
2. download.py - Загружаем данные, скрипт использует list.csv как источник кодов для ссылок
python download.py
3. Архивируем всё для истории
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 в качестве исходников.
4. field_sanitizer_read.py - Экстрагируем названия полей из CSV файлов
python field_sanitizer_read.py data\ fields.csv yes yes
- fields.csv - все названия полей данных
- yes - обновлять существующий файл замен имен полей
- yes - использовать транслит для новых полей
5. Вручную редактируем файл fields.csv добавляя замены
6. field_sanitizer_write.py - Нормализуем поля CSV файлов с данными, используя fields.csv
python field_sanitizer_write.py data\ data-norm fields.csv
7. process.py - подготовщик данных, конвертация, и т.п. Использует GDAL/OGR, использует prj.prj.
python process.py
- prj.prj - файл описания исходной проекции данных
8. table.py - Формируем таблицу в вики-формате (для этой страницы), использует list.csv
python table.py > table.wiki