SuperMap.Plot.PlottingUtil

一些常用的函数。

Summary
SuperMap.Plot.PlottingUtil 一些常用的函数。
Functions
SuperMap.Plot.PlottingUtil.circlePoint 求圆上点
SuperMap.Plot.PlottingUtil.clearSamePts 清除重复点
SuperMap.Plot.PlottingUtil.clonePoints 克隆点数组。
SuperMap.Plot.PlottingUtil.colorRGBToString 颜色从Object转到字符串
SuperMap.Plot.PlottingUtil.colorStringToRGB 颜色从字符串转到Object
SuperMap.Plot.PlottingUtil.computePointToLineMinDis 计算点到折线段的最小距离
SuperMap.Plot.PlottingUtil.copyFeature 拷贝标号
SuperMap.Plot.PlottingUtil.distance 求解两点间距离
SuperMap.Plot.PlottingUtil.equalFuzzy 判断两个浮点数是否近似相等。
SuperMap.Plot.PlottingUtil.findPoint 在直线(pntStart, pntEnd)绕pntStart逆时针旋转dAngle度所成的直线上,到pntStart的距离为dDistance的点。
SuperMap.Plot.PlottingUtil.findPointInLine 沿着直线的方向, 在直线上找一个点, 到起始点(pntStart)的距离等于dDistance
SuperMap.Plot.PlottingUtil.findPointInPolyLine 根据长度获取位置点和位置点索引
SuperMap.Plot.PlottingUtil.generateUuid 生成全局唯一标识符uuid。
SuperMap.Plot.PlottingUtil.getDataFromServer 从服务器获取标号数据。
SuperMap.Plot.PlottingUtil.getEnvelopePoints 求解圆相交的包络,并组合成环返回
SuperMap.Plot.PlottingUtil.getOutRectangleDis 求解点数组中最大点与最小点的距离
SuperMap.Plot.PlottingUtil.getPolygonCenterPt 计算多边形的中心点
SuperMap.Plot.PlottingUtil.getPtsIndexByDistance 在点串坐标中计算出长度为指定距离的点坐标,返回该点坐标
SuperMap.Plot.PlottingUtil.getTextCount 获取text中的字符个数。
SuperMap.Plot.PlottingUtil.hexToDecimal RGB十六进制颜色转成ABGR的十进制
SuperMap.Plot.PlottingUtil.InnerAngle 计算三点构成的夹角 [0~180]
SuperMap.Plot.PlottingUtil.intersectLines 求两条直线之间的交点,重叠认为是平行的
SuperMap.Plot.PlottingUtil.intersectLineSegs 求解线段和线段的交点,重叠或者平行返回false
SuperMap.Plot.PlottingUtil.isCounterClockwise 判断三点是否逆时针排列
SuperMap.Plot.PlottingUtil.isCross 判断线段A是否跨越线段B
SuperMap.Plot.PlottingUtil.isEmptyObject 判断是否是对象
SuperMap.Plot.PlottingUtil.isNear 判断浮点数是否近似等于某个值。
SuperMap.Plot.PlottingUtil.isPloyClockwise 判断图形为顺时针逆时针
SuperMap.Plot.PlottingUtil.isRight 判断点是否在线段的右边。
SuperMap.Plot.PlottingUtil.isSamePt 判断两个点是否相等
SuperMap.Plot.PlottingUtil.paraLine 求点串左边或右边的平行线点串数组
SuperMap.Plot.PlottingUtil.parallel 求解折线的平行线。
SuperMap.Plot.PlottingUtil.paraPolygon 求平行折线
SuperMap.Plot.PlottingUtil.plumbLineLen 三角形顶点到对边的垂直距离,参数以坐标值的形式传入
SuperMap.Plot.PlottingUtil.pointIsOnPolyLine 判断点是否在两点折线段上
SuperMap.Plot.PlottingUtil.pointProjectToSegment 判断点在线段上是否有垂足点,有并求垂足点
SuperMap.Plot.PlottingUtil.pointToLineDis 求pt到线段(ptStart, ptEnd)上的距离
SuperMap.Plot.PlottingUtil.pointToPloyLineDis 求pt到(ptStart, ptEnd)折线上的距离,如果垂足不在折线上,则返回点到线段两个端点距离的较小值
SuperMap.Plot.PlottingUtil.polylineDistance 求点串的折线总长度
SuperMap.Plot.PlottingUtil.projectPoint 求pt在线段(ptStart, ptEnd)上的垂足
SuperMap.Plot.PlottingUtil.projectPtOnPolyLine 垂足点在折线上
SuperMap.Plot.PlottingUtil.ptInBounds 判断点是否在包围框bounds里面
SuperMap.Plot.PlottingUtil.ptIsInPolygon 判断点是否在多边形内
SuperMap.Plot.PlottingUtil.radian 计算两点的弧度(和正东方向的逆时针夹角)。
SuperMap.Plot.PlottingUtil.rotate 给出参数(cos,sin)计算点旋转
SuperMap.Plot.PlottingUtil.toJSON 将对象转换成 JSON 字符串。
SuperMap.Plot.PlottingUtil.trim 去除左右两端空格。

Functions

SuperMap.Plot.PlottingUtil.getDataFromServer

SuperMap.Plot.PlottingUtil.getDataFromServer = function( serverUrl,
libID,
code,
positionPoints,
options,
scope,
success,
fail )

从服务器获取标号数据。

Parameters

serverUrl {String} 表示标绘服务的URI
libID {Integer} 标号库ID
code {Integer} 标号代码
positionPoints {Array(SuperMap.Pixel)} 标号位置点
options {Object} 指定标号的属性
scope {Object}
success {Function} 请求成功后的回调函数
fail {Function} 请求失败后的回调函数

SuperMap.Plot.PlottingUtil.trim

SuperMap.Plot.PlottingUtil.trim = function ( str )

去除左右两端空格。

Parameters

str {String} 字符串。

Returns

{string} 返回去除左右两端空格的字符串。

SuperMap.Plot.PlottingUtil.generateUuid

SuperMap.Plot.PlottingUtil.generateUuid = function ()

生成全局唯一标识符uuid。

Returns

{String} 返回全局唯一标识符uuid。

SuperMap.Plot.PlottingUtil.isNear

SuperMap.Plot.PlottingUtil.isNear = function ( num,
tolerance )

判断浮点数是否近似等于某个值。

Parameters

num {float} 浮点数。
tolerance {float} 浮点数比较容限值

Returns

{Boolean} 返回是否近似等于某个值。

SuperMap.Plot.PlottingUtil.equalFuzzy

SuperMap.Plot.PlottingUtil.equalFuzzy = function ( numA,
numB,
tolerance )

判断两个浮点数是否近似相等。

Parameters

numA {float} 浮点数。
numB {float} 浮点数。
tolerance {float} 浮点数比较容限值

Returns

{Boolean} 返回是否近似相等。

SuperMap.Plot.PlottingUtil.intersectLines

SuperMap.Plot.PlottingUtil.intersectLines = function ( pntStart1,
pntEnd1,
pntStart2,
pntEnd2 )

求两条直线之间的交点,重叠认为是平行的

Parameters

pntStart1 {SuperMap.Geometry.Point} 一条直线起点。
pntEnd1 {SuperMap.Geometry.Point} 一条直线终点。
pntStart2 {SuperMap.Geometry.Point} 另一条直线起点。
pntEnd2 {SuperMap.Geometry.Point} 另一条直线终点。

Returns

{Object} 返回是否相交(isIntersectLines)及相交时的相交点(intersectPoint)。

SuperMap.Plot.PlottingUtil.getEnvelopePoints

SuperMap.Plot.PlottingUtil.getEnvelopePoints = function ( circlePts )

求解圆相交的包络,并组合成环返回

Parameters

circlePts {Array(Array(SuperMap.Geometry.Point))} n个圆的拟合点数组。

Returns

{Array(Array(SuperMap.Geometry.Point))} 返回包络点串。

SuperMap.Plot.PlottingUtil.clonePoints

SuperMap.Plot.PlottingUtil.clonePoints = function ( cp )

克隆点数组。

Parameters

cp {Array(SuperMap.Geometry.Point)} 要克隆的点数组。

Returns

{Array(SuperMap.Geometry.Point)} 返回克隆后的点数组。

SuperMap.Plot.PlottingUtil.getTextCount

SuperMap.Plot.PlottingUtil.getTextCount = function ( text )

获取text中的字符个数。

Parameters

text {String} 字符串。

Returns

{Integer} 字符个数统计结果,中文字符为1个数,英文字符为0.5个数。

SuperMap.Plot.PlottingUtil.toJSON

SuperMap.Plot.PlottingUtil.toJSON = function ( obj )

将对象转换成 JSON 字符串。

Parameters

obj {Object} 要转换成 JSON 的 Object 对象。

Returns

{String} 返回转换后的 JSON 对象。

SuperMap.Plot.PlottingUtil.isRight

SuperMap.Plot.PlottingUtil.isRight = function( pntTest,
pntStart,
pntEnd )

判断点是否在线段的右边。

Parameters

pntTest {SuperMap.Geometry.Point} 要判断的点。
pntStart {SuperMap.Geometry.Point} 线段起点。
pntEnd {SuperMap.Geometry.Point} 线段终点。

Returns

{boolean} 在右边返回true。

SuperMap.Plot.PlottingUtil.radian

SuperMap.Plot.PlottingUtil.radian = function( pntFrom,
pntTo )

计算两点的弧度(和正东方向的逆时针夹角)。

Parameters

pntFrom {SuperMap.Geometry.Point} 起点。
pntTo {SuperMap.Geometry.Point} 终点。

Returns

{Integer} 返回所成弧度。

SuperMap.Plot.PlottingUtil.findPoint

SuperMap.Plot.PlottingUtil.findPoint = function( pntStart,
pntEnd,
dDistance,
dAngle )

在直线(pntStart, pntEnd)绕pntStart逆时针旋转dAngle度所成的直线上,到pntStart的距离为dDistance的点。

Parameters

pntStart {SuperMap.Geometry.Point} 直线起点。
pntEnd {SuperMap.Geometry.Point} 直线终点。
dDistance {Float} 和pntStart的距离。
dAngle {Float} 直线绕pntStart的旋转角度。

Returns

{SuperMap.Geometry.Point} 返回旋转后的点

SuperMap.Plot.PlottingUtil.isCross

SuperMap.Plot.PlottingUtil.isCross = function( pntStart1,
pntEnd1,
pntStart2,
pntEnd2 )

判断线段A是否跨越线段B

Parameters

pntStart1 {SuperMap.Geometry.Point} 线段起点。
pntEnd1 {SuperMap.Geometry.Point} 线段终点。
pntStart2 {SuperMap.Geometry.Point} 另一条线段起点。
pntEnd2 {SuperMap.Geometry.Point} 另一条线段终点。

Returns

{Boolean} 是否跨越

SuperMap.Plot.PlottingUtil.intersectLineSegs

SuperMap.Plot.PlottingUtil.intersectLineSegs = function( pntStart1,
pntEnd1,
pntStart2,
pntEnd2,
pntResult )

求解线段和线段的交点,重叠或者平行返回false

Parameters

pntStart1 {SuperMap.Geometry.Point} 线段起点。
pntEnd1 {SuperMap.Geometry.Point} 线段终点。
pntStart2 {SuperMap.Geometry.Point} 另一条线段起点。
pntEnd2 {SuperMap.Geometry.Point} 另一条线段终点。
pntResult {SuperMap.Geometry.Point} 返回线段交点

Returns

{Boolean} 平行返回false

SuperMap.Plot.PlottingUtil.parallel

SuperMap.Plot.PlottingUtil.parallel = function( pntSrc,
dDistance )

求解折线的平行线。

Parameters

pntSrc {Array(SuperMap.Geometry.Point)} 折线数组。
dDistance {Float} 平行线之间距离。

Returns

{Array(SuperMap.Geometry.Point)} 返回折线点串。

SuperMap.Plot.PlottingUtil.distance

SuperMap.Plot.PlottingUtil.distance = function( pt1,
pt2 )

求解两点间距离

Parameters

pt1 {SuperMap.Geometry.Point} 第一点
pt2 {SuperMap.Geometry.Point} 另一点

Returns

{Float} 返回pt1和pt2两点间距离。

SuperMap.Plot.PlottingUtil.projectPoint

SuperMap.Plot.PlottingUtil.projectPoint = function( pt,
ptStart,
ptEnd )

求pt在线段(ptStart, ptEnd)上的垂足

Parameters

pt {SuperMap.Geometry.Point} pt
ptStart {SuperMap.Geometry.Point} 线段起点
ptEnd {SuperMap.Geometry.Point} 线段终点

Returns

{SuperMap.Geometry.Point} 返回垂足点。

SuperMap.Plot.PlottingUtil.pointToLineDis

SuperMap.Plot.PlottingUtil.pointToLineDis = function( pt,
ptStart,
ptEnd )

求pt到线段(ptStart, ptEnd)上的距离

Parameters

pt {SuperMap.Geometry.Point} pt
ptStart {SuperMap.Geometry.Point} 线段起点
ptEnd {SuperMap.Geometry.Point} 线段终点

Returns

{float} 返回距离。

SuperMap.Plot.PlottingUtil.pointToPloyLineDis

SuperMap.Plot.PlottingUtil.pointToPloyLineDis = function( pt,
ptStart,
ptEnd )

求pt到(ptStart, ptEnd)折线上的距离,如果垂足不在折线上,则返回点到线段两个端点距离的较小值

Parameters

pt {SuperMap.Geometry.Point} pt
ptStart {SuperMap.Geometry.Point} 线段起点
ptEnd {SuperMap.Geometry.Point} 线段终点

Returns

{float} 返回距离。

SuperMap.Plot.PlottingUtil.isCounterClockwise

SuperMap.Plot.PlottingUtil.isCounterClockwise = function( pt1,
pt2,
pt3 )

判断三点是否逆时针排列

Parameters

pt1 {SuperMap.Geometry.Point} pt1点
pt2 {SuperMap.Geometry.Point} pt2点
pt3 {SuperMap.Geometry.Point} pt3点

Returns

{boolean} 逆时针排列返回true,否则返回false。

SuperMap.Plot.PlottingUtil.clearSamePts

SuperMap.Plot.PlottingUtil.clearSamePts = function( pts )

清除重复点

Parameters

pts {Array(SuperMap.Geometry.Point)} 点数组

Returns

{Array(SuperMap.Geometry.Point)} 返回去重之后的数组

SuperMap.Plot.PlottingUtil.copyFeature

SuperMap.Plot.PlottingUtil.copyFeature = function( feature )

拷贝标号

Parameters

feature {SuperMap.Feature.Vector} 标号

Returns

{SuperMap.Feature.Vector} 返回拷贝后的标号

SuperMap.Plot.PlottingUtil.colorRGBToString

SuperMap.Plot.PlottingUtil.colorRGBToString = function( colorData )

颜色从Object转到字符串

Parameters

colorData {Object} 颜色

Returns

{String} 返回颜色字符串

SuperMap.Plot.PlottingUtil.colorStringToRGB

SuperMap.Plot.PlottingUtil.colorStringToRGB = function( colorData )

颜色从字符串转到Object

Parameters

colorData {String} 颜色

Returns

{Object} 返回颜色对象

SuperMap.Plot.PlottingUtil.hexToDecimal

SuperMap.Plot.PlottingUtil.hexToDecimal = function( colorData,
opacity )

RGB十六进制颜色转成ABGR的十进制

Parameters

colorData {String} 颜色
opacity {Number} 透明度

Returns

{Object} 返回颜色对象

SuperMap.Plot.PlottingUtil.pointIsOnPolyLine

SuperMap.Plot.PlottingUtil.pointIsOnPolyLine = function( testPt,
pt1,
pt2 )

判断点是否在两点折线段上

Parameters

testPt {SuperMap.Geometry.Point} 测试点
pt1 {SuperMap.Geometry.Point} 折线段的第一个点
pt2 {SuperMap.Geometry.Point} 折线段的第二个点

Returns

{Boolean} 如果在折线上则返回true,否则返回false

SuperMap.Plot.PlottingUtil.computePointToLineMinDis

SuperMap.Plot.PlottingUtil.computePointToLineMinDis = function( pt,
pts )

计算点到折线段的最小距离

Parameters

pt {SuperMap.Geometry.Point} 测试点
pts {Array(SuperMap.Geometry.Point)} 折线段的点数组

Returns

{object} 最小距离和最小距离所在折线段的索引

SuperMap.Plot.PlottingUtil.findPointInLine

SuperMap.Plot.PlottingUtil.findPointInLine = function( pntStart,
pntEnd,
dDistance )

沿着直线的方向, 在直线上找一个点, 到起始点(pntStart)的距离等于dDistance

Parameters

pntStart {SuperMap.Geometry.Point} 直线起点。
pntEnd {SuperMap.Geometry.Point} 直线终点。
dDistance {Float} 和pntStart的距离。

Returns

{SuperMap.Geometry.Point} 直线方向与起始点相距dDistance的点

SuperMap.Plot.PlottingUtil.findPointInPolyLine

SuperMap.Plot.PlottingUtil.findPointInPolyLine = function( pts,
dDistance )

根据长度获取位置点和位置点索引

Parameters

pts {Array(SuperMap.Geometry.Point)} 点数组。
dDistance {Float} 所求点到pts[0]的折线距离。

Returns

{object} 所求点的索引(index)和点位置(pt)

SuperMap.Plot.PlottingUtil.polylineDistance

SuperMap.Plot.PlottingUtil.polylineDistance = function( controlPoints )

求点串的折线总长度

Parameters

controlPoints {Array(SuperMap.Geometry.Point)} 点串

Returns

{Float} 返回点串总长度。

SuperMap.Plot.PlottingUtil.rotate

SuperMap.Plot.PlottingUtil.rotate = function( pntAnchor,
dCos,
dSin,
pntSource )

给出参数(cos,sin)计算点旋转

Parameters

pntAnchor {SuperMap.Geometry.Point} 参考点坐标;
dCos {float} 余弦
dSin {float} 正弦
pntSource {SuperMap.Geometry.Point} 旋转的点

Returns

{SuperMap.Geometry.Point} 返回旋转后的点。

SuperMap.Plot.PlottingUtil.pointProjectToSegment

SuperMap.Plot.PlottingUtil.pointProjectToSegment = function( pntHitTest,
pntLinsectStart,
pntLinsectEnd )

判断点在线段上是否有垂足点,有并求垂足点

Parameters

pntHitTest {(SuperMap.Geometry.Point)} 一个点。
pntLinsectStart {(SuperMap.Geometry.Point)} 线段的起始点。
pntLinsectEnd {(SuperMap.Geometry.Point)} 线段的结束点。

Returns

{object} isOnline垂足是否在线上,projectPoint垂足点

SuperMap.Plot.PlottingUtil.paraLine

SuperMap.Plot.PlottingUtil.paraLine = function( srcPnts,
dis,
isLeft )

求点串左边或右边的平行线点串数组

Parameters

srcPnts {Array(SuperMap.Geometry.Point)} 点串。
dis {Float} 平行线间的距离。
isLeft {boolean} true是左平行线,false是右平行线。

Returns

{Array(SuperMap.Geometry.Point)} 平行线的点串数组

SuperMap.Plot.PlottingUtil.circlePoint

SuperMap.Plot.PlottingUtil.circlePoint = function( center,
dx,
dy,
angle )

求圆上点

Parameters

center {Array(SuperMap.Geometry.Point)} 圆心点。
dx {Float} 半径1。
dy {Float} 半径2。
angle {Float} 角度(圆上点、圆心点所成的直线与X轴正方向的夹角),单位为角度。

Returns

{SuperMap.Geometry.Point} 指定角度的圆上点

SuperMap.Plot.PlottingUtil.getPolygonCenterPt

SuperMap.Plot.PlottingUtil.getPolygonCenterPt = function( pts )

计算多边形的中心点

Parameters

pts {Array(SuperMap.Geometry.Point)} 多边形位置点。

Returns

{SuperMap.Geometry.Point} 中心点

SuperMap.Plot.PlottingUtil.ptIsInPolygon

SuperMap.Plot.PlottingUtil.ptIsInPolygon = function( pts,
testPt )

判断点是否在多边形内

Parameters

pts {Array(SuperMap.Geometry.Point)} 多边形位置点。
testPt {SuperMap.Geometry.Point} 测试点。

Returns

{Boolean} 在多边形内返回true,否则返回false

SuperMap.Plot.PlottingUtil.projectPtOnPolyLine

SuperMap.Plot.PlottingUtil.projectPtOnPolyLine = function( pt,
polyLinePts )

垂足点在折线上

Parameters

pt {SuperMap.Geometry.Point} 测试点。
polyLinePts {Array(SuperMap.Geometry.Point)} 折线点串。

Returns

{object} 垂足点的索引和垂足点

SuperMap.Plot.PlottingUtil.isPloyClockwise

SuperMap.Plot.PlottingUtil.isPloyClockwise = function( pts )

判断图形为顺时针逆时针

Parameters

pts {Array(SuperMap.Geometry.Point)} 多边形点串。

Returns

{Integer} 逆时针返回0 顺时针返回1

SuperMap.Plot.PlottingUtil.isSamePt

SuperMap.Plot.PlottingUtil.isSamePt = function( pt1,
pt2 )

判断两个点是否相等

Parameters

pt1 {SuperMap.Geometry.Point} 点。
pt1 {SuperMap.Geometry.Point} 点。

Returns

{Boolean} 如果相等返回true,否则返回false

SuperMap.Plot.PlottingUtil.getPtsIndexByDistance

SuperMap.Plot.PlottingUtil.getPtsIndexByDistance = function( dis,
points )

在点串坐标中计算出长度为指定距离的点坐标,返回该点坐标

Parameters

dis {float} 指定的距离
points {Array(SuperMap.Geometry.Point)}点串坐标

Returns

{object} 返回的位置点坐标和索以及位置点是否在点串的线段上

SuperMap.Plot.PlottingUtil.ptInBounds

SuperMap.Plot.PlottingUtil.ptInBounds = function( pnt,
bounds )

判断点是否在包围框bounds里面

Parameters

bounds {object} 包围框bounds
pnt {SuperMap.Geometry.Point} 位置点

Returns

{boolean} 返回true是在bounds内,false表示不在

SuperMap.Plot.PlottingUtil.InnerAngle

SuperMap.Plot.PlottingUtil.InnerAngle = function( vertex,
pt1,
pt2 )

计算三点构成的夹角 [0~180]

Parameters

pt1 {SuperMap.Geometry.Point} 一个端点
pt2 {SuperMap.Geometry.Point} 另一个端点
vertex {SuperMap.Geometry.Point} 顶点

Returns

{Float} 返回弧度

SuperMap.Plot.PlottingUtil.plumbLineLen

SuperMap.Plot.PlottingUtil.plumbLineLen = function( pt1,
pt2,
pt3 )

三角形顶点到对边的垂直距离,参数以坐标值的形式传入

Parameters

pt1, pt2, pt3 {SuperMap.Geometry.Point} 三角形的三个顶点

Returns

{float} 垂直距离

SuperMap.Plot.PlottingUtil.paraPolygon

SuperMap.Plot.PlottingUtil.paraPolygon = function ( pts,
dis,
bOut )

求平行折线

Parameters

pts {SuperMap.Geometry.Point} 二维折线点串
dis {float} 平行折线距离
bOut {boolean} 默认生成在线的左侧

Returns

{Array(SuperMap.Geometry.Point)} 平行点串

SuperMap.Plot.PlottingUtil.getOutRectangleDis

SuperMap.Plot.PlottingUtil.getOutRectangleDis = function ( pts2D )

求解点数组中最大点与最小点的距离

Parameters

pts2D {SuperMap.Geometry.Point} 二维折线点串

Returns

{float} 距离

SuperMap.Plot.PlottingUtil.isEmptyObject

SuperMap.Plot.PlottingUtil.isEmptyObject = function ( obj )

判断是否是对象

Parameters

obj 传入的参数

Returns

{boolean} 是否是对象

SuperMap.Plot.PlottingUtil.getDataFromServer = function( serverUrl,
libID,
code,
positionPoints,
options,
scope,
success,
fail )
从服务器获取标号数据。
SuperMap.Plot.PlottingUtil.trim = function ( str )
去除左右两端空格。
SuperMap.Plot.PlottingUtil.generateUuid = function ()
生成全局唯一标识符uuid。
SuperMap.Plot.PlottingUtil.isNear = function ( num,
tolerance )
判断浮点数是否近似等于某个值。
SuperMap.Plot.PlottingUtil.equalFuzzy = function ( numA,
numB,
tolerance )
判断两个浮点数是否近似相等。
SuperMap.Plot.PlottingUtil.intersectLines = function ( pntStart1,
pntEnd1,
pntStart2,
pntEnd2 )
求两条直线之间的交点,重叠认为是平行的
SuperMap.Plot.PlottingUtil.getEnvelopePoints = function ( circlePts )
求解圆相交的包络,并组合成环返回
SuperMap.Plot.PlottingUtil.clonePoints = function ( cp )
克隆点数组。
SuperMap.Plot.PlottingUtil.getTextCount = function ( text )
获取text中的字符个数。
SuperMap.Plot.PlottingUtil.toJSON = function ( obj )
将对象转换成 JSON 字符串。
SuperMap.Plot.PlottingUtil.isRight = function( pntTest,
pntStart,
pntEnd )
判断点是否在线段的右边。
SuperMap.Plot.PlottingUtil.radian = function( pntFrom,
pntTo )
计算两点的弧度(和正东方向的逆时针夹角)。
SuperMap.Plot.PlottingUtil.findPoint = function( pntStart,
pntEnd,
dDistance,
dAngle )
在直线(pntStart, pntEnd)绕pntStart逆时针旋转dAngle度所成的直线上,到pntStart的距离为dDistance的点。
SuperMap.Plot.PlottingUtil.isCross = function( pntStart1,
pntEnd1,
pntStart2,
pntEnd2 )
判断线段A是否跨越线段B
SuperMap.Plot.PlottingUtil.intersectLineSegs = function( pntStart1,
pntEnd1,
pntStart2,
pntEnd2,
pntResult )
求解线段和线段的交点,重叠或者平行返回false
SuperMap.Plot.PlottingUtil.parallel = function( pntSrc,
dDistance )
求解折线的平行线。
SuperMap.Plot.PlottingUtil.distance = function( pt1,
pt2 )
求解两点间距离
SuperMap.Plot.PlottingUtil.projectPoint = function( pt,
ptStart,
ptEnd )
求pt在线段(ptStart, ptEnd)上的垂足
SuperMap.Plot.PlottingUtil.pointToLineDis = function( pt,
ptStart,
ptEnd )
求pt到线段(ptStart, ptEnd)上的距离
SuperMap.Plot.PlottingUtil.pointToPloyLineDis = function( pt,
ptStart,
ptEnd )
求pt到(ptStart, ptEnd)折线上的距离,如果垂足不在折线上,则返回点到线段两个端点距离的较小值
SuperMap.Plot.PlottingUtil.isCounterClockwise = function( pt1,
pt2,
pt3 )
判断三点是否逆时针排列
SuperMap.Plot.PlottingUtil.clearSamePts = function( pts )
清除重复点
SuperMap.Plot.PlottingUtil.copyFeature = function( feature )
拷贝标号
SuperMap.Plot.PlottingUtil.colorRGBToString = function( colorData )
颜色从Object转到字符串
SuperMap.Plot.PlottingUtil.colorStringToRGB = function( colorData )
颜色从字符串转到Object
SuperMap.Plot.PlottingUtil.hexToDecimal = function( colorData,
opacity )
RGB十六进制颜色转成ABGR的十进制
SuperMap.Plot.PlottingUtil.pointIsOnPolyLine = function( testPt,
pt1,
pt2 )
判断点是否在两点折线段上
SuperMap.Plot.PlottingUtil.computePointToLineMinDis = function( pt,
pts )
计算点到折线段的最小距离
SuperMap.Plot.PlottingUtil.findPointInLine = function( pntStart,
pntEnd,
dDistance )
沿着直线的方向, 在直线上找一个点, 到起始点(pntStart)的距离等于dDistance
SuperMap.Plot.PlottingUtil.findPointInPolyLine = function( pts,
dDistance )
根据长度获取位置点和位置点索引
SuperMap.Plot.PlottingUtil.polylineDistance = function( controlPoints )
求点串的折线总长度
SuperMap.Plot.PlottingUtil.rotate = function( pntAnchor,
dCos,
dSin,
pntSource )
给出参数(cos,sin)计算点旋转
SuperMap.Plot.PlottingUtil.pointProjectToSegment = function( pntHitTest,
pntLinsectStart,
pntLinsectEnd )
判断点在线段上是否有垂足点,有并求垂足点
SuperMap.Plot.PlottingUtil.paraLine = function( srcPnts,
dis,
isLeft )
求点串左边或右边的平行线点串数组
SuperMap.Plot.PlottingUtil.circlePoint = function( center,
dx,
dy,
angle )
求圆上点
SuperMap.Plot.PlottingUtil.getPolygonCenterPt = function( pts )
计算多边形的中心点
SuperMap.Plot.PlottingUtil.ptIsInPolygon = function( pts,
testPt )
判断点是否在多边形内
SuperMap.Plot.PlottingUtil.projectPtOnPolyLine = function( pt,
polyLinePts )
垂足点在折线上
SuperMap.Plot.PlottingUtil.isPloyClockwise = function( pts )
判断图形为顺时针逆时针
SuperMap.Plot.PlottingUtil.isSamePt = function( pt1,
pt2 )
判断两个点是否相等
SuperMap.Plot.PlottingUtil.getPtsIndexByDistance = function( dis,
points )
在点串坐标中计算出长度为指定距离的点坐标,返回该点坐标
SuperMap.Plot.PlottingUtil.ptInBounds = function( pnt,
bounds )
判断点是否在包围框bounds里面
SuperMap.Plot.PlottingUtil.InnerAngle = function( vertex,
pt1,
pt2 )
计算三点构成的夹角 [0~180]
SuperMap.Plot.PlottingUtil.plumbLineLen = function( pt1,
pt2,
pt3 )
三角形顶点到对边的垂直距离,参数以坐标值的形式传入
SuperMap.Plot.PlottingUtil.paraPolygon = function ( pts,
dis,
bOut )
求平行折线
SuperMap.Plot.PlottingUtil.getOutRectangleDis = function ( pts2D )
求解点数组中最大点与最小点的距离
SuperMap.Plot.PlottingUtil.isEmptyObject = function ( obj )
判断是否是对象
此类用x,y坐标描绘屏幕坐标(像素点)。
点几何对象类。
矢量要素类。该类具有 Geometry 属性存放几何信息, attributes 属性存放非几何信息,另外还包含了 style 属性,用来定义矢量要素的样式, 其中,默认的样式在 SuperMap.Feature.Vector.style 类中定义,如果没有特别的指定将使用默认的样式,
Close