Обсуждение редакторов (JOSM, Potlach, Merkaartor)

Спасибо! Попробую… А то рука так и тянется к Ctrl+S, но механизм объединения данных мне был не ясен, поэтому просто старался не делать лишних движений при редактировании :slight_smile:

Ну я бы не говорил столь категорично. Для того, чтобы выдать аларм не нужно ждать, пока вывалится OutOfMemoryError, достаточно просто во время критичных операций проверять runtime.freeMemory(). А вот в C++ многие ли умеют как следует ловить std::bad_alloc и главное – произвести при этом нужное количество delete-ов, чтобы освободить достаточно помяти, и чтобы не осталось неверных ссылок, способных вызвать Segmentation fault? А ведь кстати delete тоже не гарантирует высвобождение памяти(хотя, поскольку для крупных объектов память обычно выделяется через mmap(), то обычно это срабатывает).
И вообще с какой стати управлять памятью в Java невозможно в принципе? Если в C++ программист освободит память и при этом забудет про какие-то ссылки, всему приложению грозит Segfault, а в случае с Java – память просто не высвободится и приложению будет угрожать упомянутый deadlock, но хоть какая-то надежда ещё остаётся. Хотя, согласен, в данном случае хрен редьки не слаще :wink:

RAII рулит :slight_smile:

Не спорю. Создавать приложения, которое корректно себя ведут при исчерпании памяти можно на обоих языках. Но вот вопрос, где это делать легче? На практике часто случается, что программисты отходят от “светлых идеалов С++” и плодят указатели. Управление памятью в таких приложениях становится вещью небезопасной, а о корректном поведении при исчерпании даже речи не идёт…

Нарушу дискуссию по ООПам вопросом по теме :slight_smile:

Как в йосме убрать заливку областей? Если в настройках сделать draw.wireframe=true, то заливка пропадает, но все линии становятся одинакового цвета, а это неудобно.

Ещё вопрос, как изменить стиль линий highway=track? А то зелёный пунктир на фоне леса вообще не видно!

Не совсем в тему, но я иногда, когда рисую в лесистой местности по снимку, делаю невидимым все слои кроме растрового. 8) Ещё при этом зажимаю Ctrl, чтобы отключить stickyness.

Я уже кратко отвечал в ирке…
Похоже, что очень кратко.
В общем, что касается замены стиля линии. Поподробней.
Качаешь отсюда файлик. Это настройки стандартной раскраски для джосма.
Находишь строку . Чуть ниже в строке <line width=… можешь поменять и стиль и толщину и, кстати, цвет.
После этого идешь в джосм - настройки - Настройки карты - Map paint styles. Убираешь галку с “Использовать настройки по умолчанию”. Жмешь “Добавить” и в окошке прописываешь полный путь и имя нашего отредактированного файлика. Жмешь ОК, перезапускаешь джосм и проверяешь.
Если нужно изменить только цвет линии, то в джосме - Настройки экрана - Цвета - “Стиль точки стандартный: трек” - жмем на кнопку “…” внизу и выбираем цвет. Вотс.

Можно проще - Вид - Каркас. :slight_smile:

Я лично potlatch не рассматриваю вообще, потому что flash. Merkaartor многого не умеет (хотя мне лично действительно не хватает совсем чуть-чуть - неограниченного zoom и возможности двигать подложку), поэтому остается только JOSM, но и у него порядком проблем, и именно из-за того, что он на java. Во-первых, ему нефиг делать распухнуть до >1GB. Посему это единственное приложение, которое я вообще закрываю при ненадобности. Во-вторых, кошмарный интерфейс - хоткеи перестают работать, если переключиться на другой workspace и обратно, размер окошек справа не изменить, размер колонок в таблицах (например, в редакторе рилейшнов), абсолютно невменяем, неменяем и несохраняем. Но тормозов я не замечал, на нетбуке (EEE) в том числе (хотя там в основном сельская местность, где деталей мало). Хотя много данных (полмосквы), не кажется, можно было бы рисовать и быстрее.

хоткеи перестают работать, если переключиться на другой workspace

Да, вот эта потеря фокуса ввода главным окном после клика во всплывающем диалоге бесит больше всего. Причём работа с картой фокус не возвращает. По-моему это особенность java на нашей ОС.

Маленькая поправочка: похоже, тут дело не в ОС, а в WM…
Кстати, какой юзаете? TWM, DWM, ion3 ?

У меня ion3. Может и он виноват, но логичнее предположить некорректные допущения жавы на тему того, как должен себя вести wm. Тролльтехи в свое время тоже говорили, что в проблемах с qt4-designer виноват ion, а потом взяли и починили.

В моём Xfce никаких проблем с горячими клавишами не замечал.

Вряд ли дело в wm, ибо наблюдается только на java приложениях. wm - fvwm2.

А расскажите, чем еще плох Меркатор? А то работаю постоянно в нем.
Как-то Джосм у меня не прижился - тормозной какой-то. Хоть и даю ему -Xmx1024M (с 6 гигами памяти-то можно ;)). И к Java приложениям у меня аллергии нет. Но не пошел он как-то.
А Меркатор логичный вроде и не глючит.
Хотя я не смог выгрузив из него файл (*.osm) загрузить в JOSM. Пишет ошибку, что парсинг файла не прошел. Кто может знает почему не совместимо?

astroiLL, и джосм и навит добавляют к *.osm специфические данные чтобы при повторном открытии понять что уже изменилось, что ещё нет и т.д.
josm добавляет отрицательные id и аттрибуты action=“modify|delete”
мерк - id в виде строк guid’ов
вот они и не совместимы :slight_smile:

У джавы со всеми тайловыми WM проблемы похоже , у меня на awesome тоже самое. Лечится либо установкой AWT_TOOLKIT=MToolkit (если система 32х битная) , на x64 запуском через parent xserver (юзаю простейший - Xnest). Также даная бага поправлена в дебиане (во всяком случае патчик лежит в src deb , соотв возможно в убунту ok) - там и на x64 должно работать.
А… Не проявляется на старых jdk , вроде на сановском 1.5 все ок было , 1.6 - уже поломано.

Собственоо по этой причине и по причине давней нелюбви к java - юзаю Merkaartor.

на тайловых менеджерах таблетка - wmname
по карайней мере оно позволяет работать с josm под awesome
хоть и с глюками :frowning:

А вот наврал! Тормозит-таки Josm, и еще как!

  1. При трассировке озер lakewalker’ом. Обычно приходится закачивать большие области и работать с большим количеством точек - порядка 10 000. Что из этого приводит к тормозам - не знаю, но тормозня начинается у всего (четырехядерного-то!) компа. Едва ли не единственный софт, способный на такое.
  2. “Тормозит” обклацивание треков/дорог/рек. Если щелкать мышью в движении, как я привык в Потлаче, то не ставится точка. Для того, чтобы поставилась, приходится фиксировать остановку. Очень неудобно.

Новую версию не ставили? Там по-моему действительно чего-то напортачили. Раньше точки хранились в обычном списке, а теперь хранят в QuadTree. По идее это должно было ускорить работу, но текущая реализация получилась ужасно тормозная, где-то в 10 раз хуже, чем было…

Ставил, ставил. Имею обыкновение работать на latest-версии.