com.supermap.web.utils
public class GeoUtil
继承 GeoUtil Inheritance Object

该类实现与 Geometry 对象相关的功能,如:判断点是否在多边形内、获取与多边形相交的点等。



公共方法
  方法 定义方
   
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
   
regionIntersection(region1:GeoRegion, region2:GeoRegion):Boolean
[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