[sisyphus] mapsoft

Vladislav Zavjalov slazav на altlinux.org
Пт Июн 22 11:43:10 MSK 2012


On Fri, Jun 22, 2012 at 09:23:38AM +0400, Eugene Prokopiev wrote:
> А где брать сами карты? Вроде как самое полное собрание с привязками
> есть на http://www.afanas.ru/mapbase/, у OziExplorer и OruxMaps (самое
> приличное из найденного для андроидов) есть конверторы из gif/map в
> собственные форматы, а как быть тут? Неужели использовать виндовый
> конвертор от OziExplorer?

Нужны map-файлы от Ozi + картинки в форматах jpeg, png, tiff.

Привязки разной степени аккуратности есть во многих местах:
http://loadmap.net
http://maps.vlasenko.net/ (ссылки в левом-нижнем углу)

Есть пара способов сделать привязку с помощью mapsoft, они все довольно
старые и запутанные:

1. Универсальный, долгий.

Открываем xfig, кладем туда карту (пункт picture на левой панели, ctrl-p).
- Рисуем границу - многоуголник (p).
- Рисуем точки привязки, лучше в другом слое (l, правая кнопка мыши), не
менее 3 шт, не на одной линии.
- Пишем комментарии ко всем объектам (ctrl-e, клик на объект, верхнее поле)
к карте - "MAP <любое название>"
к границе - "BRD <то же название>"
к к точкам привязки -
"REF <координаты>
\datum=<система координат, по умолчанию wgs84>
\proj=<проекция, по умолчанию lonlat>
\lon0=<осевой меридиан к этой проекции, если его нельзя определить из
префикса координаты>"

То есть, например в угловой точке может быть что-то такое:
 REF 35.25 56.00
 \datum=pulkovo
а в узлах сетки - такое:
 REF 6656000 6194000
 \datum=pulkovo
 \proj=tmerc
или такое:
 REF 642000 6193000
 \datum=pulkovo
 \proj=tmerc
 lon0=33

- Сохраняем fig-файл
Дальше этот fig-файл можно сразу загружать mapsoft_mapview, или же
сконвертировать в map:
mapsoft_convert file.fig -o file.map

2. Быстрый способ, только для советских номенклатурных карт. К тому же
нужны исходники mapsoft (так как я не догадался все необходимое ставить
в систему, считая, что это старое, редко используемое, запутанное)

- устанавливаем скрипт mapsoft/scripts/gimp/map-helper.py
  в .gimp/plug-ins
- создаем пустой файл рядом с нашими картами "> list.txt"
- загружаем карты в gimp, выбираем инструмент "create or edit path",
  рисуем 4 точки в углах карты, с левого верхнего, по часовой стрелке.
- запускаем из меню Python-Fu/Maps/Map Helper, выбираем созданный
  текстовый файл, нажимаем OK.

В list.txt при этом дописываются координаты углов
После запускаем programs/mapsoft_mkmap list.txt -o list.xml
(ну или -o list.map, но много карт удобнее хранить в одном .xml, чем
во многих .map)

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

> mapsoft_convert во всяком случае не имеет tif, .tiff, .jpg, .jpeg в
> Input files, а mapsoft_mapview говорит Can't determine input format
> для всех таких файлов:
> 
> $ file 100k--l37-001.*
> 100k--l37-001.gif: GIF image data, version 89a, 2373 x 2336
> 100k--l37-001.jpg: JPEG image data, JFIF standard 1.01
> 100k--l37-001.map: ASCII text, with CRLF line terminators
> 100k--l37-001.png: PNG image, 2373 x 2336, 8-bit colormap, non-interlaced
> 100k--l37-001.tif: TIFF image data, little-endian

map должны брать и mapsoft_convert и mapsoft_mapview. Только надо
бы проверить, что в нем корректный путь к jpg, png или tif.

Слава



Подробная информация о списке рассылки Sisyphus