首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ArcGIS获取某个点所在栅格图像中行、列号的方法

本文介绍在ArcMap软件中,求取点要素在栅格图像中所处行号、列号的方法~

  本文介绍在ArcMap软件中,求取点要素栅格图像中所处行号列号的方法。

  如下图所示,我们已知一张栅格图像以及其上的几个点要素;本文就以此数据为例,介绍获取点要素所处行列号的方法。

  其中,本文所用的栅格图层与点要素图层都不含有任何地理参考信息。如下图所示,其为栅格图像的属性面板,这里“Spatial Reference”显示的是,且“XY Coordinate System”显示的是Unknow(如下图红色区域部分);且图像的空间范围是用四个没有任何单位、没有任何意义的数据表示(如下图绿色区域部分)。

  如下图所示,其为点要素图层的属性面板;可以看到该图层同样不含任何地理参考信息,且图层的空间范围亦是用四个没有任何单位、没有任何意义的数据表示。

  这里需要注意,如果大家的数据(栅格图像与点要素图层)含有地理参考信息(比如同时含有地理坐标系同时含有投影坐标系),同样是可以求取点要素所处行列号的。但如果大家的数据是一个含有地理参考信息一个不含有(比如栅格图像含有地理参考信息,而点要素图层不含有),那么需要首先对不含有地理参考信息的图层添加坐标系,保持两个图层坐标系一致,才可以进行下面的操作;同样,如果是两个图层一个含有投影坐标系一个含有地理坐标系,那么也需要进行坐标系的统一才可以。简单来说,要么两个图层都没有任何坐标系,要么两个图层都有地理坐标系,要么两个图层都有投影坐标系,才可以进行后面的操作。

  首先,我们在点要素图层名称处右键,选择“Open Attribute Table”选项。

  接下来,在属性表左上方选择“Table Options”“Add Field…”选项。

  在弹出的“Add Field”窗口中,配置字段名称。这个字段是我们后期用来存放点要素在图像中的X值,因此命名为X类似的名称即可;字段类型为“Float”或“Double”,下面的精度可以配置也可以不配置。

  再次执行同样的操作,建立第二个字段,后期存放点要素在图像中的Y值。

  配置完毕后,如下图所示。

  随后,在刚刚建立的第一个字段名称处右键,选择“Calculate Geometry…”。

  在弹出的“Calculate Geometry”窗口中,“Property”选择为“X Coordinate of Point”,不要选中最下方的“Calculate selected records only”勾选项(如果该项可选的话)。

  对另一个字段执行同样的操作,但是“Property”选择为“Y Coordinate of Point”即可。

  随后,可以看到这两个字段都已经有了具体的数值;这两个数值就表示每一个点在栅格图像中的位置。若要准确来说,这两个值其实是每一个点在ArcMap软件当前坐标下的X、Y值。

  接下来,我们即可开始计算。这里有两种方法,一种是在ArcMap软件的字段计算器中直接计算,还有一种是将属性表导出后到Excel等软件中计算。这里因为我要对多个图像中的点要素进行计算,因此就选择用第二种方法。

  首先,在属性表左上方选择“Table Options”“Clear Selection”选项,确保我们导出数据时没有遗漏。

  随后,在ArcMap软件选择“Toolboxes”“System Toolboxes”“Conversion Tools.tbx”“Excel”“Table To Excel”。

  选择我们需要导出属性表的点要素,并配置输出路径与文件名称。

  接下来,我们需要在ArcMap软件左侧的图层列表中,右键选择栅格影像图层,并选择“Properties…”进行查看。首先,需要记录一下栅格影像的像素大小,如下图所示。

  随后,记录栅格影像的最顶处坐标值最左侧坐标值;如下图所示。

  随后,在Excel中分别用公式=INT(ABS((B$3-G3)/E$3)+1)与=INT(ABS((C$3-H3)/E$3)+1)来计算点要素所处的行列号。如下图所示,其中,B$3表示我们刚刚记录的栅格图像最左侧坐标值(也就是-0.5),C$3表示栅格图像最顶处坐标值(也就是0.5);E$3表示栅格图像的像素大小(取一个边长即可,也就是1);G列与H列分别为刚刚我们为点要素图层新建的两个字段X与Y,J列与K列分别为两个公式计算得到的结果。大家对照着下图与上方两张图来看应该会更加清楚。

  随后,上述第一个公式计算得到的就是点要素在栅格图像中的列号,第二个公式得到的就是点要素的行号

欢迎关注:疯狂学习GIS

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221205A091UW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券