Geometrist类参考

所有成员的列表。

静态公有成员

(BOOL) + isIdentical:with:tolerance:
 判断查询对象和目标对象是否完全相等,类型必须相同,点的顺序也必须一样
(BOOL) + isDisjointed:with:
 判断查询对象和目标对象是否相离
(BOOL) + hasIntersection:with:tolerance:
 判断查询对象和目标对象是否有面积相交,查询对象和目标对象必须有一个为面对象
(BOOL) + hasTouch:with:tolerance:
 判断查询对象和目标对象是否接触
(BOOL) + hasOverlap:with:tolerance:
 判断查询对象与目标对象是否交叠,查询对象与目标对象的维数要求相同
(BOOL) + hasCross:with:
 判断查询对象是否穿越目标对象 目标对象为面时,要求查询对象内部与目标对象的内部的交集不为空且查询对象的内部与目标对象的外部的交集不为空; 目标对象为线时,要求查询对象从目标对象内部的一侧进入并在目标对象内部的某处另一侧穿出。
(BOOL) + isWithin:with:tolerance:
 判断查询对象是否在目标对象内 是CanContain的逆算子
(BOOL) + canContain:with:
 判断查询对象是否完全包含目标对象 是IsWithin的逆算子
(BOOL) + hasCommonPoint:with:
 判断查询对象和目标对象是否有共同节点
(BOOL) + hasCommonLine:with:
 判断查询对象与目标对象是否有共同线段
(Geometry *) + clip:with:
 多边形(二维对象)裁剪
(Geometry *) + clip:withRect:
 二维矩形裁剪
(BOOL) + hasHollow:
 判断面对象是否含有洞
(Geometry *) + intersect:with:tolerance:
 进行求交运算,返回两个几何对象的交集 进行求交运算的两个几何对象必须是同类型的,可以是点点、线线或者面面 目前UGC阶段的开发对第二几何对象只支持面类型,在《叠加分析专题文档》中第二几何对象也要求为面类型
(Geometry *) + erase:with:
 用面对象擦除一个几何对象 如果对象全部被擦除了,则返回的Geometry的IsEmpty属性为true
(Geometry *) + unionGeo:with:tolerance:
 进行求并运算,返回两个几何对象的并集 进行求并运算的两个几何对象必须是同类型的,可以是点点、线线或者面面 目前UGC阶段的开发支持面与面的求并,在《叠加分析专题文档》中的合并运算的说明也写的是只支持面与面求并
(Geometry *) + xOR:with:
 进行两个几何对象的异或运算 进行异或运算的两个几何对象必须是同类型的,可以是点点、线线或者面面
(Geometry *) + update:with:
 对被更新的几何对象利用另一个几何对象进行更新计算,将更新计算的结果返回 更新运算是用更新几何替换与被更新几何对象的重合部分,是一个先擦除后粘贴的过程
(Geometry *) + identity:with:
 对两个几何对象进行同一运算 同一运算就是第一几何对象与第二几何对象先求交,然后求交结果再与第一几何对象求并的运算
(Geometry *) + resample:tolerance:
 按照一定的距离容限对几何对象进行重采样
(Geometry *) + resample:type:tolerance:
(float) + distance:with:
 求两个几何对象之间的距离
(Geometry *) + computeConvexHull:
 计算点集的凸闭包,即最小外接多边形。返回一个简单凸多边形
(Geometry *) + computeGeoConvexHull:
 计算几何对象的凸闭包,即最小外接凸多边形。返回一个简单凸多边形
(Geometry *) + computeConveHull:andAngle:
 计算几何对象的凹闭包,即最小外接凹多边形。返回一个简单凹多边形
(NSArray *) + splitRegion:with:
 用线或面几何对象分割面几何对象,即用splitGeometry去分割sourceGeoRegion对象
(BOOL) + isParallelLine1Start:end:line2Start:end:
 判断两条直线是否平行
(Geometry *) + computeParallel:lineStart:end:
 求经过指定点与已知直线平行的直线
(Geometry *) + computeParallel:distance:
 根据距离求已知折线的平行线,返回平行线
(BOOL) + isPerpendicularLine1Start:end:line2Start:end:
 判断两条直线是否垂直
(Geometry *) + computePerpendicular:lineStart:end:
 计算已知点到已知线的垂线
(Point2D *) + computePerpendicularPosition:lineStart:end:
(BOOL) + isPoint:onLineStart:end:isExtended:
 判断已知点是否在已知线段(直线)上,点在线上返回 True, 否则返回 False。
(Point2D *) + intersectLine1Start:end:line2Start:end:isExtended:
 返回两条线段(直线)的交点
(float) + computeGeodesicDistance:majorAxis:flatten:
(float) + computeGeodesicDistance:prjCoordSys:
(float) + computeGeodesicArea:prjCoordSys:
(NSArray *) + intersectPolyLine:with:
 计算点串构成的折线的交点。
(Point2Ds *) + smooth:withParam:
 对点串进行光滑处理
(NSArray *) + splitLine:with:tolerance:
 对线对象用点进行打断

成员函数文档

+ (BOOL) canContain: (Geometry *)  geo1
with: (Geometry *)  geo2 

判断查询对象是否完全包含目标对象 是IsWithin的逆算子

参数:
geometrySearch Geometry 查询对象,支持点、线、面类型
geometryTarget Geometry 目标对象,支持点、线、面类型
返回:
boolean 查询对象完全包含目标对象返回true,反之返回false
+ (Geometry*) clip: (Geometry *)  srcGeo
with: (Geometry *)  clipGeo 

多边形(二维对象)裁剪

参数:
geometry Geometry 被裁剪的对象,支持线和面类型
clipGeometry Geometry 用于裁剪的对象,必须是面对象
返回:
Geometry 返回裁剪结果对象
+ (Geometry*) clip: (Geometry *)  srcGeo
withRect: (Rectangle2D *)  rect 

二维矩形裁剪

参数:
geometry Geometry 被裁剪的对象,支持线和面类型
clipRectangle Rectangle2D 用于裁剪的二维矩形对象
返回:
Geometry 返回裁剪结果对象
+ (Geometry*) computeConveHull: (Point2Ds *)  points
andAngle: (float)  angle 

计算几何对象的凹闭包,即最小外接凹多边形。返回一个简单凹多边形

参数:
points 点集
angle 角度
返回:
+ (Geometry*) computeConvexHull: (Point2Ds *)  points  

计算点集的凸闭包,即最小外接多边形。返回一个简单凸多边形

参数:
points Point2Ds 点集
返回:
Geometry 返回最小外接多边形
+ (Geometry*) computeGeoConvexHull: (Geometry *)  geo  

计算几何对象的凸闭包,即最小外接凸多边形。返回一个简单凸多边形

参数:
geometry Geometry 几何对象
返回:
Geometry 返回最小外接多边形
+ (float) computeGeodesicArea: (Geometry *)  geometry
prjCoordSys: (PrjCoordSys *)  prjCoordSys 
+ (float) computeGeodesicDistance: (Point2Ds *)  points
majorAxis: (float)  majorAxis
flatten: (float)  flatten 
+ (float) computeGeodesicDistance: (Geometry *)  geometry
prjCoordSys: (PrjCoordSys *)  prjCoordSys 
+ (Geometry*) computeParallel: (Geometry *)  geoline
distance: (float)  distance 

根据距离求已知折线的平行线,返回平行线

参数:
geoLine GeoLine 已知折线对象
distance double 所求平行线间的距离
返回:
GeoLine 返回平行线
+ (Geometry*) computeParallel: (Point2D *)  pnt
lineStart: (Point2D *)  pntStart
end: (Point2D *)  pntEnd 

求经过指定点与已知直线平行的直线

参数:
point Point2D 直线外的任意一点
startPoint Point2D 直线的一点
endPoint Point2D 直线的另一点
返回:
GeoLine 返回平行线
+ (Geometry*) computePerpendicular: (Point2D *)  pnt
lineStart: (Point2D *)  pntStart
end: (Point2D *)  pntEnd 

计算已知点到已知线的垂线

参数:
point Point2D 已知一点
startPoint Point2D 直线上的一点
endPoint Point2D 直线上的另一点
返回:
GeoLine 返回垂线
+ (Point2D*) computePerpendicularPosition: (Point2D *)  pnt
lineStart: (Point2D *)  pntStart
end: (Point2D *)  pntEnd 
+ (float) distance: (Geometry *)  geo1
with: (Geometry *)  geo2 

求两个几何对象之间的距离

参数:
geometry1 Geometry
geometry2 Geometry
返回:
distance double
+ (Geometry*) erase: (Geometry *)  srcGeo
with: (Geometry *)  clipGeo 

用面对象擦除一个几何对象 如果对象全部被擦除了,则返回的Geometry的IsEmpty属性为true

参数:
geometry Geometry 被擦除的几何对象,支持点、线、面对象类型
eraseGeometry Geometry 用于擦除的面几何对象,必须为面对象类型
返回:
Geometry 返回擦除后的结果几何对象
+ (BOOL) hasCommonLine: (Geometry *)  geo1
with: (Geometry *)  geo2 

判断查询对象与目标对象是否有共同线段

参数:
geometrySearch Geometry 查询对象,只支持线、面类型
geometryTarget Geometry 目标对象,只支持线、面类型
返回:
boolean 查询对象与目标对象有公共线段返回true,反之返回false
+ (BOOL) hasCommonPoint: (Geometry *)  geo1
with: (Geometry *)  geo2 

判断查询对象和目标对象是否有共同节点

参数:
geometrySearch Geometry 查询对象,支持点、线、面类型
geometryTarget Geometry 目标对象,支持点、线、面类型
返回:
boolean 查询对象和目标对象有共同节点返回ture,反之返回false
+ (BOOL) hasCross: (Geometry *)  geo1
with: (Geometry *)  geo2 

判断查询对象是否穿越目标对象 目标对象为面时,要求查询对象内部与目标对象的内部的交集不为空且查询对象的内部与目标对象的外部的交集不为空; 目标对象为线时,要求查询对象从目标对象内部的一侧进入并在目标对象内部的某处另一侧穿出。

参数:
geometrySearch Geometry 查询对象,只支持线类型
geometryTarget Geometry 目标对象,只支持线、面类型
返回:
boolean 判断查询对象是否穿越目标对象,穿越返回true,反之返回false
+ (BOOL) hasHollow: (Geometry *)  geo  

判断面对象是否含有洞

参数:
geometry Geometry 进行判断的面对象,暂时只支持二维面对象GeoRegion
返回:
boolean 是否含有洞
+ (BOOL) hasIntersection: (Geometry *)  geo1
with: (Geometry *)  geo2
tolerance: (float)  dTolerance 

判断查询对象和目标对象是否有面积相交,查询对象和目标对象必须有一个为面对象

参数:
geometrySearch Geometry 查询对象,支持点、线、面类型
geometryTarget Geometry 目标对象,支持点、线、面类型
返回:
boolean 查询对象和目标对象是否有面积相交返回ture,反之返回false
+ (BOOL) hasOverlap: (Geometry *)  geo1
with: (Geometry *)  geo2
tolerance: (float)  dTolerance 

判断查询对象与目标对象是否交叠,查询对象与目标对象的维数要求相同

参数:
geometrySearch Geometry 查询对象,只支持线、面类型
geometryTarget Geometry 目标对象,只支持线、面类型
返回:
boolean 判断查询对象与目标对象是否交叠,有交叠返回true,反之返回false
+ (BOOL) hasTouch: (Geometry *)  geo1
with: (Geometry *)  geo2
tolerance: (float)  dTolerance 

判断查询对象和目标对象是否接触

参数:
geometrySearch Geometry 查询对象,支持点、线、面类型
geometryTarget Geometry 目标对象,支持点、线、面类型
返回:
boolean 判断查询对象和目标对象是否接触,接触则返回true,反之返回false
+ (Geometry*) identity: (Geometry *)  geo1
with: (Geometry *)  geo2 

对两个几何对象进行同一运算 同一运算就是第一几何对象与第二几何对象先求交,然后求交结果再与第一几何对象求并的运算

参数:
geometry Geometry 被同一运算的几何对象,即第一几何对象,支持点、线、面对象
IdentityGeometry Geometry 用于同一运算的几何对象,即第二几何对象,必须为面对象
返回:
Geometry 返回同一运算的结果几何对象
+ (Geometry*) intersect: (Geometry *)  geo1
with: (Geometry *)  geo2
tolerance: (float)  dTolerance 

进行求交运算,返回两个几何对象的交集 进行求交运算的两个几何对象必须是同类型的,可以是点点、线线或者面面 目前UGC阶段的开发对第二几何对象只支持面类型,在《叠加分析专题文档》中第二几何对象也要求为面类型

参数:
geometry1 Geometry 进行求交运算的第一个几何对象
geometry2 Geometry 进行求交运算的第二个几何对象
返回:
Geometry 返回两个几何对象的交集
+ (Point2D*) intersectLine1Start: (Point2D *)  pntStart1
end: (Point2D *)  pntEnd1
line2Start: (Point2D *)  pntStart2
end: (Point2D *)  pntEnd2
isExtended: (BOOL)  bExtended 

返回两条线段(直线)的交点

参数:
startPoint1 Point2D 第一条线的起点
endPoint1 Point2D 第一条线的终点
startPoint2 Point2D 第二条线的起点
endPoint2 Point2D 第二条线的终点
isExtended boolean 是否将线段进行延长计算,如果 isExtended = True,就按直线计算,否则按线段计算
返回:
boolean 返回两条线段(直线)的交点
+ (NSArray*) intersectPolyLine: (Point2Ds *)  points1
with: (Point2Ds *)  points2 

计算点串构成的折线的交点。

参数:
points1 
points2 
返回:
+ (BOOL) isDisjointed: (Geometry *)  geo1
with: (Geometry *)  geo2 

判断查询对象和目标对象是否相离

参数:
geometrySearch Geometry 查询对象,支持点、线、面类型
geometryTarget Geometry 目标对象,支持点、线、面类型
返回:
boolean 查询对象和目标对象相离返回true,不相离返回false
+ (BOOL) isIdentical: (Geometry *)  geo1
with: (Geometry *)  geo2
tolerance: (float)  tolerance 

判断查询对象和目标对象是否完全相等,类型必须相同,点的顺序也必须一样

参数:
geometrySearch Geometry 查询对象,支持点、线、面类型
geometryTarget Geometry 目标对象,支持点、线、面类型
返回:
boolean 查询对象和目标对象是否完全相等时返回true,否则返回false
+ (BOOL) isParallelLine1Start: (Point2D *)  pntStart1
end: (Point2D *)  pntEnd1
line2Start: (Point2D *)  pntStart2
end: (Point2D *)  pntEnd2 

判断两条直线是否平行

参数:
startPoint1 Point2D 第一条线的起点
endPoint1 Point2D 第一条线的终点
startPoint2 Point2D 第二条线的起点
endPoint2 Point2D 第二条线的终点
返回:
GeoArc 判断两条直线是否平行,平行返回True,否则返回False
+ (BOOL) isPerpendicularLine1Start: (Point2D *)  pntStart1
end: (Point2D *)  pntEnd1
line2Start: (Point2D *)  pntStart2
end: (Point2D *)  pntEnd2 

判断两条直线是否垂直

参数:
startPoint1 Point2D 第一条线的起点
endPoint1 Point2D 第一条线的终点
startPoint2 Point2D 第二条线的起点
endPoint2 Point2D 第二条线的终点
返回:
boolean 判断两条直线是否垂直,垂直返回True,否则返回False
+ (BOOL) isPoint: (Point2D *)  pnt
onLineStart: (Point2D *)  pntStart
end: (Point2D *)  pntEnd
isExtended: (BOOL)  bExtended 

判断已知点是否在已知线段(直线)上,点在线上返回 True, 否则返回 False。

参数:
point Point2D 已知点
startPoint Point2D 已知线段的起点
endPoint Point2D 已知线段的终点
isExtended boolean 是否将线段进行延长计算,如果 isExtended = True,就按直线计算,否则按线段计算
返回:
boolean 判断已知点是否在已知线段(直线)上,点在线上返回 True, 否则返回 False。
+ (BOOL) isWithin: (Geometry *)  geo1
with: (Geometry *)  geo2
tolerance: (float)  dTolerance 

判断查询对象是否在目标对象内 是CanContain的逆算子

参数:
geometrySearch Geometry 查询对象,支持点、线、面类型
geometryTarget Geometry 目标对象,支持点、线、面类型
返回:
boolean 判断查询对象是否在目标对象内,在其内返回true,反之返回false
+ (Geometry*) resample: (Geometry *)  geo
tolerance: (float)  tolerance 

按照一定的距离容限对几何对象进行重采样

参数:
geometry Geometry 被重采样的几何对象
tolerance 对于ResampeType.RTBEND 和 ResampeType.RTGENERAL,tolerance为距离容限
返回:
Geometry 返回重采样的结果几何对象
+ (Geometry*) resample: (Geometry *)  geo
type: (ResampleType type
tolerance: (float)  tolerance 
+ (Point2Ds*) smooth: (Point2Ds *)  points
withParam: (int)  smoothness 

对点串进行光滑处理

参数:
points 需要进行光滑处理的点串
smoothness 光滑系数,建议值[2,10]
返回:
+ (NSArray*) splitLine: (Geometry *)  srcGeo
with: (Geometry *)  splitGeo
tolerance: (float)  tolerance 

对线对象用点进行打断

参数:
sourceLine 需要进行打断的线对象
splitGeometry 用来打断的对象,目前支持点、线、面
tolerance 容限
返回:
+ (NSArray*) splitRegion: (Geometry *)  srcGeo
with: (Geometry *)  splitGeo 

用线或面几何对象分割面几何对象,即用splitGeometry去分割sourceGeoRegion对象

参数:
soureRegion GeoRegion 被分割的面对象
splitGeometry Geometry 用于分割的几何对象,可以是线或面几何对象
targetGeoRegion1 GeoRegion 返回分割后的第一个面对象
targetGeoRegion2 GeoRegion 返回分割后的第一个面对象
返回:
boolean
+ (Geometry*) unionGeo: (Geometry *)  geo1
with: (Geometry *)  geo2
tolerance: (float)  dTolerance 

进行求并运算,返回两个几何对象的并集 进行求并运算的两个几何对象必须是同类型的,可以是点点、线线或者面面 目前UGC阶段的开发支持面与面的求并,在《叠加分析专题文档》中的合并运算的说明也写的是只支持面与面求并

参数:
geometry1 Geometry 进行求并运算的第一个几何对象
geometry2 Geometry 进行求并运算的第一个几何对象
返回:
Geometry 返回值为两个求并几何对象的并集
+ (Geometry*) update: (Geometry *)  geo1
with: (Geometry *)  geo2 

对被更新的几何对象利用另一个几何对象进行更新计算,将更新计算的结果返回 更新运算是用更新几何替换与被更新几何对象的重合部分,是一个先擦除后粘贴的过程

参数:
geometry Geometry 被更新的几何对象,必须为面对象
UpdateGeometry Geometry 用于进行更新运算的几何对象,必须为面对象
返回:
Geometry 返回更新运算的结果几何对象
+ (Geometry*) xOR: (Geometry *)  geo1
with: (Geometry *)  geo2 

进行两个几何对象的异或运算 进行异或运算的两个几何对象必须是同类型的,可以是点点、线线或者面面

参数:
geometry1 Geometry 进行异或运算的第一个几何对象
geometry2 Geometry 进行异或运算的第二个几何对象
返回:
Geometry 返回值为进行异或运算的结果几何对象

该类的文档由以下文件生成: