【GIS技术】Shp矢量图斑数据的四至点坐标或四至坐标计算

经常有从事gis相关、地信相关行业的朋友或者是需要对图斑矢量进行四至坐标 的计算的时候,按照各类搜索引擎或者是教学文章中的教学步骤求出来的四至坐标是**错的。**特别是比如林业图斑求四至点、农田四至点等等。

错的原因在于很多文章中教学的四至坐标实际上指的是图斑矢量最东最西的点做一条垂线与图斑矢量最南最北的点做一条水平线相交而成的矩形的四个顶点坐标。这样的矩形我们称之为,图斑矢量最小外接矩形,这四个点称之为图斑矢量最小外接矩形的四至值,也叫范围值。

而实际上我们真正 要求的四至点是图斑上最东/南/西/北的那个点的坐标值。这四个点才称之为是俗称的四至点。

今天我们就来分享一下图斑矢量最小外接矩形的四至值和图斑的四至值的区别和怎么利用gis求。

有需要求四至点需要帮忙的话可以添加公众号下方联系方式找小编进行咨询。

图斑矢量最小外接矩形的四至值(范围值)

上图图中红框为图斑矢量最小外接矩形

以清远市为例,我们在图斑属性表里加上东至、南至、西至、北至四个字段

然后利用以下代码对四个字段进行计算

复制代码
东至:!shape.extent.xmax!

南至:!shape.extent.ymin!

西至:!shape.extent.xmin!

北至:!shape.extent.ymax!

就可以得到计算结果

这个时候求得的实际上是图斑矢量最东最西的点做一条垂线与图斑矢量最南最北的点做一条水平线相交而成的矩形的四条边的范围值。

而东至&南至、东至&北至、南至&西至、北至&西至所得出的四个点就是图斑矢量最小外接矩形的四至值。

也就是以下图形里矩形的四个顶点。

真正的图斑矢量的四至点坐标

图中四个绿色圈标注的才是图斑真正的四至点

在这里,我们要用到的就是arcgis中的代码功能,输入代码直接求出四至点坐标。

代码如下

复制代码
infcs='清远市'arcpy.AddField_management(infcs,"dzd","TEXT","","","100",u"东至","NULLABLE")arcpy.AddField_management(infcs,"nzd","TEXT","","","100",u"南至","NULLABLE")arcpy.AddField_management(infcs,"xzd","TEXT","","","100",u"西至","NULLABLE")arcpy.AddField_management(infcs,"bzd","TEXT","","","100",u"北至","NULLABLE")infc=arcpy.UpdateCursor(infcs)for row in infc:      for part in row.getValue("shape"):            max_x, max_xy,max_y,max_yx=0,0,0 ,0            min_xy,min_y,min_yx,min_x=0,9876543210,0,9876543210            for pnt in part:                  if pnt:                        if pnt.X > max_x:                             max_x=pnt.X                             max_xy = pnt.Y                        if pnt.Y > max_y:                             max_y = pnt.Y                             max_yx= pnt.X                        if pnt.X <min_x:                             min_x=pnt.X                             min_xy = pnt.Y                        if pnt.Y <min_y:                             min_y = pnt.Y                             min_yx= pnt.X                  else:                       pass            del part,pnt      arcpy.AddMessage(str(max_x)+","+str(max_xy))      row.setValue("dzd",str(max_x)+","+str(max_xy))      row. setValue("bzd",str(max_yx)+","+str(max_y))      row.setValue("xzd",str(min_x)+","+str(min_xy))      row.setValue("nzd",str(min_yx)+","+str(min_y))      infc.updateRow(row)del infc,row

代码计算后得到以下右侧四个字段:

这四个字段对应的就是东西南北四至点,也就是图斑里最东/南/西/北的点。

其他求四至点坐标的方式

除开一些特殊的工具可以直接求出四至点外,我们也可以通过转面为点然后进行进一步的排序筛选的方式求四至点,但是这个方式繁琐而不一定精确。

如果说有需要求四至点需要帮忙的话可以添加公众号下方联系方式找小编进行咨询。

免费数据获取方式

在公众号下方的功能栏-数据目录 里**"免费资源"**

在公众号下方的联系我们 添加小编微信**,** 于朋友圈置顶 获取目录链接

点个点赞 +再看再走哦谢谢!

公众号新功能

目前公众号新增以下等功能

1、处理GIS出图、** Python制图**、** 区位图**、** 土地利用现状图**、** 土地利用动态度和重心迁移图**等等****

2、核密度分析**、**** 网络od分析****、**** 地形分析****、**** 空间分析**等等****

3、地理加权回归、** 地理探测器、生态环境质量指数、地理加权回归模型影响因素分析、计算土地利用动态度**等等****

4、加权求和模型、** 改进TOPSIS模型**、** 耦合协调度模型**、** 相对发展度模型协调影响力模型**、标准椭圆模型等等

有需要的小伙伴可以添加公众号下方联系方式找小编进行咨询

相关推荐
key0635 分钟前
电子水母函数解析
数据分析
Brduino脑机接口技术答疑2 小时前
脑机新手指南(二十一)基于 Brainstorm 的 MEG/EEG 数据分析(上篇)
数据挖掘·数据分析
镜舟科技2 小时前
StarRocks × Tableau 连接器完整使用指南 | 高效数据分析从连接开始
starrocks·数据分析·数据可视化·tableau·连接器·交互式分析·mpp 数据库
好开心啊没烦恼4 小时前
Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?
开发语言·python·数据挖掘·数据分析
永洪科技14 小时前
永洪科技荣获商业智能品牌影响力奖,全力打造”AI+决策”引擎
大数据·人工智能·科技·数据分析·数据可视化·bi
Triv202519 小时前
ECU开发工具链1.10版:更强大的测量、校准与数据分析体验.
microsoft·数据分析·汽车电子开发·校准流程自动化·高速信号采集·测试台架集成·实时数据监控
好开心啊没烦恼19 小时前
Python 数据分析:numpy,抽提,整数数组索引与基本索引扩展(元组传参)。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy·pandas
陈敬雷-充电了么-CEO兼CTO1 天前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法
杨超越luckly1 天前
ArcGISPro应用指南:ArcGISPro制图全流程详解
arcgis·信息可视化·gis·制图·arcgispro
马特说1 天前
React金融数据分析应用性能优化实战:借助AI辅助解决18万数据量栈溢出Bug
react.js·金融·数据分析