gpt4 book ai didi

r - 提取 shapefile 值以指向 R

转载 作者:行者123 更新时间:2023-12-04 10:26:52 25 4
gpt4 key购买 nike

我想在特定位置提取 shapefile 值。我正在使用的 shapefile 可以在 here 中找到, 点击下载 Download IHO Sea Areas .形状文件包含所有可能的海洋。

我可以阅读它并使用以下方法绘制它:

require("maptools")
require(rgdal)
require(sp)

ogrListLayers("World_Seas.shp")
shape <- readOGR("World_Seas.shp", layer="World_Seas")

但是,我想提取特定位置的海值,例如
p <- c(-20, 40)

最佳答案

可能有一种更简单的方法,但这是我的看法

require("maptools")
require(rgdal)
require(sp)
library(plyr)
library(dplyr)

setwd("/Users/drisk/Downloads/seas")
ogrListLayers("World_Seas.shp")
shape=readOGR("World_Seas.shp", layer="World_Seas")

datapol <- data.frame(shape)
pointtoplot <- data.frame(x=-20, y=40)
coordinates(pointtoplot) <- ~ x + y
proj4string(pointtoplot) <- CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0")
#
#function over from package sp
test <- data.frame(xx=over(shape, pointtoplot))
combine <- cbind(test, datapol)
combine <- na.omit(combine) #only one point left

您点的输出 x=-20, y=40
   xx                 NAME ID Gazetteer_ id
35 1 North Atlantic Ocean 23 1912 35

关于r - 提取 shapefile 值以指向 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34272309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com