当前位置: 首页 > 知识库问答 >
问题:

如何计算面积的多边形从一个大shapefile

姬和豫
2023-03-14

总结:

我试图在r中计算大量多边形的面积。我读过几篇关于如何做的文章(例1

扩展说明:

我实际上是在计算澳大利亚维多利亚州的房产面积。多边形表示这些属性。我从Spatial Datamart下载了所有维多利亚州的VicMaps简化模型1和2。然而,考虑到形状文件的大小,我不得不将搜索范围缩小到一个地方政府区域(LGA),并计算多边形区域(仅用于测试)。形状文件为15.5MB。

library(raster)
x <- shapefile("D:/Downloads/SDM616230/ll_gda94/shape/lga_polygon/ballarat/VMPROP/PROPERTY_PRIMARY_APPROVED.shp")
crs(x)
x$area_sqkm <- area(x) / 1000000

这是有效的,但它不是我的问题的实际解决方案,因为维多利亚州有许多地方政府机构,我计划最终在昆士兰州和新南威尔士州遵循同样的程序。

然而,试图加载一个更大的shapefile不起作用,并导致以下错误代码“错误:内存耗尽(达到极限?)".

我尝试过使用readShapePoly、readogr、st_read和read_sf将大形状文件转换为R,但它们都不起作用。我觉得文件太大了。我尝试在read_sf中使用select查询,以减小正在读取的文件的大小,但这也不起作用。我在网上读到,我应该设法将shapefile分割成我需要的数据,以缩小大小,但我不知道如何做到这一点。

希望能帮到你。

共有1个答案

袁奇玮
2023-03-14

显然,文件太大,无法容纳单个盒子。我认为选择是

1)将文件分割成较小的文件,逐个处理。看见

https://gis.stackexchange.com/questions/195508/split-a-shapefile-into-smaller-files-on-linux-command-line

2)用一些dbms或者数据仓库来做,他们自动做这样的批处理。

 类似资料:
  • 问题内容: 标题基本上说明了一切。我需要使用Python计算地球表面上的多边形内部的面积。计算地球表面上任意多边形所围成的面积虽然可以说明这一点,但在技术细节上仍然含糊不清: 如果要使用更“ GIS”的样式来执行此操作,则需要为您的区域选择一个度量单位,并找到保留该区域的适当投影(并非全部如此)。由于您正在谈论计算任意多边形,因此我将使用类似Lambert Azimuthal等面积投影的方法。将投

  • 我使用Python 3.4和shapely 1.3.2创建一个多边形对象的长/lat坐标对列表,我转换成一个众所周知的文本字符串,以便解析它们。这样的多边形可能看起来像: 由于shapely不处理任何投影并实现carthesian空间中的所有几何体对象,因此对该多边形调用area方法,如: 以平方度为单位给出多边形的面积。为了得到以平方米为单位的平面面积,我想我必须使用不同的投影变换多边形的坐标(

  • 问题内容: 假设我有一组任意的纬度和经度对,它们代表一些简单的闭合曲线上的点。在笛卡尔空间中,我可以使用格林定理轻松计算出此类曲线所包围的面积。计算球体表面面积的类似方法是什么?我想我所追求的是Matlabareaint函数背后的算法(甚至是近似算法)。 问题答案: 有几种方法可以做到这一点。 1)整合纬度带的贡献。此处每个条带的面积为(Rcos(A)(B1-B0))(RdA),其中A为纬度,B1

  • 这是一个基于我的编程问题的几何问题。基本上,我有一个充满经纬度点的MySQL数据库,每个经纬度点间隔为1km,对应于每个点周围平方公里内居住的人口。然后,我想知道,这些网格中每一个的相对分数,被一个任意大小的圆圈所占,这样我就可以计算出,在一个给定的圆圈内,大致住着多少人。 以下是问题的一种形式(距离不按比例)的一个实际例子: 我想知道居住在X点半径内的人口数量。我的数据库计算出a点和B点的条目与

  • https://stackoverflow.com/a/4682656/7924630这是一个非常有用的答案,帮助我解决这个问题 出于某种原因,这返回的区域值很小,我不明白为什么。例如,我在一个矩形区域上测试了这个。面积应该约为45平方米,但它返回0.0137平方米。我尝试了其他的实现,但没有找到任何对本机JavaScript有用的东西。

  • 我想计算一个随机多边形的面积和一个随机多面体的体积。谷歌搜索让我找到了镶嵌和蒙特卡罗方法。然而,我只感兴趣的是一个精确的计算,而不是通过收敛的近似值。可能有人知道确切的公式,或有一个网页的链接,这样的公式被描述? 对于奇异多边形或多面体,不需要用到这些公式。如果它们适用于简单的(不相交的边)凸形状,我已经很满意了。我只想使用一个顶点坐标列表或(可能按特定顺序排列)。 我能够阅读、、和。因此,用这些