2016-05-04 2 views
1

Я надеюсь получить файл .csv со списком координат, соответствующих центру каждого квадрата сетки, на plot.Создание точек из сетки с использованием R

Я был в состоянии отобразить polygon и наложение grid, однако я не уверен, что будет необходимо, чтобы а) сюжетными в центре каждого квадрата сетки, и б) извлечения координат из точек - хотя позже будет выпадать после того, как а) будет завершена.

Сетка участок показан ниже:

Grid Plot

Любые предложения будут оценены.

First we need to make a regular grid 
     NGSA.grid=spsample(NGSA.union, n = 1000, type="regular", nsig = 2, offset = c(0.5,0.5),pretty = FALSE) 
     str(NGSA.grid) 
     gridded(NGSA.grid)=TRUE 
     plot(NGSA.grid,pch=19,cex=0.1,col="green",axes=TRUE) 
     plot(NGSA.OGR, add=TRUE, pch=16, cex=0.5) 
     proj4string(NGSA.grid)==proj4string(NGSA.OGR) 
+0

ли 'координаты (NGSA.grid) 'дает вам матрицу координат? Я не могу сказать, потому что у нас нет ваших данных, поэтому мы не можем запустить ваш код. Попробуйте сделать пример с данными, которые мы все можем использовать, например, данные образца из пакетов 'sp' или' rgdal'. – Spacedman

ответ

1

Сначала следует ?readOGR создать scot_BNG объект, который я буду использовать здесь.

Затем создайте объект: географической привязкой

> scotgrid = spsample(scot_BNG, n=1000, type="regular", nsig=2, pretty=FALSE) 
> gridded(scotgrid)=TRUE 

Тогда функция coordinates получает вас центры сетки. Обратите внимание, что вы можете просто использовать объект scotgrid, созданный выше , до, вы сделали его gridded. В этот момент его объект SpatialPoints. В любом случае:

> head(coordinates(scotgrid)) 
      x1  x2 
[1,] 211728.1 535835.7 
[2,] 247407.1 535835.7 
[3,] 238487.4 544755.4 
[4,] 247407.1 544755.4 
[5,] 265246.6 544755.4 
[6,] 274166.3 544755.4 

И если вы хотите, чтобы построить клеточные центры по сетке, вы можете просто использовать points, который извлекает эти координаты ячейки перед построением графика:

> plot(scotgrid) 
> points(scotgrid,pch=19,col="red",cex=.25) 

points in grid cells

+0

Это прекрасно! Благодарим вас за подробный ответ –