ArcGIS 中取出面上最大的Z值的坐标点

def MaxZ(shape):  
     line = shape.getPart(0)
     pnt = line.next()
     maxValue = float("-inf")
     while pnt:
         if maxValue < pnt.Z:
             maxValue = pnt.Z
         pnt = line.next()
     return maxValue

MaxZ(!shape!)

point.X += shiftValue
    return point

MinZ(!shape!)

def MinZ(shape):  
     line = shape.getPart(0)
     pnt = line.next()
     minValue = float("inf")
     while pnt:
         if minValue > pnt.Z:
             minValue = pnt.Z
         pnt = line.next()
     return minValue

def info( ZValue , ZValueMin , ZValueMax ):
     returnValue = "unknown"
     if ZValue and ZValueMin and  ZValueMax:
         if ZValueMax - ZValueMin < 0.00000001:
             returnValue = "unknown"
         elif ZValue > ZValueMax or ZValue < ZValueMin:
             returnValue = "error"
         else:
             returnValue = "ok"
     return returnValue

def MinZ(shape):  
     line = shape.getPart(0)
     pnt = line.next()
     minValue = float("inf")
     while pnt:
         if minValue > pnt.Z:
             minValue = pnt.Z
         pnt = line.next()
     return minValue

原文地址:https://www.cnblogs.com/gispathfinder/p/9532813.html

时间: 2024-10-14 13:22:04

ArcGIS 中取出面上最大的Z值的坐标点的相关文章

arcgis 数据和服务中的z值,以及地下三维展示(附代码)

最近在进行地图符号的三维配置,在尝试三维符号时,发现无论如何都无法出现地下的效果,很郁闷,终于在好闺蜜的帮助下了解到了关于数据和服务的z值 一.什么是z值 z 值通常表示可用于以三维形式显示要素的高程或高度.要素的各折点可将 z 值与 x,y 位置信息一同存储.虽然 ArcMap 及其编辑环境是二维的,但仍可以输入.编辑和维护 z 值. 在 ArcMap 中执行编辑操作时,z 值的分配由编辑工具或命令所执行的常规功能决定:是创建新要素还是编辑现有要素.所创建的.用于生成新要素的大多数操作都会为所

ArcGIS高程Z值的去除方法

在ArcGIS中,我们常用的几何类型有点.线.面.体(体,在涉及三维的情况下使用),但在这之外,可能会遇到带ZM的类型,如图所示,面ZM,它与面类似,但比面多两个字段. 在编辑中查看草图属性可看到Z值和M值.Z值是用来存储高程属性信息的,M值是用来存储其他属性信息的,如温度.浓度等.这里的数据是CAD文件转过来的,所有有高程值,但没有M值. 从下面的WKT格式中可以看出几何点可能的类型有Point.PointZ.PointM.PointZM四种格式,Polyline.Polygon也是类似的.

ArcGIS之去除要素的Z值和M值

近期用python连接ArcGIS时,需要通过readshapefile函数读取shp文件,读取过程中经常出现 报错为 “ readshapefile can only handle 2D shape types ” 原因时shp文件在创建时包含了Z坐标及M坐标,如下图所示 于此,需要先将图层中的shape类型更改为平面: 方法为 打开toolbox的数据管理工具->要素->复制要素 修改环境设置,Disabled掉M值及Z值 运行完之后,得到新要素(不更改之前的要素,创建得到新图层) 原文地

【JavaScript】下拉列表select中在value传递多个值,取出其option显示值,并应用此作为导航

对于下拉列表select,众所周知,其值就是选中的option中的value值,可是如果需要取出每一个option的显示值,那又如何做呢?虽然没什么必要取出option的显示值,但是如果有时候确实需要这个显示值,在javascript的脚本做点什么呢?另外,如果要再value处传递多个值呢?那又改如何呢? 一.取出option的显示值 你可以先传递整个select过去脚本,假设传过去的形式参数是obj,然后利用obj.options[obj.selectedIndex].innerHTML来取出

已知空间三点组成的面求该面上某点的Z值

已知空间三点,那么可以就可以确定空间三点组成的平面.此时可以根据某一点的X值和Y值,来求取该点在平面上的Z值.这个过程对于求三角面片上某点的高程或者权值特别有用,其本身也可以看作一种线性插值. 其算法思路也特别简单,首先算出其三点组成的平面法向量(可参看<已知三点求平面法向量>);然后根据平面法向量\(n=(A,B,C)\)和平面上某点\(m=(x0,y0,z0)\),有平面的点法式方程: \[ A(X-x0)+B(Y-y0)+C(Z-z0)=0 \] 最后根据欲求点的X.Y值,代入公式解算Z

ArcGIS中的坐标系定义与转换 (转载)

原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念:  GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐标系,首先必须弄清地球椭球体(Ellipsoid).大地基准面(Datum)及地图投影(Projection)三者的基本概念及它们之间的关系.   基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面,我们通常称谓的北京54坐标系.西安80坐标系实际上指的是我国的两个大

(转)ARCGIS中坐标转换及地理坐标、投影坐标的定义

原文地址:http://blog.sina.com.cn/s/blog_663d9a1f01017cyz.html 1.动态投影(ArcMap) 所谓动态投影指,ArcMap中的Data 的空间参考或是说坐标系统是默认为第一加载到当前工作区的那个文件的坐标系统,后加入的数据,如果和当前工作区坐标系统不相同,则ArcMap会自动做投影变换,把后加入的数据投影变换到当前坐标系统下显示!但此时数据文件所存储的数据并没有改变,只是显示形态上的变化!因此叫动态投影!表现这一点最明显的例子就是,在Expor

(转)坐标系统与投影变换及在ARCGIS中的应用

坐标系统与投影变换及在ARCGIS中的应用 概述: 本文共可分为如下几个部分组成: 地球椭球体(Ellipsoid) 大地基准面(Geodetic datum) 投影坐标系统(Projected Coordinate Systems ) 坐标系统和投影变换在桌面产品中的应用 一.World files文件 GIS处 理的是空间信息,而所有对空间信息的量算都是基于某个坐标系统的,因此GIS中坐标系统的定义是GIS系统的基础,正确理解GIS中的坐标系统就变得尤为 重要.坐标系统又可分为两大类:地理坐

Vusual C++连接Mysql和从MySql中取出数据的API介绍

.1 mysql_real_connect() 2.1.1 函数原型: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned int client_flag) 2.1.2 参数说明: • 第一个参数应该是一个现存MYSQL结