首页 > 其他分享 >ArcMap分别求取矢量要素各区域的面积

ArcMap分别求取矢量要素各区域的面积

时间:2024-04-15 10:44:21浏览次数:33  
标签:面积 Area 矢量 投影 求取 ArcMap 计算 图层 坐标系

  本文介绍基于ArcMap软件,自动批量计算矢量图层中各个要素面积的方法。

  一次,遇到一个问题,需要分别计算ArcMap软件中一个图层的所有面要素的面积。如图,这个图层中包括多个省级行政区矢量面要素,现在需要分别计算其中每一个要素各自的面积。

image

  这里有一个方便的办法。

  首先我们新建一个字段。打开图层属性表,选择“Add Field”。

  在弹出的界面中,配置如下。其中,“Name”大家可以随意,“Type”选择“Float”,下方的字段属性中,“Precision”为字段的所有数字位数,无论是在小数点左边还是右边;“Scale”则为小数点右边的数字位数,也就是保留几位小数。例如:365.20Precision就是5Scale就是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值个数等加以查看,非常方便。

  至此,大功告成。

标签:面积,Area,矢量,投影,求取,ArcMap,计算,图层,坐标系
From: https://www.cnblogs.com/fkxxgis/p/18135402

相关文章

  • Adobe Illustrator 2024 v28.4.1 (macOS, Windows) - 矢量绘图
    AdobeIllustrator2024v28.4.1(macOS,Windows)-矢量绘图Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD请访......
  • 大厂设计师都在使用各种矢量图标
    好用的产品离不开设计视觉规范的图标,一个图标是正确传达所表达的信息极其的重要,以下整理UI产品日常工国外图标网址:网址一:TablerIcons网址二:https://remixicon.com/网址三:https://feathericons.com/国内:网址一:https://iconpark.oceanengine.com/home网址二:https:......
  • NumPy 基础知识:数组和矢量化计算
    目录NumPyndarray:多维数组对象创建ndarraysndarrays的数据类型使用NumPy数组进行运算基本索引和切片使用切片编制索引布尔索引花式索引转置数组和交换轴伪随机数生成通用函数:快速的逐元素数组函数数组面向数组编程将条件逻辑表示为数组运算数学和统计方法布尔数组......
  • 第11章 使用类——再谈重载:矢量类(二)
    本文章是作者根据史蒂芬·普拉达所著的《C++PrimerPlus》而整理出的读书笔记,如果您在浏览过程中发现了什么错误,烦请告知。另外,此书由浅入深,非常适合有C语言基础的人学习,感兴趣的朋友可以自行阅读此书籍。上节我们实现了个矢量类,这节我们主要对其中使用的C++技术做些说明。矢......
  • 第11章 使用类——再谈重载:矢量类(一)
    本文章是作者根据史蒂芬·普拉达所著的《C++PrimerPlus》而整理出的读书笔记,如果您在浏览过程中发现了什么错误,烦请告知。另外,此书由浅入深,非常适合有C语言基础的人学习,感兴趣的朋友可以自行阅读此书籍。矢量,是工程和物理中使用的一个术语,它是一个有大小和方向的量。例如,推东......
  • GEE C22-23 探索矢量、栅格/矢量转换(part5)
     Part1探索矢量一、在GEE中使用几何工具创建要素 二、加载现有的特征和特征集合在地球varroi=table;//vartiger=ee.FeatureCollection('TIGER/2010/Blocks');//Addthenewfeaturecollectiontothemap,butdonotdisplay.Map.addLayer(roi,{'color'......
  • Python与CAD系列高级篇(二十六)根据图片生成cad轮廓矢量
    目录0简述1功能描述2应用3功能实现0简述本篇介绍根据图片文件提取出轮廓特征信息并在cad中绘制出相应的轮廓矢量。1功能描述功能:①获取对象轮廓的图片文件。②对图片进行分析与轮廓提取。③将提取的轮廓信息通过pyautocad绘制在cad中。2......
  • 【Python&GIS】Python实现批量导出面矢量要素(单个多面矢量->多个单面矢量)
    ​    可怜的我周六还在工作,已经很久没更新过博客了,今天正好有空就和大家分享一下。今天给大家带来的是使用Python将包含多个面要素/线要素的矢量批量导出单个要素的矢量,即一个要素一个矢量文件。之前写过多个矢量文件合并成一个矢量文件的博文,大家如果感兴趣可以看下:【......
  • ArcMap连接SQL Server2014与导入数据
    打开SOLServer2014ManagementStudio鼠标右键当前实例【属性】,查看并复制当前实例【名称】。在ArcMap的【目录】窗口中展开【数据库连接】,鼠标双击【添加数据库连接】,弹出【数据库连接】对话框【数据库平台】选择SQLServer,【实例】文本框中输入步骤1中获得的......
  • SVG描边 - CSS3实现动画绘制矢量图
    使用SVG的stroke-dasharray及stroke-dashoffset,结合CSS3animation实现画笔绘制矢量图的动画效果,如下:html<svgxmlns="http://www.w3.org/2000/svg"pointer-events="none"class="leaflet-zoom-animated"width="1452"heigh......