2017-01-22 11 views
4
library(reshape2) 
library(data.table) 
library(dplyr) 
library(magrittr) 
library(ggplot2) 
library(scales) 
library(gstat) 
library(DescTools) 
library(sp) 



#I want a colorado grid# 
data("colorado.grid") 

#making cordinates into spatial points dataframe# 
coordinates(Gold_tracer_kri) <- ~ long_orig + lat_orig 
#attempt at kriging but no grid# 
lzn.kriged <- krige(Au ~ 1, Gold_tracer_kri, colorado.grid, model=lzn.fit) 

lzn.kriged %>% as.data.frame %>% 
ggplot(aes(long_orig=long_orig, lat_orig=lat_orig)) +  geom_tile(aes(fill=var1.pred)) + coord_equal() + 
scale_fill_gradient(low = "yellow", high="red") + 
scale_x_continuous(labels=comma) + scale_y_continuous(labels=comma) + 
theme_bw() 

нагрузки пространственной области для интерполяции над

data("meuse.grid") 

Я пытаюсь использовать методы кригинга в R, но я застрял из-за не в состоянии найти сетку для мои данные. Мои данные занимают все штаты США в штате Колорадо, и я хотел бы получить сетку для переноса моих данных. Подобно meuse.grid, который используется в следующем примере.Как создать сетку пространственных точек

Любая помощь будет оценена

ответ

5

вы можете создать сетку с помощью sp::makegrid

library(sp) 
library(rgdal) 
library(raster) 

# load some spatial data. Administrative Boundary 
us <- getData('GADM', country = 'US', level = 1) 
us$NAME_1 
colorado <- us[us$NAME_1 == "Colorado",] 


# check the CRS to know which map units are used 
proj4string(colorado) 
# "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" 

# Create a grid of points within the bbox of the SpatialPolygonsDataFrame 
# colorado with decimal degrees as map units 
grid <- makegrid(colorado, cellsize = 0.1) 

# grid is a data.frame. To change it to a spatial data set we have to 
grid <- SpatialPoints(grid, proj4string = CRS(proj4string(colorado))) 

plot(colorado) 
plot(grid, pch = ".", add = T) 

Example with Colorado

И другой пример с Австрией (GADM код 'AUT'). Example with Austria

сетки указывает только в пределах полигона:

Чтобы извлечь только точки в пределах многоугольника, используйте `[` для подмножества точек на основе местоположения, как это:

grid <- grid[colorado, ] 
+0

Есть ли способ заполните только интерьер Австрии? – Richard

+0

Одной из идей было бы подмножество этой сетки только для точек, которые пересекаются с областью Австрии: 'grid [poly,]' должен делать трюк – loki

+0

@Richard, см. Мое редактирование. Я добавил объяснение. – loki

 Смежные вопросы

  • Нет связанных вопросов^_^