【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模型**、** 耦合协调度模型**、** 相对发展度模型协调影响力模型**、标准椭圆模型等等

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

相关推荐
The god of big data6 小时前
深入探索 DeepSeek 在数据分析与可视化中的应用
ai·数据挖掘·数据分析
角砾岩队长15 小时前
ArcGIS笔记之度分秒与十进制度的转换
笔记·arcgis
赵钰老师15 小时前
【深度学习】遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)
pytorch·深度学习·目标检测·机器学习·数据分析·cnn·transformer
♢.*19 小时前
析言GBI:用自然语言交互重构企业数据分析范式
人工智能·数据分析·大模型·交互·bi·阿里
初尘屿风1 天前
基于Python的Diango旅游数据分析推荐系统设计与实现+毕业论文(15000字)
数据库·spring boot·python·数据挖掘·数据分析·旅游
莫叫石榴姐1 天前
DeepSeek驱动下的数据仓库范式转移:技术解耦、认知重构与治理演进
大数据·数据仓库·人工智能·重构·数据分析·deep learning
预测模型的开发与应用研究1 天前
数据分析的AI+流程(个人经验)
人工智能·数据挖掘·数据分析
代码轨迹2 天前
使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(数据分析篇)
人工智能·数据分析·deepseek
赵钰老师2 天前
【科研创新与智能化转型】AI智能体开发与大语言模型的本地化部署、优化技术
人工智能·语言模型·自然语言处理·chatgpt·数据分析
数模竞赛Paid answer2 天前
2021年全国研究生数学建模竞赛华为杯E题信号干扰下的超宽带(UWB)精确定位问题求解全过程文档及程序
数学建模·数据分析·研究生数学建模·华为杯数学建模