где мы можем получить такой ландшафтный слой ГИС - PullRequest
0 голосов
/ 14 сентября 2011

Здесь я обнаружил, что ландшафтный слой ГИС действительно привлекателен, особенно для представления распределения видов / образцов.Я хотел бы знать, если это может быть достигнуто в R или каких-либо других ресурсов?

Слой ГИС были использованы на рисунке 1 в этой статье (http://onlinelibrary.wiley.com/doi/10.1111/j.1469-8137.2010.03479.x/full).

Это изображение рис 1здесь:

http://onlinelibrary.wiley.com/store/10.1111/j.1469-8137.2010.03479.x/asset/image_t/NPH_3479_f1_thumb.gif?v=1&t=gsk5sbhs&s=e5e2e4bbb194f799f7ab9bec85a416e295405784 enter image description here

Я когда-либо пытался представить этот вопрос в R-sig-geo. Но мне не удалось. Я ожидаю получить некоторую помощь /направления здесь.

Большое спасибо за любые направления.

С наилучшими пожеланиями,

Ответы [ 3 ]

2 голосов
/ 15 сентября 2011

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

Вам нужна таблица цветов из файла GIF, чтобы вы могли построить правильный набор значений RGB для каждого пикселя (информация находится в файле, но я не уверен, что это может бытьполученные непосредственно с помощью R, я проверю - это, безусловно, может быть с GDAL, но извлечение этих значений в автоматическом режиме зависит от наличия различных инструментов).

ОБНОВЛЕНИЕ: Оказывается, чторастровый пакет завладеет информации о цвете правильно и участки его, см. ниже

также необходима информация о гео-пространственных, то есть координаты опорного пикселя (например, верхний левый пиксель угол), а также масштаб (географическая ширина и высота пикселей) и эта информация не сохраняется в файле.Кроме того, система координат файла отсутствует в файле и, скорее всего, не предоставляется явно с данными изображения.

Если бы цвета и система координат были сохранены вместе с файлом, то все было бы легко, и было бы достаточно чего-то подобного следующему.

(Обратите внимание, у меня это сработало один раз, но потом я думаю, что последующие запросы блокируются сервером, поэтому попробуйте загрузить файл только один раз).

u <- "http://onlinelibrary.wiley.com/store/10.1111/j.1469-8137.2010.03479.x/asset/image_n/NPH_3479_f1.gif?v=1&t=gskxvi17&s=0f13fa9dae78bd6837aeee594065c6ca112864d2"

imfile <- paste(tempfile(), ".gif", sep = "")

download.file(u, imfile, mode = "wb")

library(raster)  ## rgdal also required for this file format
library(rgdal)

im <- raster(imfile)

plot(im)

Это выглядит хорошо, но теперь мы видим, что не существует "реальной" системы координат, это просто ось от пикселя 1 до числа в измерении X (и то же самое для Y).

 axis(1, pos = 2)

Correct colour plot, but no real coordinate system

Итак, нам все еще нужно вручную работать, чтобы найти соответствующие опорные координаты для изображения - и догадки здесь могут работать нормально, но все же они являются только догадками, и выв конечном итоге создает много боли для чего-то, казалось бы, простого.

Если вам достаточно интерактивных точек построения, вы можете использовать locator в сочетании с points и lines и text и соответствующими функциями построения.

1 голос
/ 18 сентября 2011

Фэн, если я правильно прочитал документы Google, вы можете изменить метки и отображаемые функции с помощью дополнительных параметров стиля и элемента.Я не включил пользовательские параметры для них в пакет RgoogleMaps, однако вы можете легко передать ЛЮБЫЕ дополнительные параметры через аргумент path!Если вы внимательно прочитаете файл справки для GetMap, обратите внимание на следующий пример:

обратите внимание, что, поскольку строка пути только добавлена ​​к URL, вы можете «злоупотребить» аргументом пути, чтобы передать что-либо в запрос,например, параметр стиля:

# В следующем примере показана карта Бруклина, где местные дороги были заменены на ярко-зеленые, а жилые районы были заменены на черные: ## Не выполнено: GetMap (center = 'Brooklyn', zoom = 12, maptype = "дорожная карта", path = "& style = feature: road.local | element: geometry | hue: 0x00ff00 | saturation: 100 & style = feature: landscape | element: geometry: lightness: -100", датчик= 'false', destfile = "MyTile4.png", RETURNIMAGE = FALSE);

Надеюсь, это поможет,

Маркус Лохер

1 голос
/ 15 сентября 2011

Если вам просто нужны данные, подобные этому изображению, то есть пакеты для прямого доступа к изображениям, снова используя инструменты из sp и rgdal. Этот пример близок к использованию gmap в пакете dismo.

library(dismo)

e <- extent(-7, 5, 38, 44)

gm <- gmap(e, type = "terrain")
plot(gm)

Very simple google maps plot

Обратите внимание, что, хотя мы указываем экстенты в "longlat", изображение возвращается в свой родной (Google) Mercator.

print(gm)

См. ?gmap для получения дополнительных опций преобразования ваших собственных данных в соответствии с проекцией изображения или более широкой функции, установленной в raster, rgdal и sp для других опций. Существуют и другие поставщики изображений, которые могут быть предпочтительнее, и довольно много вариантов в наборе пакетов R.

...