Вы здесь

Добавление геотегирования в Managing News

Сборка Managing News может присваивать геотеги пунктам на основе базы из 790 мест. Кроме этого, база может быть расширена, позволяя пользователям импортировать любые данные геотаксономии в теги любого места в мире. Как это делается можно посмотреть в этом обучающем видеоролике, где я импортирую .csv-файл с названиями мест и координатами вокруг Вашингтона, а также рассказываю как я готовил файл используя Quantum GIS, OpenOffice и данные правительства округа Колумбия (округ, в котором расположен Вашингтон).

Добавление геотегирования в Managing News

Геотеггер в Managing News работает обрабатывая текст собираемых статей. Он сравнивает каждое слово найденное в содержании, со словами содержащимися в базе данных мест. Если совпадения находятся, то статье присваивается это место. Каждое место имеет свои координаты, которые используются для показа статьи на карте. Моей задачей было заменить стандартные географические данные, которые находятся в Managing News по умолчанию, дополнительным набором связанным с окрестностями Вашингтона.

Руководство округа имеет обширный набор открытых географических данных. Я нашёл файл Metro Stations - DC Only, который содержит координированные точки каждой станции метро в округе. Так как многие статьи ссылаются на ближайшие станции метро, то эти данные отлично подходили для использования с Managing News.

Managing News требует указания широты и долготы точки в десятичной форме. Многие файлы уже были отформатированы нужным образом (в координатах формата WGS 84), но файлы DCGIS нет. Нужно было их преобразовать и ниже описано то, как это сделать.

  1. Откройте shapefile в Quantum GIS
  2. Кликните правой кнопкой мыши по слою и выберите пункт «Save as shapefile»
  3. Создайте новую папку для файлов, введите название файла и нажмите кнопку «Сохранить»
  4. Найдите и выберите тип проектции WSG 84 (EPSG 4326)
  5. Нажмите кнопку «OK»

Теперь, откройте этот shapefile и скопируйте данные в OpenOffice.

  1. Начните новый проект в Quantum GIS
  2. Откройте созданный shapefile
  3. Перейдите по пунктам Просмотр → Выбор возможностей, чтобы сделать инструмент выбора активным
  4. Перетащите все выбранные точки на пункт Правка → Копирование возможностей
  5. Создайте новую таблицу в OpenOffice
  6. Вставьте скопированные данные
  7. Сохраните таблицу как .csv-файл

.csv-файл содержит несколько колонок, но только две важны для Managing News. Первая колонка это wkt_geom, которая содержит координаты широты и долготы точки. Вторая колонка это name. Managing News просто проигнорирует другие колонки, но я удалил их чтобы сделать файл чище и меньше.

Теперь у нас есть .csv-файл, но есть проблема. Координаты в настоящее время находятся в формате WKT, а Managing News требует чтобы мы разделили широту и долготу по разным колонкам. Для маленького набора данных это можно сделать вручную, но это невыполнимо, если у вас большое количество данных.

Мы можем автоматизировать этот процесс используя регулярные выражения, но сделать это сложно. Я использовал возможность «Найти и заменить» в редакторе TextMate для Mac OS X, который поддерживает регулярные выражения. Есть похожие инструменты для различных платформ (sed, vim). Вот шаги, которые я выполнил:

  1. Открыл .csv-файл в TextMate
  2. Заменил первую строку файла текстом: "LON","LAT","NAME"
  3. Открыл пункт «Найти»
  4. Ввёл в поле поиска "POINT\(([\-?\.?0-9]+) ([\-?\.?0-9]+)\)" (это выражение для TextMate, для sed и vim можно использовать выражение s/POINT(\([-?\.?0-9]\+\) \([-?\.?0-9]\+\))/\1,\2/
  5. В поле замены ввёл текст: "$1","$2"
  6. Отметил поле «Регулярное выражение»
  7. Нажал кнопку «Заменить всё» и сохранил файл

Теперь файл готов для импорта в Managing News.