Страница 1 из 1
Gdal: Error 4
Добавлено: 17 янв 2012, 08:33
DimonSpb
Работаю из консоли OSGeo4 (версия gdal - 1.8.1) и пытаюсь обрезать привязанный TIF по векторному слою:
Код: Выделить всё
gdalwarp.exe -dstnodata -cutline c:\b.tab c:\1_modify.tif 1.tif
В ответ получаю:
Код: Выделить всё
ERROR 4: 'c:\b.tab' not recognised as a supported file format
Утилиты ogr стоят и работают с файлами MapInfo. Менял СК векторного слоя на WGS84, пробовал с SHP фалом, эта же ошибка.

Почему возникает ошибка?
Файлы
Re: Gdal: Error 4
Добавлено: 17 янв 2012, 13:14
Voltron
Потому что параметр "-dstnodata" у вас без значения. Уберите его или задайте какую-то величину.
Re: Gdal: Error 4
Добавлено: 17 янв 2012, 18:48
DimonSpb
Voltron, спасибо. Исправил в файле Mapinfo полилинию на полигон и ...
Код: Выделить всё
gdalwarp.exe -cutline с:\b.tab с:\1_modify.tif 1.tif
... ошибка не появляется. Но получаемый
файл не содержит фрагмент (содержит голубой фон) и имеет размер как исходный... Что еще не хватает?
Re: Gdal: Error 4
Добавлено: 18 янв 2012, 07:33
DimonSpb
Предполагаю, что получаю "кривой" результат из-за отсутствия информации о Датуме (неполной информации) в исходном tif файле и он (tif) получается за пределами полигона из файла Mapinfo:
Код: Выделить всё
Coordinate System is:
PROJCS["unnamed",
GEOGCS["GCS Name = Krassovsky, 1942|Datum = unknown|Ellipsoid = krass|Primem = Greenwich|",
DATUM["unknown",
SPHEROID["unnamed",6378245,298.2999999999985]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",33],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]]]
Origin = (6455788.530024945700000,7510270.274802914800000)
Pixel Size = (12.627244804633706,-12.627244804633706)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
COMPRESSION=DEFLATE
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 6455788.530, 7510270.275) ( 39d28'7.78"E,801d38'38.62"N)
Lower Left ( 6455788.530, 7470418.690) ( 4d39'54.62"E,717d48'42.37"N)
Upper Right ( 6501638.056, 7510270.275) (131d41'55.25"W,852d14'13.68"N)
Lower Right ( 6501638.056, 7470418.690) (147d45'36.30"W,762d52'55.30"N)
Center ( 6478713.293, 7490344.483) (127d39'19.00"E,781d53'19.15"N)
Пытался исправить с помощью gdal_translate:
Код: Выделить всё
gdal_translate.exe -a_srs "+proj=tmerc +zone=6 +ellps=krass +datum=Pulkovo_1942"
Не помогает.
Как можно "принудительно" прописать параметры Датума в GeoTif?
Re: Gdal: Error 4
Добавлено: 20 янв 2012, 08:11
DimonSpb
Сбился с ног...
Может кто даст для примера "работающие" привязанный растр и контур (tab, mif, shp)?
Re: Gdal: Error 4
Добавлено: 20 янв 2012, 12:39
Александр Мурый
DimonSpb писал(а):Сбился с ног...
Может кто даст для примера "работающие" привязанный растр и контур (tab, mif, shp)?
Работающий пример -- набор
GEOsample для QGIS.
Например, вырезав вначале из слоя
admin.shp границы Новосибирской области в слой
admin_Novosib.shp, а потом применив заветную команду:
Код: Выделить всё
gdalwarp -dstnodata 0 -crop_to_cutline -cutline admin_Novosib.shp relief.tif relief_Novosib.tif
,
получаем рельеф на указанную территорию

- gdalwarp_cutline_Novosib.png (75.92 КБ) 7904 просмотра
Re: Gdal: Error 4
Добавлено: 23 янв 2012, 08:21
DimonSpb
Спасибо,
amuriy!
Проконтролировал "совместимость" вектора и растра в QGis.
Дело было в том, что в srs.db, позаимствованной у QGis, описание СК имеет сл.вид:
Код: Выделить всё
+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0
и если привязывать без номера зоны, то "плоские" координаты переводятся в геодезические правильно (в Geotiff), но при этом открытие растра в ГИС (MapInfo, QGis) происходит со смещением на N*10^6 (N - номер зоны), хотя в растре содержится описание СК.
В самом QGis в описании СК присутствует номер зоны:
Код: Выделить всё
+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0
ИМХО, в srs.db присутствует несколько вариантов описания одной и той же СК (с учетом и без номера зоны) - не нашел. Или есть другое объяснение этого...
