Радианы в градусы

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Thunder
Новоприбывший
Сообщения: 4
Зарегистрирован: 01 дек 2009, 12:41
Репутация: 0

Радианы в градусы

Сообщение Thunder »

Добрый день!

Я не так давно стал заниматься веб-кртографией и картографией в целом. Так что прошу не судить строго :)

Задача следующая:
Есть MapServer 2.3.1.
Есть файлы ECW с фрагментами центральной России.
gdlinfo куска с Москвой возвращает следующее:

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

Driver: ECW/ERMapper Compressed Wavelets
Files: C:/ms4w/apps/example/200k/n3702.ecw
Size is 2521, 2969
Coordinate System is:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        TOWGS84[0,0,0,0,0,0,0],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,
        AUTHORITY["EPSG","9108"]],
    AXIS["Lat",NORTH],
    AXIS["Long",EAST],
    AUTHORITY["EPSG","4326"]]
Origin = (0.645766080919828,0.977385509624936)
Pixel Size = (0.000396924426406,-0.000224641716239)
Corner Coordinates:
Upper Left  (   0.6457661,   0.9773855) (  0d38'44.76"E,  0d58'38.59"N)
Lower Left  (   0.6457661,   0.3104243) (  0d38'44.76"E,  0d18'37.53"N)
Upper Right (   1.6464126,   0.9773855) (  1d38'47.09"E,  0d58'38.59"N)
Lower Right (   1.6464126,   0.3104243) (  1d38'47.09"E,  0d18'37.53"N)
Center      (   1.1460893,   0.6439049) (  1d 8'45.92"E,  0d38'38.06"N)
Band 1 Block=2521x1 Type=Byte, ColorInterp=Red
  Overviews: arbitrary
Band 2 Block=2521x1 Type=Byte, ColorInterp=Green
  Overviews: arbitrary
Band 3 Block=2521x1 Type=Byte, ColorInterp=Blue
  Overviews: arbitrary
Файлы ECW у меня подключаются на ура:

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

MAP
	IMAGETYPE      PNG
	SIZE           256 256
	IMAGECOLOR     255 255 255
	SYMBOLSET      "./symbols/symbols35.sym"
	FONTSET        "./fonts/fonts.list"
	SHAPEPATH 	   "/ms4w/apps/example/200k/"
	PROJECTION  	"init=epsg:4326"
	END
	
	WEB
		METADATA
			wms_srs "EPSG:4326"
		END
	END
	
	LAYER
		NAME "n3702"
		DATA "n3702.ecw"
		TYPE RASTER
		STATUS ON
		PROJECTION  	"init=epsg:4326"
		END		
		METADATA
			WMS_SRS "EPSG:4326"
		END
	END
END 
Только вот Москва висит где-то в районе 0 широты и 0 долготы :(
Задача: показать ее там гда она собственно и находится, те 55.746071:37.622975.

Если посмотреть на Origin в gdalinfo, то можно убедиться, что при умножении на 180/pi получаются требуемые координаты.
Вопрос: можно ли с помощью проекций сделать подобное преобразование в MAP файле не трогая ECW?

Буду очень признателен за помощь.
Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Радианы в градусы

Сообщение Максим Дубинин »

надо не преобразовывать, а нормальный ECW получить
посмотрите Corner Coordinates из отчета
Mapserver все правильно показывает
пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Радианы в градусы

Сообщение Mavka »

Данные изначально получены с ошибкой. Единицы измерения заданы как "градусы":

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

UNIT["degree",0.0174532925199433
На самом деле вместо "degree" можно писать все что угодно, значение имеет только последующее число "0.0174532925199433" (кстати, в данном случае это pi/180). Оно задает коэффициент преобразования используемой единицы измерения в радианы. Вам его нужно поменять на единицу (1.0000). (Подробнее смотрите стандарт OGC Coordinate Transformation Service.)

Так что запрашивайте корректные данные заново или ищите способ исправить самостоятельно. В GeoTIFF я бы это решал через дамп заголовка, редактирование и прошивку назад. Какие инструменты есть для ECW не знаю. Задавать в proj.4 систему координат в радианах в вашем случае бессмысленно и проблему никак не решит.
лангольеры под окном жрали время ом-ном-ном
Thunder
Новоприбывший
Сообщения: 4
Зарегистрирован: 01 дек 2009, 12:41
Репутация: 0

Re: Радианы в градусы

Сообщение Thunder »

Всем спасибо за ответ.

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

Я использовал программу ECW Compressor, с помощью которой я просто заменил координаты в файле.

Позвольте еще вопрос касательно растров:
Как MapServer обабатывает большой растровый файл? Что ему проще (а нам быстрее): несколько слоев с меленькимим растрами или один слой с большим растром?
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Радианы в градусы

Сообщение Mavka »

Не сравнивал, думаю, что примерно одинаково
лангольеры под окном жрали время ом-ном-ном
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость