ArcMap分别求取矢量要素各区域的面积
本文介绍基于ArcMap软件,自动批量计算矢量图层中各个要素的面积的方法。
一次,遇到一个问题,需要分别计算ArcMap软件中一个图层的所有面要素的面积。如图,这个图层中包括多个省级行政区矢量面要素,现在需要分别计算其中每一个要素各自的面积。

这里有一个方便的办法。
首先我们新建一个字段。打开图层属性表,选择“Add Field”。

在弹出的界面中,配置如下。其中,“Name”大家可以随意,“Type”选择“Float”,下方的字段属性中,“Precision”为字段的所有数字位数,无论是在小数点左边还是右边;“Scale”则为小数点右边的数字位数,也就是保留几位小数。例如:365.20的Precision就是5,Scale就是2。

可以看到,已经新建了一个字段。

在新建的字段名称上右键,选择“Calculate Geometry”。

弹出了一个提示,大概意思是说:我没有在开启编辑模式的情况下进行字段计算,那么这样会让计算变得快一些,但是一旦计算开始,就不能撤回。
因此,追求计算速度还是追求可以撤回,依据大家的实际情况来就好。因为我这里数据不多,计算也比较简单,因此就直接选择了继续。

点击“Yes”之后,在弹出的窗口中第一个“Property”下拉框中选择面积,也就是“Area”;此时发现我的“Area”后面跟着一个“Disabled”。为什么处于这种状态呢?

一般的,出现上述情况都是因为我们的面要素(也就是这个图层)处于地理坐标系,而并不是投影坐标系。二者最简单的区别就是,地理坐标系用经度、纬度作为空间衡量指标,而投影坐标系用米、千米等长度单位作为空间衡量指标。
那么,我们就来看看我们现在是不是处于地理坐标系状态。在图层列表中,右击我们当前的图层的名称,选择“Properties”。

选择“Source”,可以看到,图层的地理坐标系统(“Geographic Coordinate System”)为WGS_1984,这是一个地理坐标系,而非投影坐标系。

因此,如果我们需要计算面积,必须将这一图层转为投影坐标系。
具体转换的方法,点击查看ArcGIS地图投影与坐标系转换的方法即可,这里就不赘述啦~

转换为投影坐标系后,打开新图层的属性表,可以看到我们刚刚新建的字段在这里也是存在的。
依据同样的方法,打开“Calculate Geometry”,可以看到此时“Area”就不再带着“Disabled”了。

其中,“Coordinate System”选择第一项,也就是图层自身的坐标系,也就是刚刚我们给他投影所选用的投影坐标系;“Units”是单位,大家依据实际情况来就好。我在这里选择平方米~
点击“OK”。可以看到“Area”字段已经有面积了。

那么,我们对这个计算出来的面积随机验证一下。用河南来验证,计算面积为165982687427.8129平方米,也就是165982.69平方千米;我们看看实际面积:

差了大概1000平方千米。不能说很准确,但是还是可以满足基本的大尺度区域分析了。在这里,精度误差可能的来源包括所用省级行政区.shp文件精度、投影坐标系选用等。大家依据各自的研究需要,来决定需不需要对面积数据精度加以提升;可用的提升方法包括更换投影坐标系、采用更精确的行政区图层等方法。
再用北京试一下。计算的面积为16394318646.91106平方米,也就是16394.32平方千米;实际面积:

这个就很准确了~
那么,能不能求出图层中所有矢量要素面积的和呢?可以的——在“Area”字段名称上右键,选择“Statistics”。

这里可以对全部字段的样本数量、极值、综合、平均值、标准差、Null值个数等加以查看,非常方便。

至此,大功告成。
ArcMap分别求取矢量要素各区域的面积的更多相关文章
- ArcGIS中如何导出单个矢量要素图形
原文:ArcGIS中如何导出单个矢量要素图形 在ARCGIS中载入了一张含有省界的中国地图,是SHP文件.现在我只想要其中一块地区的,实现方法如下: 加入到ArcGIS后,右击图层,打开属性表(att ...
- 使用C#版OpenCV进行圆心求取
OpenCVSharp是OpenCV的.NET wrapper,是一名日本工程师开发的,项目地址为:https://github.com/shimat/opencvsharp. 该源码是 BSD开放协 ...
- java 求取某一段时间内的每一天、每一月、每一年
1.求取某一段时间内的每一天 Date date0 = new SimpleDateFormat("yyyy-MM-dd").parse("2014-01-01" ...
- OpenCV 最小二乘拟合方法求取直线倾角
工业相机拍摄的图像中,由于摄像质量的限制,图像中的直线经过处理后,会表现出比较严重的锯齿.在这种情况下求取直线的倾角(其实就是直线的斜率),如果是直接选取直线的开始点和结束点来计算,或是用opencv ...
- php自定义函数求取平方根
<?phpfunction sqare($a, $left, $right){ $mid = ($left + $right)/2; if($mid * $mid == $a || (abs($ ...
- oracle 当前年到指定年的年度范围求取
如下面公式所示,求取2015到当前年(2018)的年度范围,当前年是由系统获取的,用到了sysdate和函数to_char,to_date. 当然,当前年也可以换成指定年份 SELECT TO_CHA ...
- poj 1523Tarjan算法的含义——求取割点可以分出的连通分量的个数
poj 1523Tarjan算法的含义——求取割点可以分出的连通分量的个数 题目大意:如题目所示 给你一些关系图——连通图,想要问你有没有个节点,损坏后,可以生成几个互相独立的网络(也就是连通分量), ...
- python 库 Numpy 中如何求取向量范数 np.linalg.norm(求范数)(向量的第二范数为传统意义上的向量长度),(如何求取向量的单位向量)
求取向量二范数,并求取单位向量(行向量计算) import numpy as np x=np.array([[0, 3, 4], [2, 6, 4]]) y=np.linalg.norm(x, axi ...
- K:求取数组中最大连续子序列和的四个算法
相关介绍: 求取数组中最大连续子序列和问题,是一个较为"古老"的一个问题.该问题的描述为,给定一个整型数组(当然浮点型也是可以的啦),求取其下标连续的子序列,且其和为该数组的所有 ...
- 第3节 mapreduce高级:8、9、自定义分区实现分组求取top1
自定义GroupingComparator求取topN GroupingComparator是mapreduce当中reduce端的一个功能组件,主要的作用是决定哪些数据作为一组,调用一次reduce ...
随机推荐
- GB 2312字符集:中文编码的基石
一.GB 2312字符集的背景 GB 2312字符集是中国国家标准委员会于1980年发布的一种中文字符集,是中国大陆最早的中文字符集之一.GB 2312字符集的发布填补了中国大陆中文编码的空白,为中文 ...
- 全面解析 Redis 持久化:RDB、AOF与混合持久化
前言: 每次你在游戏中看到玩家排行榜,或者在音乐应用中浏览热门歌单,有没有想过这个排行榜是如何做到实时更新的?当然,依靠 Redis 即可做到. 在技术领域,我们经常听到「键值存储」 这个词.但在 R ...
- weekToDo - 一个本地todo软件 - 软件推荐 先用着试试
https://weektodo.me/ https://github.com/Zuntek/WeekToDoWeb/releases/download/v1.7.0/WeekToDo-Setup-1 ...
- koa 文件下载 pdf预览 两个接口 - nodejs - chromeDownload chromePreview
koa 文件下载 pdf预览 两个接口 - nodejs - chromeDownload chromePreview chrome.js const router = require("k ...
- ESP8266 下安装esptool.py并使用esptool刷机神助手
一 前记 在使用ESP8266模块时,通常会用到一些刷机软件.官方提供了nodemcu_flasher.ESPFlashDownloadTool.ESP8266Flasher等下载工具,但是缺少更底层 ...
- Kotlin学习快速入门(8)—— 委托
原文地址:Kotlin学习快速入门(8)-- 属性委托 - Stars-One的杂货小窝 委托其实是一种设计模式,但Kotlin把此特性编写进了语法中,可以方便开发者快速使用 委托对应的关键字是by ...
- 实时云渲染技术_如何助力VR虚拟现实走向成熟?
近年来,虚拟现实(Virtual Reality, VR)技术在市场上的应用越来越广泛,虚拟现实已成为一个热门的科技话题.相关数据显示,2019年至2021年,我国虚拟现实市场规模不断扩大,从2019 ...
- 记录--css水滴登录界面
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 今天我们来分享一款非常有趣的登录界面,它使用HTML和CSS制作,具有动态的水波纹效果,让用户在登录时感受到了一股清凉之感. 基本h ...
- 深入在线文档系统的 MarkDown/Word/PDF 导出能力设计
深入在线文档系统的 MarkDown/Word/PDF 导出能力设计 当我们实现在线文档的系统时,通常需要考虑到文档的导出能力,特别是对于私有化部署的复杂ToB产品来说,文档的私有化版本交付能力就显得 ...
- LocalDate获取指定月的上个月的第一天和最后一天
LocalDate date = LocalDate.of(2022, 8, 30); LocalDate lastMonth = date.minusMonths(1); // 当前月份减1 Loc ...