- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有多个物种范围,如下所示(例如蓝色)这个从东到西横跨非洲:
我可以使用 rgeos
包中的 gArea
获取总面积。我想知道的是有多少个单独的多边形构成了这个文件 - 即总范围内有多少不同的区域(这可能是岛屿,或者只是分离的种群)以及是什么这些多边形的范围是。我一直在使用以下代码:
#Load example shapefile
shp <- readShapeSpatial("species1.shp")
#How many polygon slots are there?
length(shp@polygons)
>2
#How many polygons are in each slot
length(shp@polygons[[1]]@Polygons
length(shp@polygons[[2]]@Polygons
并获取特定区域的面积:
shp@polygons[[1]]@Polygons[[1]]@area
这是正确的吗?我担心山脉中间的湖泊可能会自行构成一个多边形?我想以大致如下的列表结束:
Species A Species B
Polygon 1 12 11
Polygon 2 13 10
Polygon 2 14 NA
如果上面的代码是正确的,如果我想为每种多边形及其各自的范围编制一个列表,那么传递给循环将非常简单。
谢谢
最佳答案
这是一个非常不起眼的解决方案,但它现在可以完成工作。
for(i in 1:length(shpfiles)){
shp <- shpfiles[[i]]
#1) Create master list of all polygon files within a shapefile
#How many lists of polygons are there within the shpfile
num.polygon.lists <- length(shp@polygons)
#Get all polygon files
master <- vector(mode="list")
for(i in 1:num.polygon.lists){
m <- shp@polygons[[i]]@Polygons
master[[i]] <- m
}
#Combine polygon files into a single list
len <- length(master)
if(len > 1) {
root <- master[[1]]
for(i in 2:length(master)){
root <- c(master[[i]], root)}
} else {root <- master[[1]]}
#Rename
polygon.files <- root
#2) Count number of polygon files that are not holes
#Create a matrix for the total number of polygon slots that are going to be counted
res <- matrix(NA,ncol=1 , nrow=length(polygon.files))
#Loop through polygons returning whether slot "hole" is TRUE/FALSE
for(i in 1:length(polygon.files)){
r <- isTRUE(polygon.files[[i]]@hole)
res[[i,1]] <- r
}
#Count number times "FALSE" appears - means polygon is not a hole
p.count <- table(res)["FALSE"]
p.count <- as.numeric(p.count)
print(p.count)
}
这是一个开始
关于r - 计算 shapefile 中的多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222617/
我想为 H3 生成 shapefile特定地理区域的六边形。特别是,我对分辨率为 6、7 和 9 的湾区感兴趣。如何为覆盖该区域的六边形创建 shapefile? 我是 shapefile 或任何其他
我有一个形状文件 (Sample.shp) 以及其他两个文件(Sample.shx 和 Sample.dbf),其中为孟买的 15 个 pincode 定义了几何图形(多边形)。 我可以使用快速入门教
我已经在这方面工作了一段时间并且取得了一些成功,但是在重写文件时,我没有。 我正在使用的 shapefile 是都市和小都市地区的多边形形状文件,但我对小都市地区不感兴趣,所以我正在使用 R 中的 s
我下载了波士顿的 shapefile,并想使用下面的代码将其绘制出来。然而它给了我一个错误 ValueError: lat_0 必须在 -90.000000 和 90.000000 度之间 原来coo
我正在使用 {raster} 来根据不规则形状文件(亚马逊生物群落)剪辑(或裁剪)栅格,但输出始终具有矩形范围。但是,我需要形状文件的完全相同的几何形状的输出。有小费吗?干杯。 library(ras
在 fiona 1.5.0 上(我很困惑为什么各种文件(例如 .dbf 和 .gdb)不打印我的“不是 Shapefile!”(这是我想要的文件不是 . shp) 退出前警告。 import fion
我正在尝试使用 python 中的 matplotlib 在世界地图上绘制国家/地区的填充多边形。 我有一个包含每个国家/地区边界坐标的 shapefile。现在,我想使用 matplotlib 将这
我使用 postgresql 9.1,postgis 2.0.1。为了将 shapefile 导入我的数据库,我使用 shp2pgsql。我尝试了很多导入这些 shapefile 的方法(shp2pg
有没有办法读取具有特定字符编码的形状文件?我正在尝试读取在某些名称中包含特殊(法语)字符的加拿大 shapefile。我可以手动转换它们,但如果我对某处的设置一无所知,我宁愿不这样做。 # manua
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
library(raster) admin <- getData('GADM', country='FRA', level=2) set.seed(123) id <- data.frame(ID_2
我目前有一个英国的 shapefile,并绘制了英国不同地区的物种种群。到目前为止,我刚刚绘制了 3 个物种种群水平,并将它们着色为红色 = 高、橙色 = 中、绿色 = 低。但我想做的是有一个渐变图,
Facebook 构建了它所谓的 relative wealth index适用于全局 > 1900 万个微型区域(2.4 公里网格单元)。他们已经 shared the data ( zip ) 在
在阅读了大量帖子和网站后,我无法找到如何从我的经纬度数据表中创建多边形 shapefile。我想创建这样的 map 。 我的csv数据文件包含地中海1000个点的经度、纬度和属性。我想按属性创建 sh
你好我尝试实现传单插入,以显示本地托管的 shapefile。 shapefile 的显示有效,但我想添加一个图层控件(用于切换 shapefile 图层)。插件链接:https://github.c
使用下面的代码,我可以创建一条折线并将其写入形状文件。但我也想读取Polyline类型的形状文件并将Point转换为x:f64和y:f64。 use shapefile::{Point, Polyli
我有一个包含亚马逊大河的 shapefile。仅 shapefile 就有 37.9 MB,连同属性表高达 42.1 MB。我正在生成所有巴西亚马逊的 PNG 图像,每个 1260x940 像素,sh
我正在尝试导入这样的形状文件: fn <- "Proj1" my_shp <- readShapeSpatial(fn) 在 Windows 计算机(32 位)上它工作正常,但是当我在 Ubuntu
我有一个导出 ArcGIS map 点的应用程序。 Spring MVC Controller 中的接收点。 我的指针有一个可变的属性列表。属性是具有两个值(名称和值)的字符串列表。代码: publi
我正在编写一个 map 应用程序,用于导入人口普查和 USGS 信息并将其显示为 Google map 上的叠加层。我想导出这些项目的混搭并导出为 Shapefile . 我使用 geotools 库
我是一名优秀的程序员,十分优秀!