包 | com.supermap.web.utils |
类 | public class GeoUtil |
继承 | GeoUtil ![]() |
方法 | 定义方 | ||
---|---|---|---|
contains(arrOfMapPoints:Array, px:Number, py:Number):Boolean
[static] 判断点是否在多边形内,该多边形由一组点集合组成。
|
GeoUtil | ||
filterPointsByRegion(region:GeoRegion, points:Array, partsIndexes:Array = null, remainPoints:Array = null):Array
[static] 获取与多边形相交的点对象集合,包括与多边形边界相交的点。
|
GeoUtil | ||
lonLatToMercator(x:Number, y:Number):Point2D
[static] 将经纬度坐标转换为墨卡托投影坐标。
|
GeoUtil | ||
mercatorToLonLat(x:Number, y:Number):Point2D
[static] 将墨卡托投影坐标转换为经纬度坐标。
|
GeoUtil | ||
[static]
|
GeoUtil |
contains | () | 方法 |
public static function contains(arrOfMapPoints:Array, px:Number, py:Number):Boolean
判断点是否在多边形内,该多边形由一组点集合组成。
参数
arrOfMapPoints:Array — 组成多边形的点集合,该参数为一维数组。 |
|
px:Number — 点的 x 坐标。 |
|
py:Number — 点的 y 坐标。 |
Boolean — 结果为 true 表示点在多边形内(包括点与多边形边界相交),fales 反之。 |
filterPointsByRegion | () | 方法 |
public static function filterPointsByRegion(region:GeoRegion, points:Array, partsIndexes:Array = null, remainPoints:Array = null):Array
获取与多边形相交的点对象集合,包括与多边形边界相交的点。
参数
region:GeoRegion — 用于求交的多边形。 |
|
points:Array — 用于求交的点对象(GeoPoint 类型)集合。 |
|
partsIndexes:Array (default = null ) — 当多边形为复杂对象时,该属性表示针对复杂多边形的哪个子对象来进行求交运算,如下图为一个复杂多边形,包括两个子对象,假设 partsIndexes = [0],表示针对索引为 0 的子对象进行求交,则求交结果为图中红色标记的点集合。![]() 若不设置该参数,表示针对所有子对象进行求交运算。若为简单多边形,无需设置该参数。 |
|
remainPoints:Array (default = null ) — 未相交的点(GeoPoint 类型)集合。该参数主要应用于分批求交时,可有效提高求交效率。示例如下: 需求环境:现有全国 10000 个点要素(contryPoints),求取四川省(sichuanRegion)和吉林省(jilinRegion)内的所有点。 实现描述: 1)首先求取四川省内的所有点; 2)其次进行第二次求交,获取吉林省内的所有点。经过第一次求交后,remainPoints 内包含除四川省外的所有点,将其作为 filterPointsByRegion 方法的 points 属性进行求交相比于将全国数据作为 points 可有效提高运行效率,这种高效性在求交次数越多的情况下表现的会更突出; 代码实现: var remainRegionESichuan:Array = new Array(); GeoUtil.filterPointsByRegion(sichuanRegion,contryPoints,null,remainRegionESichuan);//获取四川省内的所有点。 contryPoints = remainRegionESichuan; GeoUtil.filterPointsByRegion(jilinRegion,contryPoints,null,remainRegionESichuan);//获取吉林省内的所有点。此步执行完成后 remainRegionESichuan 仅包含四川省和吉林省以外的点。 |
Array — 与多边形相交的点对象集合,该集合等于或属于 points 参数。 |
lonLatToMercator | () | 方法 |
public static function lonLatToMercator(x:Number, y:Number):Point2D
将经纬度坐标转换为墨卡托投影坐标。
参数
x:Number — 经度。 |
|
y:Number — 纬度。 |
Point2D — |
mercatorToLonLat | () | 方法 |
public static function mercatorToLonLat(x:Number, y:Number):Point2D
将墨卡托投影坐标转换为经纬度坐标。
参数
x:Number — X向坐标。 |
|
y:Number — Y向坐标。 |
Point2D — |
regionIntersection | () | 方法 |
public static function regionIntersection(region1:GeoRegion, region2:GeoRegion):Boolean
参数
region1:GeoRegion |
|
region2:GeoRegion |
Boolean |