Страница 1 из 1

.gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 26 янв 2010, 12:11
Безликий
Есть растр формата .gif, к нему есть файл привязки .map (ози эксплоер).
Надо этот растр либо конвертировать в geotiff, либо в растровый формат с файлом привязки .tfw (Autocad Raster Design).
Растр представляет собой топографическую карту.
Установил oziexplorer, по крайней мере, с ходу, глянувши в хелп не нашел, как такое сделать.

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 26 янв 2010, 12:33
SS_Rebelious
Тема перевода .map в геотиф и т.п. регулярно всплывает на форуме - можно было воспользоваться поиском ;-)
Стандартный совет - воспользуйтесь GlobalMapper.

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 26 янв 2010, 15:41
manisha
По-моему, в GDAL добавили поддержку привязки из .map файлов, это теперь самый удобный путь конвертации получается .

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 27 янв 2010, 03:45
Максим Дубинин
manisha писал(а):По-моему, в GDAL добавили поддержку привязки из .map файлов, это теперь самый удобный путь конвертации получается .
Откуда информация? Лоскот писал, что они собираются только, неужели уже сделали?

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 28 сен 2010, 06:57
Trace
немного навоял.
Думаю пригодится...
Файл трансформирует *.gif+*.map в geotif, нужно указать, путь до папки с файлами gif и конечным результатом, путь до спроецированного шейп фала (шейп берется с данного сайта), название шейпфайла.
Должны быть на компьютере: OSGeo4W (msys, gdal,gdal-dev). пока работает только с картами 200 000 масштаба.
небольшое пояснение вниутри файла.

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 28 сен 2010, 07:22
Максим Дубинин
Trace, то ли скрипт забыл приложить, то ли описание не до конца. А зачем нужен шейп-файл для конвертации? И чем лучше чем просто gdal_translate/gdalwarp?

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 28 сен 2010, 08:07
Trace
Максим Дубинин писал(а):Trace, то ли скрипт забыл приложить, то ли описание не до конца. А зачем нужен шейп-файл для конвертации? И чем лучше чем просто gdal_translate/gdalwarp?
незаметил что файл не крепится...

Код: Выделить всё

#!/bin/bash
# Файл создан TraCE, с сайта gis-lab.info, особая благодарность потльзователям
# IRC-канала gis-lab за своевременную помощь.
# Предназначен для трансформации и обрезки файлов из одной проекции в другую.
# Для правильной работы скрипта необходим gdal-dev из пакета OSGeo4W и шейп
# сохраненый в нужной проекции. Шейп-файл взят с сайта gis-lab.info. Растры взяты
# с сайта poehali.org (для других растров нужна трансформация имен).
# Запрашиваемый в начале путь, указывается в конце без "/"
# Например /c/temp, а не /c/temp/. иначе выдаст ошибку.
# Запускается с помощью программы Msys и команды sh /путь/до/файла/map2tif.sh
echo Укажите входные параметры для начала работы скрипта
echo Например /c/temp
echo ВНИМАНИЕ!!! Если есть данные в папке с конечным результатом
echo и данные имеют одинаковые название, то все данные будут заменены
echo без подтверждения!
read -p "Введите путь до папки с файлами gif и map -> " DIR_GIF
read -p "Введите путь до папки в которую надо сохранить конечный результат ->" DIR_TIF
read -p "Введите путь до папки с шейп-файлом ->" DIR_SHP
read -p "Введите название шейп-файлас расширением shp (Имя_файла.shp) ->" NAME_SHP
echo Введиде код проекции. Например 28418 - 18 Зона, 28417 - 17 зона
read -p "EPSG: -->" EPSG_NUM
echo Трансформация файлов из gif в geotif
cd $DIR_GIF
    for a in $( ls *.gif); do 
		/c/OSGeo4W/apps/gdal-dev/bin/gdal_translate -of GTiff $a ${a%%.gif}".tif" > null
		/c/OSGeo4W/apps/gdal-dev/bin/gdalwarp -t_srs "EPSG:"$EPSG_NUM -of GTiff ${a%%.gif}".tif" $DIR_TIF"/"${a%%.gif}".tif" > null
		echo $a, готов
	done
echo Удаление файлов с расширением .tif из папки gif
cd $DIR_GIF
rm *.tif

echo Обрезка файлов по вектору и дополнительному полю
cd $DIR_TIF
    for b in $( ls *.tif ); do
	     c="$(echo "${b%%.tif}" | sed 's/200k--//' | tr '[[:lower:]]' '[[:upper:]]' | sed 's/_/,/' | sed 's/-/-0/' | sed 's/,/,0/')"
		 gdal_rasterize -i -b 1 -burn 0 -l ${NAME_SHP%%.shp} $DIR_SHP"/"$NAME_SHP -where 'indexfull="'$c'"' $b > null
		 echo "$c", готов
    done
echo Трансформация закончена.
exit 0 
шейп нужен для обрезки рамки с координатами. да и здесь как то много файлов за раз можно обработать

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 23 окт 2010, 18:54
kryl
У меня так и не получилось заставить GDAL напрямую воспринимать OZI MAP (пробовал с помощью gdalinfo). Не работает не в gdaldev, ни в gdal17.
Работает только скрипт ozi2gdal.py

Re: .gif+.map -> geotiff или растровое изображение +.tfw

Добавлено: 24 окт 2010, 13:11
Trace
интересно. а как с помощью гдалинфо вы пробовали?
попробуйте поставить гдал с помощью OSGeo4W. думаю должно заработать... После установки в командной строке OSGeo4W наберите gdaldev.bat, а потом "gdal_translate -of GTiff исходный_файл.gif конечный_файл.tif" - этой командой вы трансформируете в ГеоТИФ, а командой "gdalwarp -t_srs EPSG:4326 -of GTiff исходный_файл.tif конечный_файл.tif" этой командой вы трансформируете в wgs84 проекцию.
У меня приведенный вами скрипт незаработал на убунте, так и непонял тогда почему :(