ArcGIS操作系列10- Arcmap 中矢量图层面积的计算方法

A03-arcgis无法统计地块面积常见问题及解决方案 在arcgis中统计地块面积经常会出现问题。在这里统计了我的两个朋友遇到的问题,分别给出应对方法 阅读详情
AI摘要

本文详细介绍了在ArcGIS10.3中从地理坐标系转换到投影坐标系的过程,以解决矢量边界面积计算的问题。文章指出,直接在地理坐标系下计算面积会因非平面特性而失效,需通过投影转换实现。并提供了两种投影转换方法及注意事项。

一、问题

由于一些需要我需要通过计算矢量边界的面积来确定实地面积,但是我遇到一些问题。计算面积的方法还是很简单的。但是出现以下问题:

1.    我的图层是地理坐标系而不是投影坐标系,无法计算面积,如图:面积-已禁用

2.    经过投影变换转换成投影坐标系后计算的面积差异较大。

二、步骤

软件:

Arcgis10.3

工具:

投影和变换工具

这里随便新建一个矢量数据为例

1.打开图层的属性列表,新建字段计算面积(名字可以随意)

2.鼠标右键弹出选项框选择“几何计算”

正常情况下回出现如上弹出框,选好面积-坐标系--单位 点击确定即可

但是我们出现的是如下情况,

原因是我的图层是地理坐标系。而非投影坐标系。面积计算只能是平面的。投影坐标=地理坐标+投影计算

因此要将不规则椭球面的地理坐标转换成投影坐标。

3.投影转换

方法一:找到目录里面该表的位置,右键点击属性,弹出如下框,我们在需要坐标系上选择投影坐标系,为该数据定义一个投影坐标系即可

方法二:工具箱--数据管理工具--投影和变换--投影

4.投影的时候我们选择不同的投影坐标系,所计算出来的数据是有偏差的,不同的地理位置由于参数不同应该转换成特定的投影坐标系

所以在投影之前我们需要先确定该数据需要转换的投影坐标系是什么,一般和该数据所对应的地理坐标系也有一定的关联

图斑面积 | ArcGIS叠加影像面积计算并标注(附练习数据下载) 前两天接到一个小活,要求是这样的:已知影像和地块数据,图片图片需要将地块范围内的建筑物的总占地面积添加到图斑的属性中并将其面积标注在地块内。 首先右击“用地范围”——打开属性表,在地块的属性表中添加属性“影像建成面积”。 此处我们用拼音首字母代替图片 接下来我们在任意位置新建一个shape文件,命名为影像面积,要素类型选择面,空间参考选择与影像相同的坐标系。 如果不知道影像坐标系,可以双击影像,在弹出的属性框中查找空间参考。 全部完成后将数据框内的“用地范围”进行设置。 双击 在符号选择器中将填充颜色. 阅读详情

相关推荐

Arcgis常用技巧汇总

这时会形成一个新图层,所有的点都添加进来了,但现在添加进来的点由于没有 objectID 或者 FID ,现在图层不具备 *.shp 图层的大部分功能,如点的选择,编辑,关联,属性等操作。Excel 中数据 -> 导入外部数据找到保存的 txt 文件,下一步 -> 选分隔符,再下一步选中 “ 空格和其它 ” 确定(保存的 txt 文件导入 Excel 中),其中 Name 列为坐标点号, Description 列为打点时间,正常情况 Position 列为坐标点,得到了坐标点。然后用于坐标点成面图层。

weixin_55561616的博客 1870

arcgis 批量计算几何_ESRI ArcGIS应用与开发

方法1在ArcGIS9.2中可以直接计算面积,打开图层属性表, 首先,打开Polygon层属性表,点选项,点添加字段,增加AREA字段,选double类型,右键放面积的字段,单击菜单中的"Calculate Geometry(计算几何体)",弹出对话框,选择属性、单位,按提示操作就可以了。方法21、面状矢量图面积的计算 Polygon形成的多边形面积计算比较简单,方法如下: 首先,打开Polygo...

weixin_39654823的博客 1783

地类图斑坡度赋值:面积占优法的原理与ArcGIS实操

在自然资源调查与国土规划工作中,坡度分级是评估耕地、林地后备资源适宜性的重要因子。针对地类图斑跨越多个坡度级别的场景,如何准确归属坡度等级,直接决定底图成果的可靠性。基于空间叠加分析与面积占比统计的原理,面积占优赋值法通过计算图斑内各坡度分级面的实际占比,提取面积最大的级别作为属性值,相比中心点法和平均值法更符合地貌主体特征。该方法在ArcGIS中可借助相交、汇总统计等工具实现,也可通过模型或脚本固化流程,适用于后备资源补充空间底图制作、国土空间规划等多种应用场景。

weixin_33938733的博客 377

ArcGIS面积计算问题

综上所述,如果不知道计算的要素是否投影时,直接用字段计算器采用公式!SHAPE.area@+面积单位!就可以,单位可以是km²(squarekilometers),也可以换做其他,如m²(squaremeters),英亩(acres)等。如果是已经知道为投影坐标系时,计算几何会更快一些。

weixin_43346261的博客 9501

ArcGIS与ArcGIS Pro核心差异解析:从架构到迁移的实战指南

地理信息系统(GIS)平台正从32位桌面架构向64位云端协同演进,其核心在于内存寻址、多线程计算与二三维数据模型的根本性升级。64位架构突破了内存瓶颈,支持大规模栅格与矢量数据的并行处理;多线程优化显著提升空间分析效率;二三维一体化则实现了从展示到真三维编辑的跨越。这些技术价值在测绘、规划、国土等领域的高精度数据处理、自动化出图及三维建模场景中尤为关键。本文深入对比ArcMap与ArcGIS Pro在架构、操作逻辑、数据兼容性及扩展开发上的差异,并提供从Python 2到Python 3、mxd到aprx的

weixin_34416754的博客 287

ArcGIS XY坐标批量转点线面:从表格到矢量图层全流程解析

空间数据是GIS分析的基础,而日常工作中大量坐标信息以Excel表格形态存在,如何将X/Y列的二维数据高效转化为可编辑、可分析的点线面矢量图层,是测绘内业与GIS数据处理岗位高频场景。实现这一过程,不仅要理解坐标系的定义(地理坐标与投影坐标差异)、字段结构与排序逻辑,还要掌握ArcGIS中的XY Table To Point、Points To Line、Feature To Polygon等工具的参数设置与边界条件,避免“点飞大海”、“线成蜘蛛网”、“生成碎面”等典型问题。借助模型构建器或arcpy脚本,

weixin_33908217的博客 715

QGIS中使用字段计算器算矢量图层面积

QGIS中使用字段计算器算矢量图层面积

Vigo*GIS 7754

实验六 存储器实验

只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入,即使断电也能够保留数据,要想在只读存储器中存入或改变数据,必须具备特定的条件。当地址为00000101时,会分别在数据位宽为8,16,32的只读寄存器中找到地址为00000101所对应的十进制地址位置,也就是地址为5的数据,并将其分别以8位,16位,32位输出。因此,输出保持为0。因此,当异步清零信号为1时,无论其他输入信号是什么,触发器的输出都会被强制清零,输出为0。1)寄存器输入0011,使能端1,异步清零0。

wenmou1111的博客 3000

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

一般的,出现上述情况都是因为我们的面要素(也就是这个图层)处于地理坐标系,而并不是投影坐标系。弹出了一个提示,大概意思是说:我没有在开启编辑模式的情况下进行字段计算,那么这样会让计算变得快一些,但是一旦计算开始,就不能撤回。因此,追求计算速度还是追求可以撤回,依据大家的实际情况来就好。在图层列表中,右击我们当前的图层的名称,选择“转换为投影坐标系后,打开新图层的属性表,可以看到我们刚刚新建的字段在这里也是存在的。”选择第一项,也就是图层自身的坐标系,也就是刚刚我们给他投影所选用的投影坐标系;

Gefangenes的博客 2444

信息抽取实战:三元组抽取(限定领域 vs 开放领域)(附代码)

信息抽取实战:三元组抽取 目录信息抽取实战:三元组抽取一、限定领域的三元组抽取比赛介绍数据分析序列标注模型关系分类模型三元组提取总结开放领域的三元组抽取标注平台文本分类新数据进行三元组抽取总结参考文献 一、限定领域的三元组抽取   本项目将会介绍在2019语言与智能技术竞赛的三元组抽取比赛方面的一次尝试。由于该比赛早已结束,当时也没有参加这个比赛,因此没有测评成绩,我们也只能拿到训练集和验证集。但是,这并不耽误我们在这方面做实验。 比赛介绍   该比赛的网址为:http://lic2019.ccf.org.

南有芙蕖 2万+

cellranger安装以及使用

接受cellranger count的输出数据,将同一组的不同测序样本的表达矩阵整合在一起,比如tumor组原来有4个样本,PBMC组有两个样本,现在可以使用aggr生成最后的tumor和PBMC两个矩阵,并且进行标准化去掉测序深度的影响。但是由于病毒基因组太小了,且注释结果只有CDS没有exon,所以曲线救国,将CDS整体替换为exon,也不进行过滤了,直接下一步。虽然安装完毕,但是现在要运行cellranger的话需要在终端输入cellranger的整个路径。自动执行这个命令,需要将“

m0_59974475的博客 9391

【ArcGIS教程】(2)ArcMap中如何导入外部Excel属性数据呢?

ArcMap中如何导入外部Excel属性数据

中国科学数据网 1万+

一种导弹追踪算法的MATLAB仿真实现

以下是一个用于模拟机动变轨导弹和防空导弹追踪过程的 MATLAB 代码,同时会提供 3D 效果展示。你可以运行这段代码,从而观察机动变轨导弹和防空导弹的速度与位置变化。

SmartGridequation的博客 933

ArcGIS计算多个面要素范围内栅格数据各数值的面积

本文介绍在ArcMap软件中,基于面积制表工具(也就是Tabulate Area工具),基于1个面要素数据集与1个栅格数据,计算每一个面要素中各栅格数据分布面积的方法~

疯狂学习GIS的博客 3972

基于YOLO+DeepSeek的农作物病虫害检测系统

本系统是一个基于YOLO+DeepSeek的农作物病虫害检测系统。 可使用YOLOV1-YOLOV12的任意模型进行目标检测。可以实现检测图片、批量检测图片、视频检测、摄像头检测四种方式。

qq_51977316的博客 1809

数据可视化—power bi 基础操作汇总

数据来源: https://pan.baidu.com/s/1U_Y7rKfhnSKbLmh4FcUD_Q 提取码: yq5v 目录 基本功能与视图 编辑与查询—修改column案例 建立关联性 新增column与DAX完成总价运算 习题练习1:建立可视化图表 产品销售统计图 column拖曳可视化 1.基本功能与视图 ①基础操作界面 ②获取数据—以打开excel为例 ③数据文件基本视图 可视化形式:柱状图、数据、关联性 2.编辑与查询—修改column ①编辑与查询—数据处理界面 .

weixin_52730784的博客 2679

ArcGIS中ArcMap自动生成随机抽样点的方法

本文介绍基于ArcMap软件,实现在指定区域生成随机点的方法~

疯狂学习GIS的博客 7874

com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn‘t retrieve inbound binding

错误消息:错误截图:该错误通常表示在集成配置中,未找到与特定消息匹配的入站绑定(Inbound Binding)。具体而言,错误消息中的 P/S/A(Party/Service/Action)值未在配置中找到对应的入站绑定。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 373

ArcGIS计算落入面图层中的线的长度或面的面积

本文介绍在ArcMap软件中,计算落入某个指定矢量面图层中的另一个线图层的长度、面图层的面积等指标的方法~

疯狂学习GIS的博客 3554

Claude Code Agents 进阶:多代理协作与任务委托

Agent 是一个独立运行的 Claude 实例,它有自己的上下文和任务焦点。│ 主 Claude ││ (协调者) ││ │ │▼ ▼ ▼│ 代码审查 │ │ 测试生成 │ │ 文档编写 ││ │ ││▼汇总结果,完成任务并行处理:多个 Agent 同时工作,提高效率任务隔离:每个 Agent 有独立的上下文专业分工:不同类型的 Agent 擅长不同任务灵活控制:可以指定运行模式、超时等参数。

gaoxiang_120的专栏 335

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ArcGIS中ArcMap创建渔网Create Fishnet:生成指定大小的格网矢量文件

本文介绍在ArcMap软件中,通过“Create Fishnet”工具创建渔网,从而获得指定大小的矢量格网数据的方法~

疯狂学习GIS的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ArcGIS工具操作报错999999的通用处理方式

形式的报错代码,往往并不是数据自身出现较大问题,而是在数据存储路径、环境配置等相对而言较为细节的方面具有不正确的地方,导致操作失败;这样子虽然说明出现的问题不是很大,但是由于其自身报错代码并没有很清楚地展示出操作失败的问题所在,因此也需要进行相对比较麻烦的调试。后跟随的一长串报错提示亦一致才可以),可以在所用工具的显示界面中,选择下方“ENVI实现QUAC、简化黑暗像元、FLAASH方法的遥感影像大气校正。的报错,同时得不到对应的裁剪结果。SPSS计算极值、平均值、中位数、方差、偏度、峰度、变异系数。

weixin_40812311的博客 106

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: ArcGIS操作系列9- Arcmap 线分段
下一篇: ArcGIS操作系列11- Arcmap生成切片方案,发布服务使用切片方案和自定义
西北码农
博客等级 码龄12年 1万+粉丝 149原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值