OpenStreetMap

Otnow's diary

Recent diary entries

JOSM Portable

Posted by Otnow on 19 March 2015 in Russian (Русский)

Опишу используемую мной реализацию переносимой версии JOSM для Windows.

Данная реализация имеет возможность автоматического обновления дистрибутива JOSM и полностью автономна, т.е. наличие установленной Java-машины в ОС не требуется, т.к. она уже находится в комплекте.

Реализация состоит из следующих компонентов:

  1. дистрибутив JOSM
  2. Java-машина
  3. утилита Wget
  4. bat-скрипт
  5. значек

1. Дистрибутив JOSM

В основном я пользуюсь последней нестабильной версией, но если она очень глючит запускаю стабильную, поэтому у меня сразу два дистрибутива:

Файлы дистрибутивов именуются как есть и располагаются в корне каталога JOSM:

JOSM\
  josm-latest.jar
  josm-tested.jar
  ...

2. Java-машина

Для достижения полной автономности работы используется переносимая версия Java-машины, загрузить которую можно следующим образом:

Java SE Downloads

  • на странице загрузки Java SE Runtime Environment (JRE) нужно принять лицензионное соглашение и загрузить архив *.tar.gz для Windows x86

Java SE Runtime Environment Downloads

Архив распаковывается в подкаталог JAVA и располагается в корне каталога JOSM:

JOSM\
  JAVA\
    bin\
    lib\
    ...
  ...

3. Утилита Wget

Для автоматического обновления дистрибутива JOSM используется консольная утилита Wget, бинарный файл для Windows которой можно загрузить с сайта тов. Jernej Simončič (за что ему большое спасибо :-) ) по прямой ссылке.

Файл утилиты именуется как есть и располагается в корне каталога JOSM:

JOSM\
  wget.exe
  ...

4. Bat-скрипт

Bat-скрипт служит для организации автоматического обновления дистрибутива и запуска JOSM в портативном режиме:

@echo off
set josm_dir=%~dp0
"%josm_dir%wget.exe" --quiet --show-progress --timestamping --backups=1 --directory-prefix="%josm_dir:\=/%" http://josm.openstreetmap.de/josm-<версия>.jar
start /b /d "%josm_dir%JAVA\bin" javaw.exe -Xmx1024M -Djosm.home="%josm_dir%config" -jar "%josm_dir%josm-<версия>.jar"
exit

Порядок работы скрипта:

  • с помощью утилиты Wget перед запуском JOSM производится загрузка с официального сайта с отображением прогресса (опция --show-progress) и обновление с созданием резервной копии предыдущей версии (josm-<версия>.jar.1, опция --backups) его дистрибутива, но только в том случае, если файл был изменен на сервере (опция --timestamping)

  • с помощью переносимой версии Java-машины запускается JOSM в портативном режиме (опция -Djosm.home) и с увеличенным лимитом на использование ОЗУ (опция -Xmx1024M)

После первого запуска JOSM создаст в своем корневом каталоге подкаталог config и будет использовать его для хранения своих настроек (preferences.xml), плагинов (plugins), кэша тайлов (cache) и других файлов.

Как упоминалось выше я использую обе версии JOSM, поэтому создал 2 файла bat-скрипта для запуска каждой из версий:

  • для запуска последней нестабильной версии (START_LATEST.bat):

    @echo off
    set josm_dir=%~dp0
    "%josm_dir%wget.exe" --quiet --show-progress --timestamping --backups=1 --directory-prefix="%josm_dir:\=/%" http://josm.openstreetmap.de/josm-latest.jar
    start /b /d "%josm_dir%JAVA\bin" javaw.exe -Xmx1024M -Djosm.home="%josm_dir%config" -jar "%josm_dir%josm-latest.jar"
    exit
    
  • для запуска стабильной версии (START_TESTED.bat):

    @echo off
    set josm_dir=%~dp0
    "%josm_dir%wget.exe" --quiet --show-progress --timestamping --backups=1 --directory-prefix="%josm_dir:\=/%" http://josm.openstreetmap.de/josm-tested.jar
    start /b /d "%josm_dir%JAVA\bin" javaw.exe -Xmx1024M -Djosm.home="%josm_dir%config" -jar "%josm_dir%josm-tested.jar"
    exit
    

Файлы bat-скриптов именуются произвольно и располагаются в корне каталога JOSM:

JOSM\
  START_LATEST.bat
  START_TESTED.bat
  ...

5. Значек

Значек (ico-файл) используется как декоративный элемент для красивого оформления ярлыка на файл bat-скрипта.

Файл значка (*.ico) именуется произвольно и располагается в корне каталога JOSM:

JOSM\
  josm.ico
  ...

5.1 Лайфхак

Чтобы закрепить ярлык на файл bat-скрипта на панели задач в Windows 7 и выше нужно:

  • создать ярлык на любой исполняемый файл (*.exe) и поместить его на панель задач
  • в свойствах ярлыка на панели задач изменить путь объекта на файл bat-скрипта и сменить значек

JOSM shortcut

Описанная реализация переносимой версии JOSM для Windows со всеми необходимыми файлами находится в данном архиве (версии Java-машины и Wget актуальны на момент публикации, поэтому при необходимости обновите их):

JOSM\
  JAVA\
  josm.ico
  josm-latest.jar
  josm-tested.jar
  START_LATEST.bat
  START_TESTED.bat
  wget.exe

Спасибо за внимание и приятного маппинга :-)

Отслеживание правок на определенной территории и исправление ошибочных изменений

Posted by Otnow on 23 December 2014 in Russian (Русский)

Опишу инструменты и методы, которыми пользуюсь для отслеживания правок других участников на интересных для меня территориях и исправления ошибочных изменений.

Отслеживание правок

Для отслеживания правок использую сервис WhoDidIt, а именно его возможность транслировать историю изменений выделенной области на карте в виде RSS-ленты.

Чтобы получить ссылку на RSS-ленту приближаюсь к интересующей области на карте и нажимаю кнопку Get RSS link:

WhoDidIt

кнопка изменяет текст на Draw a box, чем сообщает о необходимости выделить область, что и делаю:

WhoDidIt

если выделенная область не подходит нажимаю кнопку Clear RSS link и повторяю все действия заново, а если устраивает, то по ссылке RSS link и находится искомая RSS-лента:

http://zverik.osm.rambler.ru/whodidit/scripts/rss.php?bbox=38.98576,50.821918,39.15313,50.899716

После этого добавляю полученную ленту в RSS-агрегатор (использую Feedreader) и наблюдаю за правками:

Feedreader

Просмотр правок

Для просмотра изменений, внесенных другими участниками в дополнение к описанию пакета правок на сайте OSM использую сервис Achavi за его возможность визуального отображения изменений.

В RSS-агрегаторе выбираю интересующую запись о пакете правок и открываю из нее 2 ссылки:

  • a changeset для просмотра описания пакета правок
  • in Achavi для визуального отображения пакета правок

Feedreader OpenStreetMap Achavi

Общий вид ссылки:

  • для просмотра описания пакета правок:

    https://openstreetmap.org/changeset/<номер пакета правок>

  • для визуального отображения пакета правок без отношений:

    https://nrenner.github.io/achavi/?changeset=<номер пакета правок>

  • для визуального отображения пакета правок с отношениями:

    https://nrenner.github.io/achavi/?changeset=<номер пакета правок>&relations=true

Исправление ошибочных изменений

Если в процессе просмотра правок обнаруживаются ошибочные изменения данных, то для их исправления использую редактор JOSM.

Для редактирования данных, которые были изменены в интересующем пакете правок открываю страницу с его описанием и следуя по ссылке osmChange XML внизу страницы сохраняю содержимое в файл с расширением *.osc (27407703.osc):

OpenStreetMap

Общий вид ссылки для сохранения OSC-файлов пакетов правок:

https://www.openstreetmap.org/api/0.6/changeset/<номер пакета правок>/download

Затем открываю сохраненный OSC-файл в JOSM и обновляю данные:

JOSM JOSM

По окончании процесса обновления исправляю ошибочные изменения. В рассматриваемом пакете правок, например, участник удалил существующее здание, поэтому пришлось восстановить его по id с помощью плагина Undelete:

JOSM JOSM

После всех исправлений и дополнений выгружаю данные на сервер или сохраняю в файл *.osm для дальнейшего редактирования.

Также стараюсь комментировать пакеты правок, если они содержат какие-то недочеты или ошибки, особенно если допустивший их участник является новичком:

OpenStreetMap

Разметка электросетей

Posted by Otnow on 7 January 2014 in Russian (Русский)

Занимаюсь сейчас разметкой электросетей, в связи с этим нашел информацию о подстанциях 35-110 кВ на сайте МРСК Центра в разделе "Сведения о пропускной способности" в формате XLS. Перевел XLS в GPX для удобства разметки в JOSM и решил поделиться результатами.

Каждый GPX-файл соответствует определенной области:

  1. Белгородэнерго
  2. Брянскэнерго
  3. Воронежэнерго
  4. Костромаэнерго
  5. Курскэнерго
  6. Липецкэнерго
  7. Орелэнерго
  8. Смоленскэнерго
  9. Тамбовэнерго
  10. Тверьэнерго
  11. Ярэнерго

К сожалению, на текущий момент приведенные данные по местоположению подстанций в основном весьма примерны и погрешность может составлять сотни метров, хотя встречаются и достаточно точные координаты (например в Белгородэнерго).

Формат имени POI в GPX-файле:

<название подстанции> ( <год ввода в эксплуатацию> ; <установленная мощность трансформаторов> )

Установленная мощность трансформаторов приведена в МВА и если указано несколько значений, то общая мощность подстанции будет их суммой.

В разметке информацию из <название подстанции> заношу в name и voltage, <год ввода в эксплуатацию> в start_date, <установленная мощность трансформаторов> в rating.

Линии ЛЭП в основном смотрю по генеральным планам НП, районов и областей на ФГИС ТП - http://fgis.minregion.ru

Older Entries | Newer Entries