From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 22 Jun 2012 11:43:10 +0400 From: Vladislav Zavjalov To: ALT Linux Sisyphus discussions Message-ID: <20120622074310.GA13694@imap.altlinux.org> References: <20120621054754.GA9463@imap.altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.4.2.3i Subject: Re: [sisyphus] mapsoft X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jun 2012 07:43:10 -0000 Archived-At: List-Archive: List-Post: 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. Слава