2016-02-11 3 views
1

Я пытаюсь изменить растровую проекцию, используя R и пакет raster. Входной растровый проектор - Lambert Azimuthal; параметры здесь:Использование R для изменения растровой проекции

Coordinate System: 
Lambert_Azimuthal_Equal_Area 
False_Easting:00,000000 
False_Northing:000,000000 
Central_Meridian: 10,000000 
Latitude_Of_Origin: 52,000000 
GCS_ETRS_1989 
Datum: D_ETRS_1989 
Prime Meridian: 0 


PROJCS 
["ETRS_1989_LAEA", 
    GEOGCS ["GCS_ETRS_1989", 
      DATUM ["D_ETRS_1989", 
        SPHEROID ["GRS_1980",6378137.0,298.257222101]], 
      PRIMEM["Greenwich",0.0], 
      UNIT["Degree",0.0174532925199433]], 
    PROJECTION["Lambert_Azimuthal_Equal_Area"], 
    PARAMETER["False_Easting",00.0], 
    PARAMETER["False_Northing",3210000.0], 
    PARAMETER["Central_Meridian",10.0], 
    PARAMETER["Latitude_Of_Origin",52.0], 
    UNIT["Meter",1.0]] 

Мне нужно, чтобы преобразовать их в простые растров в формате ESRI ASCII, используя координаты широты и долготы, с проекцией Меркатора стиле, с размером ячейки 0,1 градусов (я надеюсь объяснить я достаточно хорошо, потому что у меня недостаточно навыков ГИС, извините). Мне нужны растры в формате .ASC, где каждое значение растра соответствует одной ячейке размером N x N, где N находится в градусах (например, 0,1 градуса), а растровые координаты - по долготе/широте.

Я попытался использовать библиотеку raster в R и следовать приведенным ниже примерам для функции projectRaster. Но после многих попыток, использующих множество параметров, я не смог сделать это правильно. Я думаю, что я не использую правильные параметры для проекции, datum или что-то вроде этого.

Вот что я пробовал. Я загрузит растр в R, то я поставил его проекцию, используя:

>crs(r)<-"+proj=laea +lat_1=52 +lon_0=-10 +ellps=GRS80" 

Затем я определяю проекцию выходной, и я пытаюсь преобразование и не сохранить:

>newproj <- "+proj=lonlat +lat_1=52 +lon_0=-10 +ellps=WGS84" 
>pr2 <- projectRaster(r, crs=newproj, res=0.1) 
>writeRaster(pr2, "newraster.asc", overwrite=TRUE) 

нет сообщений об ошибках, но в результате растр не правильно спроектированы (границы стран не совпадают, страны слегка искажены).

Спасибо за помощь!

+0

Добро пожаловать на SO и спасибо за размещение вопрос. Пожалуйста, покажите нам, какой код вы пробовали, и сообщения об ошибках (если они есть). –

+1

если возможно, можете ли вы связать образец растра для нас? Это позволит нам увидеть, есть ли проблема с самим файлом или просто с вашим кодом. – MikeJewski

ответ

3

Учитывая описание проекции, которую Вы предоставляете, это кажется неправильным:

crs(r) <- "+proj=laea +lat_1=52 +lon_0=-10 +ellps=GRS80" 

Как не включают в себя ложные Northing и пищеблок параметров; и lat_1, вероятно, должно быть lat_0. Это может быть лучше:

crs(r) <- "+proj=laea +lat_0=52 +lon_0=10 +x_0=00 +y_0=3210000 +ellps=GRS80 +units=m" 

Это также выглядит странно:

newproj <- "+proj=lonlat +lat_1=52 +lon_0=-10 +ellps=WGS84" 

Как насчет

newproj <- "+proj=longlat +datum=WGS84" 
Смежные вопросы