Geometry(几何对象定义空间位置和关联几何形状)
Geometry
描述
几何对象定义空间位置和关联几何形状。
讨论
在许多地理处理工作流中,您可能需要使用坐标和几何信息运行特定操作,但不一定想经历创建新(临时)要素类、使用光标填充要素类、使用要素类,然后删除临时要素类的过程。可以使用几何对象替代输入和输出,从而使地理处理变得更简单。使用 Geometry、Multipoint、PointGeometry、Polygon 或 Polyline 类可以从头开始创建几何对象。
语法
Geometry (geometry, inputs, {spatial_reference}, {has_z}, {has_m})
参数 | 说明 | 数据类型 |
geometry |
几何类型:点、面、折线或多点。 |
String |
inputs |
用于创建对象的坐标。数据类型可以是 Point 或 Array 对象。 |
Object |
spatial_reference |
新几何的空间参考。 (默认值为 None) |
SpatialReference |
has_z |
Z 状态:如果启用 Z,则为几何的 True,如果未启用,则为 False。 (默认值为 False) |
Boolean |
has_m |
M 状态:如果启用 M,则为几何的 True,如果未启用,则为 False。 (默认值为 False) |
Boolean |
属性
属性 | 说明 | 数据类型 |
JSON
(只读) |
返回一个字符串形式的几何 Esri JSON 制图表达。 提示: 通过 Python 的 json.loads 函数,返回的字符串可转换至字典。 |
String |
WKB
(只读) |
返回 OGC 几何的熟知二进制 (WKB) 制图表达。该存储类型将几何值表示为不间断的字节流形式。 |
Bytearray |
WKT
(只读) |
返回 OGC 几何的熟知文本 (WKT) 制图表达。其将几何值表示为文本字符串。 几何中的所有真曲线都将在 WKT 字符串的近似曲线中进行增密。 |
String |
area
(只读) |
面要素的面积。对于其他所有要素类型,该值为零。 |
Double |
centroid
(只读) |
如果质心位于要素之内或要素之上则为真;否则返回标注点。 |
Point |
extent
(可读写) |
几何范围。 |
Extent |
firstPoint
(只读) |
第一个几何坐标点。 |
Point |
hasCurves
(只读) |
如果几何具有曲线,则返回 True。 |
Boolean |
hullRectangle
(只读) |
以空格分隔的凸包矩形坐标对的字符串。 |
String |
isMultipart
(只读) |
如果此几何的部分数大于一,则返回 True。 |
Boolean |
labelPoint
(只读) |
标注位置所在的点。labelPoint 始终位于要素之内/之上。 |
Point |
lastPoint
(只读) |
要素的最后一个坐标。 |
Point |
length
(只读) |
线状要素的长度。对于点和多点要素类型,该值为零。 |
Double |
length3D
(可读写) |
线状要素的 3D 长度。对于点和多点要素类型,该值为零。 |
Double |
partCount
(只读) |
要素几何部分的数目。 |
Integer |
pointCount
(只读) |
要素的总点数。 |
Integer |
spatialReference
(只读) |
几何的空间参考。 |
SpatialReference |
trueCentroid
(只读) |
要素的重心。 |
Point |
type
(只读) |
几何类型:面、折线、点、多点、多面体、尺寸或注记。 |
String |
方法概述
方法 | 说明 |
angleAndDistanceTo (other, {method}) |
使用测量类型将一组角和距离返回到另一个点。 |
boundary () |
构造几何边界。 |
buffer (distance) |
在距几何的指定距离处构造一个面。 |
clip (envelope) |
构造几何体与指定范围的交集。 |
contains (second_geometry, {relation}) |
指明基础几何中是否包含比较几何。 contains 与 within 相反。 本图仅显示 True 关系。 |
convexHull () |
构造具有最小边界多边形的几何,以便所有外角均为凸角。 |
crosses (second_geometry) |
指明两个几何是否相交于较小形状类型的几何。 如果两条折线仅共用公共点(至少有一个点不是端点),则这两条折线交叉。如果折线和面在面(不等于整条折线)的内部共享一条折线或一个公共点(对于垂线),那么该折线与面交叉。 本图仅显示 True 关系。 |
cut (cutter) |
将该几何分割到剪切折线的左右两侧。 剪切折线或面时,会从其与剪切折线的相交处将其分割。每一段被分类为剪切线的左侧或右侧。该分类基于剪切线的方向。目标折线中不与剪切折线相交的部分将作为该输入折线结果的右侧部分返回。如果未对几何进行剪切,则左侧几何将为空 (None)。 |
densify (type, distance, {deviation}) |
使用添加的折点 创建新的几何。 |
difference (other) |
构造一个几何体,该几何体仅由基础几何所特有、而其他几何所没有的区域组成。下图显示当红色多边形为源几何时的结果。 |
disjoint (second_geometry) |
指明基础几何和比较几何是否未共用任何点。 如果 disjoint 返回 False,则两个几何相交。 本图仅显示 True 关系。 |
distanceTo (other) |
返回两个几何之间的最小距离。如果两个几何相交,则最小距离为 0。 两个几何必须具有相同的投影。 |
equals (second_geometry) |
指示原几何和参照几何的 shape 类型是否相同并在平面中定义相同点集。这仅是 2D 的比较;已忽略 M 值和 Z 值。 本图仅显示 True 关系。 |
generalize (max_offset) |
使用指定的最大偏移容差来创建一个简化几何。 |
getArea ({type}, {units}) |
使用测量类型返回要素的面积。 |
getLength ({measurement_type}, {units}) |
使用测量类型返回要素的长度。 |
getPart ({index}) |
返回几何特定部分的点对象数组,或包含多个数组(每个数组对应一个部分)的数组。 getPart 方法等同于建立对象索引;即 obj.getPart(0) 等同于 obj[0]。 |
intersect (other, dimension) |
构造作为两个输入几何交集的几何体。不同的维数可用于创建不同的 shape 类型。 对于同一 shape 类型的两个几何体,其交集为仅包含原始几何重叠区域的几何。 为了更快地获取结果,请在调用 intersect 类之前先测试两个几何体是否 disjoint。 |
measureOnLine (in_point, {use_percentage}) |
返回从此条线的起点到 in_point 之间的一个测量值。 |
overlaps (second_geometry) |
指示两个几何的交集是否具有与其中一个输入几何相同的形状类型,并且不等于任一输入几何。 本图仅显示 True 关系。 |
pointFromAngleAndDistance (angle, distance, {method}) |
使用指定的测量类型按给定的角度(以度为单位)和距离(采用几何空间参考的单位)返回点。 |
positionAlongLine (value, {use_percentage}) |
返回线上距线起点指定距离处的点。 |
projectAs (spatial_reference, {transformation_name}) |
定义几何投影,并应用相应的地理变换。 要进行投影,几何体需要具有一个空间参考且不具有 UnknownCoordinateSystem。传递到该方法的新空间参考系统参数定义了一个输出坐标系。如果任一空间参考未知,坐标将不会发生更改。ProjectAs 方法并不更改 Z 值和测量值。 |
queryPointAndDistance (in_point, {as_percentage}) |
在折线上找到离 in_point 最近的点,并确定这两点间的距离。同时返回关于 in_point 位于线的哪一侧以及最近点沿线的距离。 |
segmentAlongLine (start_measure, end_measure, {use_percentage}) |
在起始测量值和结束测量值之间返回 Polyline。虽然与 Polyline.positionAlongLine 相似,但是会在折线的两点之间(而不是在单点)返回折线段。 |
snapToLine (in_point) |
基于以该几何作为捕捉目标的 in_point 返回一个新点。 |
symmetricDifference (other) |
构造一个几何体,该几何体由两个几何的并集减去其交集所形成。 两个输入几何必须为同一 shape 类型。 |
touches (second_geometry) |
指示几何的边界是否相交。 当两个几何的交集不为空,但它们内部的交集为空时,说明两个几何接触。例如,仅当点与折线的一个终点重合时,才表示点与折线接触。 本图仅显示 True 关系。 |
union (other) |
构造一个几何体,该几何体是输入几何的并集。 要合并的两个几何必须为同一 shape 类型。 |
within (second_geometry, {relation}) |
指明基础几何是否位于比较几何之内。 within 与运算符 contains 相反。 本图仅显示 True 关系。 如果基础几何是这些几何的交集且其内部交集不为空,则基础几何位于比较几何之内。within 是 Clementini 运算符,空的基础几何除外。 |
方法
angleAndDistanceTo (other, {method})
参数 | 说明 | 数据类型 |
other |
第二个几何。 |
PointGeometry |
method |
PLANAR 测量值反映出的是地理数据在 2D 表面上的投影(也就是说,平面测量不考虑地球的曲率)。如有必要,可选择 GEODESIC、GREAT_ELLIPTIC、LOXODROME 以及 PRESERVE_SHAPE 测量类型作为替代类型。
(默认值为 GEODESIC) |
String |
返回值
数据类型 | 说明 |
tuple |
将一组角(以度为单位)和距离(以米为单位)返回到另一个点。 |
boundary ()
返回值
数据类型 | 说明 |
Object |
面的边界为折线。折线的边界为多点,与线的端点相对应。点或多点的边界为空点或多点。 |
buffer (distance)
参数 | 说明 | 数据类型 |
distance |
缓冲距离。 缓冲几何时,缓冲距离采用相同的单位。 仅可以为面几何指定负距离。 |
Double |
返回值
数据类型 | 说明 |
Polygon |
缓冲的面几何。 |
clip (envelope)
参数 | 说明 | 数据类型 |
envelope |
使用范围对象定义裁剪范围。 |
Extent |
返回值
数据类型 | 说明 |
Object |
将输出几何体按指定范围进行裁剪。 |
contains (second_geometry, {relation})
参数 | 说明 | 数据类型 |
second_geometry |
第二个几何。 |
Object |
relation |
空间关系类型。
(默认值为 None) |
String |
返回值
数据类型 | 说明 |
Boolean |
返回的布尔值 True 表示该几何包含第二个几何。 |
convexHull ()
返回值
数据类型 | 说明 |
Object |
生成的几何。单个点的凸包为该点本身。 |
crosses (second_geometry)
参数 | 说明 | 数据类型 |
second_geometry |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Boolean |
返回布尔值为 True 指明两个几何相交于较小形状类型的几何。 |
cut (cutter)
参数 | 说明 | 数据类型 |
cutter |
剪切折线几何。 |
PolyLine |
返回值
数据类型 | 说明 |
Geometry |
包含两个几何的列表。 |
densify (type, distance, {deviation})
参数 | 说明 | 数据类型 |
type |
增密、DISTANCE、ANGLE 或 GEODESIC 的类型。
|
String |
distance |
折点间的最大距离。折点间的实际距离通常小于最大距离,原因是新折点会沿着原始线段均匀分布。 如果使用 DISTANCE 的 type 或 ANGLE,则距离将以几何空间参考的单位进行测量。如果使用 GEODESIC 的 type,则用米作单位测量距离。 |
Double |
deviation |
增密使用直线逼近曲线。可以使用 deviation 控制近似精度。偏差是新线段与原始曲线间的最大距离。其值越小,就需要越多的线段来逼近曲线。 如果使用 DISTANCE 的 type,则用几何空间参考单位测量偏差。如果使用 ANGLE 的 type,则以弧度为单位来测量偏差。如果使用 GEODESIC 的 type,则不使用偏差。 |
Double |
返回值
数据类型 | 说明 |
Geometry |
增密几何。 |
difference (other)
参数 | 说明 | 数据类型 |
other |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Object |
生成的几何。 |
disjoint (second_geometry)
参数 | 说明 | 数据类型 |
second_geometry |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Boolean |
返回布尔值 True 表示两个几何未共用任何点。 |
distanceTo (other)
参数 | 说明 | 数据类型 |
other |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Double |
两个几何之间的距离。 |
equals (second_geometry)
参数 | 说明 | 数据类型 |
second_geometry |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Boolean |
返回布尔值为 True 表示两个几何的 shape 类型相同并在平面中定义了相同点集。 |
generalize (max_offset)
参数 | 说明 | 数据类型 |
max_offset |
最大偏移容差。 |
Double |
返回值
数据类型 | 说明 |
Geometry |
概化的几何。 |
getArea ({type}, {units})
参数 | 说明 | 数据类型 |
type |
PLANAR 测量值反映出的是地理数据在 2D 表面上的投影(也就是说,平面测量不考虑地球的曲率)。如有必要,可选择 GEODESIC、GREAT_ELLIPTIC、LOXODROME 以及 PRESERVE_SHAPE 测量类型作为替代类型。
(默认值为 GEODESIC) |
String |
units |
计算面积时将采用的单位。
|
String |
返回值
数据类型 | 说明 |
Double |
要素的面积。 默认情况下,在投影坐标系中,将采用坐标系的单位返回面积,在地理坐标系中,将以平方米为单位返回面积。 |
getLength ({measurement_type}, {units})
参数 | 说明 | 数据类型 |
measurement_type |
PLANAR 测量值反映出的是地理数据在 2D 表面上的投影(也就是说,平面测量不考虑地球的曲率)。如有必要,可选择 GEODESIC、GREAT_ELLIPTIC、LOXODROME 以及 PRESERVE_SHAPE 测量类型作为替代类型。
(默认值为 GEODESIC) |
String |
units |
计算长度时将采用的单位。
|
String |
返回值
数据类型 | 说明 |
Double |
要素的长度。 默认情况下,在投影坐标系中,将采用坐标系的单位返回长度,在地理坐标系中,将以米为单位返回长度。 |
getPart ({index})
参数 | 说明 | 数据类型 |
index |
几何的索引位置。 |
Integer |
返回值
数据类型 | 说明 |
Array |
如果指定了索引,则 getPart 将返回几何特定部分的点对象数组。如果未指定索引,则返回的数组将包含每个几何部分的点对象数组。 |
intersect (other, dimension)
参数 | 说明 | 数据类型 |
other |
第二个几何。 |
Object |
dimension |
生成几何的拓扑维度(形状类型)。
|
Integer |
返回值
数据类型 | 说明 |
Object |
作为两个输入几何体的交集的新几何体(点、多点、折线或面)。 |
measureOnLine (in_point, {use_percentage})
参数 | 说明 | 数据类型 |
in_point |
用于从折线的起点开始测量的点(PointGeometry 或 Point)。 |
PointGeometry |
use_percentage |
如果 False,则测量值将作为距离返回;如果True,则测量值将作为百分比返回。 (默认值为 False) |
Boolean |
返回值
数据类型 | 说明 |
Double |
一个距离或百分比。 |
overlaps (second_geometry)
参数 | 说明 | 数据类型 |
second_geometry |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Boolean |
返回布尔值为 True 表示两个几何的交集具有与其中一个输入几何相同的尺寸。 |
pointFromAngleAndDistance (angle, distance, {method})
参数 | 说明 | 数据类型 |
angle |
到返回点的角度(以度为单位)。 |
Double |
distance |
到返回点的距离(采用几何空间参考的单位)。 |
Double |
method |
PLANAR 测量值反映出的是地理数据在 2D 表面上的投影(也就是说,这些测量值不考虑地球的曲率)。可根据需要选择 GEODESIC、GREAT_ELLIPTIC、LOXODROME 或 PRESERVE_SHAPE 测量类型作为替代类型。
(默认值为 GEODESIC) |
String |
返回值
数据类型 | 说明 |
PointGeometry |
按给定的角度(以度为单位)和距离(以米为单位)返回点。 |
positionAlongLine (value, {use_percentage})
参数 | 说明 | 数据类型 |
value |
沿线的距离。 如果距离小于零,则将返回线的起点;如果距离大于线的长度,则将返回线的终点。 |
Double |
use_percentage |
可将距离指定为测量的固定单位或线的长度比率。 如果为真,则 value 将被用作百分比,如果为假,则 value 将被用作距离。对于百分比,该值应表示为 0.0 (0%) 到 1.0 (100%) 的双精度。 (默认值为 False) |
Boolean |
返回值
数据类型 | 说明 |
PointGeometry |
线上距线起点指定距离的点。 |
projectAs (spatial_reference, {transformation_name})
参数 | 说明 | 数据类型 |
spatial_reference |
新空间参考。该项可以是 SpatialReference 对象或坐标系名称。 |
SpatialReference |
transformation_name |
地理变换名称。 |
String |
返回值
数据类型 | 说明 |
Object |
经投影的几何。 |
queryPointAndDistance (in_point, {as_percentage})
参数 | 说明 | 数据类型 |
in_point |
输入点(PointGeometry 或 Point)。 |
PointGeometry |
as_percentage |
如果 False,会将测量值作为距离返回;如果 True,将以百分比返回测量值。 (默认值为 False) |
Boolean |
返回值
数据类型 | 说明 |
tuple |
返回包含以下信息的一个元组:
|
segmentAlongLine (start_measure, end_measure, {use_percentage})
参数 | 说明 | 数据类型 |
start_measure |
从线起点起的起始距离。 |
Double |
end_measure |
从线起点起的结束距离。 |
Double |
use_percentage |
可将起始和结束测量值指定为固定单位或比率。 如果为真,则 start_measure 和 end_measure 将被用作百分比,如果为假,则 start_measure 和 end_measure 将被用作距离。对于百分比,该测量值应表示为 0.0 (0%) 到 1.0 (100%) 的双精度。 (默认值为 False) |
Boolean |
返回值
数据类型 | 说明 |
PolyLine |
两点之间的线段。 |
snapToLine (in_point)
参数 | 说明 | 数据类型 |
in_point |
要捕捉到该线的点(PointGeometry 或 Point)。 |
PointGeometry |
返回值
数据类型 | 说明 |
PointGeometry |
捕捉到的点。 |
symmetricDifference (other)
参数 | 说明 | 数据类型 |
other |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Object |
生成的几何。 |
touches (second_geometry)
参数 | 说明 | 数据类型 |
second_geometry |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Boolean |
返回布尔值为 True,表示几何的边界相交。 |
union (other)
参数 | 说明 | 数据类型 |
other |
第二个几何。 |
Object |
返回值
数据类型 | 说明 |
Object |
生成的几何。 |
within (second_geometry, {relation})
参数 | 说明 | 数据类型 |
second_geometry |
第二个几何。 |
Object |
relation |
空间关系类型。
(默认值为 None) |
String |
返回值
数据类型 | 说明 |
Boolean |
返回布尔值 True 表示该几何被包含在另一个几何之内。 |
代码示例
几何示例
将地理处理工具的输出参数设置为空 Geometry 对象时,该工具将返回 Geometry 对象列表。
import arcpy# Run the Copy Features tool, setting the output to the geometry object.
# geometries is returned as a list of geometry objects.
geometries = arcpy.CopyFeatures_management("c:/data/streets.shp",arcpy.Geometry())# Walk through each geometry, totaling the length
length = 0
for geometry in geometries:length += geometry.lengthprint("Total length: {0}".format(length))
Geometry(几何对象定义空间位置和关联几何形状)相关推荐
- sf | 判断点线面等几何对象的空间位置关系
根据交点的个数和位置,两个几何要素之间的空间位置关系可分为相离.相切.相交和包含四种: 相离是指两个几何要素没有交点,相交是指两个要素存在交点,广义上讲相切和包含是相交关系中的特殊情况: 相切是指交点 ...
- 五.几何对象和空间参考
几何对象是ArcGIS Engine中最基本的也是最常用的对象,我们所说的空间对象(点,线,面)都是几何 对象,我们在删除,创建和进行地理分析的时候,就是处理一个包含几个对象的矢量图形. Geomet ...
- 金仓数据库 KingbaseGIS 使用手册(6.8. 几何对象输入函数)
6.8. 几何对象输入函数 6.8.1. ST_BdPolyFromText ST_BdPolyFromText - 根据一个任意的封闭的WKT描述的MultiLineString几何类型对象创建一个 ...
- R语言数据可视化 ggplot2基础3 添加几何对象
R语言数据可视化 ggplot2基础3 添加几何对象 数据的统计变换 添加几何对象 数据的统计变换 添加几何对象 上一讲我们介绍的是如何创建散点图,这一讲我们介绍如何创建其他类型的图,以及怎么创建有多 ...
- 几何观止(经典几何对象)
曾经的<几何学观止>我觉得并没有写出我想要的感觉,事实证明原本的想法并不是一个好的主意. 但是,我又有了新的主意,这次我从例子出发,首先从不同角度出发,介绍了代数拓扑,微分流形甚至代数几何 ...
- mysql 几何对象,几何(geometry)对象类型
OGC的WKB和WKT格式 OGC定义了两种描述几何对象的格式,分别是WKB(Well-Known Binary)和WKT(Well-Known Text). 在SQL语句中,用以下的方式可以使用WK ...
- ArcGIS Engine开发之旅09--几何对象和空间参考
1.Geometry Geometry 是 GIS 中使用最为广泛的对象集之一,用户在创建.删除.编辑和进行地理分析的时候,就是处理一个包含几何形体的矢量对象:除了显示要素意外,控件对象选择,要素符 ...
- PostGIS之路——几何对象编辑(二)
1.ST_Reverse 返回几何对象顶点顺序相反的几何对象. geometry ST_Reverse(geometry g1); 示例SQL: SELECT ST_AsText(the_geom) ...
- SAP PM 初级系列4 - 定义功能位置的结构标识
SAP PM 初级系列4 - 定义功能位置的结构标识 1,功能位置简要介绍 功能位置是具有层次顺序的结构,可表示技术系统.建筑物或部分. 我们可根据空间标准(例如建筑物 1 和建筑物 2).技术标准( ...
最新文章
- STM32F0使用LL库实现Modbus通讯
- 《Nature》:衰老后的核糖体发生了哪些致病变化
- 网格机房机柜、机架内的空间规划及理线方法
- python foreach用法_C# 中 foreach 遍历的用法
- 【51单片机快速入门指南】4.3.4: MPU6050使用Madgwick AHRS算法实现六轴姿态融合获取四元数、欧拉角
- Microsoft.NET框架程序设计--18 异常
- Django 403 CSRF token missing or incorrect.
- Qt入门(六)——抽奖系统的实现
- 使用BackTrack4清除/修改Windows用户密码
- 这些年的项目管理心得
- windows10 快捷方式右键失灵问题解决
- LNMP环境搭建之编译安装指南(php-5.3.27.tar.gz)
- 腾讯新游侍魂上线,侍魂:胧月传说安卓模拟器电脑版详细教程
- 2022年11月多家权威机构____编程语言排行榜__薪酬状况
- MATLAB工具学习:cftool(曲线拟合工具)
- 百度百科人物创建要求是什么,自己的人物简介怎么上百度百科
- hbase java api样例(版本1.3.1,新API)
- 刷相关搜索软件_【亚马逊排名算法】搜索加购为什么能提升关键词排名?
- 【Spring实战】----Security4.1.3鉴权之美--基于投票的AccessDecisionManager实现及源码分析
- Windows系统通用定时关机命令
热门文章
- Windows 2003服务器集群安装图解
- 软文营销如何建立独特内容让读者自动掉入“圈套”
- 计算机算法与程序设计知识点,算法与程序设计知识点(答案)
- python-脚本自动生成二维码QRcode/quick response code
- LCD液晶屏接口和显示器接口介绍
- 刚子扯扯蛋:说下百度对网站原创文章的个人感受
- 洒脱是人生的一种境界
- 以数字化视角看世界杯,我预测荷兰夺冠
- 2022-01-26:最优账单平衡。 一群朋友在度假期间会相互借钱。比如说,小爱同学支付了小新同学的午餐共计 10 美元。如果小明同学支付了小爱同学的出租车钱共计 5 美元。我们可以用一个三元组 (x
- Idea查看所有断点