You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2015-11-02 21:21:06
- sim
- Member

- Registered: 2008-04-19
- Posts: 632
- Website
Поддержка GeoJSON в JOSM
Почему-то не могу найти себе места из-за того что JOSM не читает GeoJSON. Давайте NextGIS проспонсирует, а кто-нибудь напишет плагин для этого? Отличная задача для студента. Мы поддержим не только финансово, но и морально-методически.
Попытался заангажировать трех участников форума известных своими плагинами, но они либо заняты, либо меня игнорируют. Видимо кризис настолько силен, что уже и не до денег, живым бы остаться)
Функциональность:
- чтение данных
- поддержка на входе EPSG:4326, 3857
Полезные ссылки:
- Кто-то начинал писать такой плагин (но он не работает): https://github.com/iandees/josm-geojson. Обновленный форк этого плагина можно найти тут.
- Умные люди рекомендуют использовать какой-нибудь событийный парсер JSON, например, Jackson: https://github.com/FasterXML/jackson, вот тут есть реализация GeoJSON POJO для Jackson
- Спецификация GeoJSON, там же, работа с системами координат.
UPD: Плагин исправлен, улучшен и успешно работает. Качаем тут: http://nextgis.ru/programs/josm-geojson.jar
Last edited by sim (2015-11-23 22:17:01)
Offline
#4 2015-11-06 16:47:35
- Hind
- Member

- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Поддержка GeoJSON в JOSM
Парсер JSON уже есть в ядре JOSM, потенциальный автор плагина пусть его использует.
Там небось «DOM»-парсер, который умрет от 100-мегабайтного JSON'а. :3
Last edited by Hind (2015-11-06 16:47:53)
Offline
#5 2015-11-06 17:15:13
- Larry0ua
- Member
- Registered: 2010-09-19
- Posts: 1,061
Re: Поддержка GeoJSON в JOSM
Конечно, ничего не обещаю, но попробую глянуть на выходных, что уже написано и что можно сделать.
Offline
#7 2015-11-08 20:08:03
- Larry0ua
- Member
- Registered: 2010-09-19
- Posts: 1,061
Re: Поддержка GeoJSON в JOSM
az09 wrote:Этот гитхаб вообще-то пару раз форкнут.
например> Latest commit c07eb09 29 days agoО, вот это ценный комментарий который может поменять дело.
Да, похоже, что этот плагин, если собрать, работает (хотя и странно немного, как по мне - создает по два слоя на файл, например). Не было возможности проверить с другими проекциями, но по опыту PicLayer надо попробовать выставлять проекцию в настройках JOSM перед открытием файла.
В общем если будет список идей, как эту штуку улучшить, это можно организовать.
Offline
#8 2015-11-08 22:16:09
- sim
- Member

- Registered: 2008-04-19
- Posts: 632
- Website
Re: Поддержка GeoJSON в JOSM
круто
попробовал собрать через gradle из этого форка, но у меня
sim@sim-think:~/josm-geojson$ gradle clean build
FAILURE: Build failed with an exception.
* Where:
Build file '/home/sim/josm-geojson/build.gradle' line: 64
* What went wrong:
Could not compile build file '/home/sim/josm-geojson/build.gradle'.
> startup failed:
build file '/home/sim/josm-geojson/build.gradle': 64: unable to resolve class de.undercouch.gradle.tasks.download.Download
@ line 64, column 1.
import de.undercouch.gradle.tasks.download.Download
^
1 errorникогда не собирал ничего gradle'ом, ЧЯДНТ?
Offline
#9 2015-11-08 23:17:24
- BushmanK
- Member

- Registered: 2011-05-03
- Posts: 5,106
Re: Поддержка GeoJSON в JOSM
А у вас сам https://plugins.gradle.org/plugin/de.un … h.download прикручен?
"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".
Offline
#10 2015-11-09 00:22:43
- BushmanK
- Member

- Registered: 2011-05-03
- Posts: 5,106
Re: Поддержка GeoJSON в JOSM
Не было возможности проверить с другими проекциями, но по опыту PicLayer надо попробовать выставлять проекцию в настройках JOSM перед открытием файла.
Это ад какой-то, проще через ogr2ogr тогда...
"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".
Offline
#11 2015-11-09 00:46:17
- usm78-gis
- Member
- Registered: 2008-04-21
- Posts: 2,672
Re: Поддержка GeoJSON в JOSM
Larry0ua wrote:Не было возможности проверить с другими проекциями, но по опыту PicLayer надо попробовать выставлять проекцию в настройках JOSM перед открытием файла.
Это ад какой-то, проще через ogr2ogr тогда...
josm же знает сам почти все проекции
(кроме oblique mercator, которая была бы
в принципе полезна для WMS во всяких МСК дер. Гадюкино)
Offline
#12 2015-11-09 01:23:32
- BushmanK
- Member

- Registered: 2011-05-03
- Posts: 5,106
Re: Поддержка GeoJSON в JOSM
BushmanK wrote:Larry0ua wrote:Не было возможности проверить с другими проекциями, но по опыту PicLayer надо попробовать выставлять проекцию в настройках JOSM перед открытием файла.
Это ад какой-то, проще через ogr2ogr тогда...
josm же знает сам почти все проекции
(кроме oblique mercator, которая была бы
в принципе полезна для WMS во всяких МСК дер. Гадюкино)
Да, только там вечно нужно что-то переключать и настраивать вручную, чтобы это все подцепилось правильно.
"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".
Offline
#13 2015-11-09 02:04:29
- sim
- Member

- Registered: 2008-04-19
- Posts: 632
- Website
Re: Поддержка GeoJSON в JOSM
в годном geojson-е должны быть конструкции вида:
"crs": {
"type": "name",
"properties": {
"name":"urn:ogc:def:crs:EPSG::3857"
}
}Если они есть, то нужно просто взять оттуда EPSG код и сделать EPSG XXX -> EPSG:4326.
Если инфы о СК нет, нужно по хорошему спрашивать в какой СК данные, но релизацию этого это можно отложить, а пока просто отказываться грузить данные.
Last edited by sim (2015-11-09 02:04:59)
Offline
#14 2015-11-12 23:26:36
- sim
- Member

- Registered: 2008-04-19
- Posts: 632
- Website
Re: Поддержка GeoJSON в JOSM
ю-ху
Благодаря Larry0ua при моей скромной поддержке мы таки довели плагин до работоспособного состояния и сделали ряд важных улучшений (например поддержку проекций).
Качать здесь: http://nextgis.ru/programs/josm-geojson.jar (build 31244)
Установка простая, положить в ~/.josm-latest/plugins/, после запуска джосм предложет подтянуть ке-какие зависимости.
Offline
#15 2015-11-13 00:42:51
- usm78-gis
- Member
- Registered: 2008-04-21
- Posts: 2,672
Re: Поддержка GeoJSON в JOSM
Благодаря Larry0ua при моей скромной поддержке мы таки довели плагин до работоспособного состояния и сделали ряд важных улучшений (например поддержку проекций).
Оччень интересно ![]()
Исходники покажите, а то .jar это как-то не кошерно.
Offline
#16 2015-11-13 06:56:25
- sim
- Member

- Registered: 2008-04-19
- Posts: 632
- Website
Re: Поддержка GeoJSON в JOSM
Offline
#17 2015-11-13 09:56:34
- trolleway
- Member
- Registered: 2011-02-09
- Posts: 564
- Website
Re: Поддержка GeoJSON в JOSM
Не компилируется на Ubuntu.
trolleway@nextgis2:~/josm-geojson$ gradle clean build
FAILURE: Build failed with an exception.
* Where:
Build file '/home/trolleway/josm-geojson/build.gradle' line: 74
* What went wrong:
Could not compile build file '/home/trolleway/josm-geojson/build.gradle'.
> startup failed:
build file '/home/trolleway/josm-geojson/build.gradle': 74: unable to resolve class de.undercouch.gradle.tasks.download.Download
@ line 74, column 1.
import de.undercouch.gradle.tasks.download.Download
^
1 errorLast edited by trolleway (2015-11-13 09:57:02)
Offline
#18 2015-11-13 10:54:26
- Larry0ua
- Member
- Registered: 2010-09-19
- Posts: 1,061
Re: Поддержка GeoJSON в JOSM
Гугл подсказывает, что этот плагин не работает со старыми версиями gradle, предлагаю обновить его до 2.1+ или поменять билд-файл как тут https://plugins.gradle.org/plugin/de.un … h.download
Last edited by Larry0ua (2015-11-13 10:55:53)
Offline
#19 2015-11-13 12:48:52
- sim
- Member

- Registered: 2008-04-19
- Posts: 632
- Website
Re: Поддержка GeoJSON в JOSM
trolleway, чего jar-то просто не заберешь и папку не положишь?
Offline
#20 2015-11-13 12:57:16
- freeExec
- Moderator
- From: Ульяновск,Модератор всех слоёв
- Registered: 2012-07-31
- Posts: 8,547
Re: Поддержка GeoJSON в JOSM
А вдруг там вирусы и завтра его кошелёк опустеет ![]()
Offline
#21 2015-11-13 22:39:45
- trolleway
- Member
- Registered: 2011-02-09
- Posts: 564
- Website
Re: Поддержка GeoJSON в JOSM
trolleway, чего jar-то просто не заберешь и папку не положишь?
А нашел
Last edited by trolleway (2015-11-13 22:41:30)
Offline
#22 2015-11-23 10:25:12
- trolleway
- Member
- Registered: 2011-02-09
- Posts: 564
- Website
Re: Поддержка GeoJSON в JOSM
У меня этот плагин не открывает ни один файл, даже те, что были сохранены в самом JOSM.
Offline
#23 2015-11-23 11:06:08
- Larry0ua
- Member
- Registered: 2010-09-19
- Posts: 1,061
Re: Поддержка GeoJSON в JOSM
У меня этот плагин не открывает ни один файл, даже те, что были сохранены в самом JOSM.
Ну примеры файлов не помешали бы.
Offline
#24 2015-11-23 11:23:44
- Max Vasilev
- Member

- Registered: 2009-06-16
- Posts: 1,026
- Website
Re: Поддержка GeoJSON в JOSM
То, что сохраняет сам JOSM в geojson этот же плагин и не открывает вообще. Вроде бы было заявлено только возможность чтения. А вот файлы с NextGIS Mobile у меня этот плагин в JOSM открывает (при наличии плагина opendata).
Offline
#25 2015-11-23 20:43:57
- Larry0ua
- Member
- Registered: 2010-09-19
- Posts: 1,061
Re: Поддержка GeoJSON в JOSM
Нашел в чем проблема. В общем josm в geojson форматирует объект с информацией про СК (crs) не по стандарту geojson.
По стандарту:
crs: {
type:"name",
properties: {
name:"тут название СК"
}
}Josm выдает там:
crs: {
type:"name",
name:"название СК",
}Так что можно заводить тикет JOSM-у. (отписался с патчем в существующий https://josm.openstreetmap.de/ticket/10770, там добавляли этот crs)
У объекта crs по спецификации должны быть поля type и properties. С другой стороны, над кодом библиотеки, которая читает geojson тоже поработать надо - в той же спецификации нет ограничений на дополнительные поля, а в библиотеке на любом неподходящем поле сразу ошибка.
trolleway, если есть файлы, не из josm-а, которые не открываются, покажи, пожалуйста. Полугигабайтных только не надо ![]()
Last edited by Larry0ua (2015-11-23 21:06:45)
Offline