Конвертация IMG в PNG

Некоторые программы умеют сохранять куски открытой карты IMG в картинки. А есть ли какая-то утилита, которая может это делать пакетно, подготавливая файлы для своего слоя? Ну в смысле, кормим ей файл IMG и на выходе получаем картинки для слоя.

GPSMapEdit?

эм… мой косяк, что упустил требования…
нужна свободная программа, мультиплатформенная.

а она умеет пакетно это делать?

Может стоит таки огласить конечную задачу?
Например, вы же наверняка (хотя я этого не утверждаю, а только предполагаю) собираетесь делать это под какой-то определенной ОС, а не под всеми сразу, так что требование кроссплатформенности звучит чуть странновато. Нужен Linux?

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

Вообще, сторонних программ, которые умели бы нормально показывать Garmin IMG с учетом TYP не так много. Например, QLandkarte. Она, правда, читает не отдельные файлы, а мапсеты. Интерфейса командной строки не имеет, но доступны исходники.

Мне требуется из готового файла IMG настрогать PNG-файлы для подложки (сервер тайлов, что ли, это называется). Под linux. Делать это нужно автоматически, то есть не открывать файл и не сохранять куски по-отдельности, а запуская одной командой программу на пакетную обработку.

IMG-файлов действительно много? И что это за карта, если не секрет?
Пока я вижу задачу состоящей из двух частей: сохранить содержимое самого подробного слоя IMG в растр с учетом TYP, а уже потом нарезать растр на тайлы (по вкусу - оптимизировать их). Со второй частью справится MapTiler. С первым - пока вопрос. Если карт не много - отсутствие подходящего инструмента могло бы быть скомпенсировано некоторым объемом ручной работы. Если много - то надо дописывать что-то на базе QLandkarte - это, на сколько мне известно, единственная программа, которая умеет визуализировать Garmin IMG под Linux.

В корне неверно. На разных слоях отображаться могут разные данные. Например, на масштабе области дома не нужны и вредны, а вот административные границы вполне.

ага, уже смотрю.

Нельзя по условию :slight_smile: Все должно быть автоматом.

Вобще вопрос в том, есть ли такое ПО? Чтобы велосипед не изобретать.

Не “в корне не верно”, а “вам нужно иначе”. :slight_smile:
Нет, конвертера, который бы из командной строки под линуксом растеризовал бы разные слои карты, на сколько мне известно, не существует. К слову - карты в NT-формате вообще ни чем кроме фирменного софта Garmin не читаются, а софт, снимающий lock с карт, на которых он есть, существует, опять же на сколько мне известно, только под windows. Так что если идея в устройстве сервера, который бы делал из любой карты тайл-сет, карты будут в любом случае не любые.

Вообще, конечно, можно попытаться разбирать IMG, складывать это в базу и выводить через Mapserver/Geoserver/Tilemill и т.п., но проблема в том, что семантика в разных картах может различаться. Ну и TYP мы теряем, если для каждой карты не генерить на его основе отдельный mapcss или SLD - стиль.

То что в данном случае нужно - это рендерилка, которая рендерила бы ПОЛЬСКИЙ ФАЙЛ. Но такой пока нет.

Под Windows в Global Mapper есть возможность открывать польский формат и экспортировать тайлы.
Еще вот тут http://www.isgn.ru/GEO.php делают ActiveX, который понимает польский формат. Но нарезку тайлов придется писать самостоятельно.

GM по увловиям, оглашенным топикстартером, не подходит вообще, как и ActiveX. Готовые инструменты нарезки тайлов есть (gdal2tiles, на котором основан MapTiler), писать их не надо.

Рендерить сам MP особого смысла нет (в смысле, затачивать рендерилку под него) - тогда уж имеет смысл написать конвертер mp2postgis, например (или в любой другой формат, который понимают всякого рода мапсерверы и т.п.) и к нему - typ2mapcss/typ2sld.

Логично ведь не изобретать велосипед, а потратить силы на то, чтобы сделать что-то, чего действительно нет.

BushmanK, я написал про общий случай.
Топикстартеру если программировать, то проще всего написать mp2osm, а далее использовать maperitive.

В общем случае - не проще. Большинство карт под Garmin, конечно, имеют стандартную семантику, которая адекватно конвертируется в OSM, но это справедливо не для всех карт, некоторые из которых используют стандартные типы не по назначению, а их отображение приводится в приборах Garmin к нужному виду через TYP. Поскольку топикстартер так и не озвучил, какие именно карты собирается скармливать своему сервису, предполагаемый функционал стоит рассматривать исходя из любой возможной карты, включая векторизованные снимки, которые генерит Moagu, например.

Ну создавать я пока ничего такого не планирую, рожей (специальностью) не вышел. Я вобще просто спросил, есть ли такое ПО.
Просто ковыряю mkgmap, делая свою сборку. Нахожу всякие места, ошибочные или просто для меня непонятные. Подумалось, что чем объяснять, где что и как, проще сделать из img подложку и давать ссылку на точку.

При конвертации никто не мешает для каждой карты сделать отдельный набор правил.

Не факт, что сторонний софт будет эти места отображать так же, как Garmin.
Может быть, будет достаточно маркера на стандартной веб-карте osm? Или каких-нибудь путевых точек в Garmin?

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

Да, и получится решение, которое имеет смысл в контексте OSM. В том числе, ориентированное на использование только инструментов, созданных для OSM (за одно, вносящих свою специфику). Тогда как моя идея в том, чтобы конвертировать геометрию, семантику и стили в независимый формат (БД), это вышел бы более “атомарный” инструмент, который можно использовать шире.