GEE----Geometry相关函数介绍(一)

1、创建点

1.1point()创建单点

var point =ee.Geometry.Point(-101.8775,35.2463)
Map.addLayer(point)
Map.centerObject(point)

 1.2 MultiPoint()创建多点

var point =ee.Geometry.MultiPoint([[-101.8775,35.2463],
                                  [-101.7621,35.2007],
                                  [-101.7604,35.2386]])
Map.addLayer(point)

2  LineString()/MultiLineString()创建单线或者多线段

//创建单线
/*var line =ee.Geometry.LineString([[-101.8775,35.2463],
                                  [-101.7621,35.2007]])*/
//创建多线
var multiline=ee.Geometry.MultiLineString([[-101.8775,35.2463],
                                           [-101.7621,35.2007],
                                           [-101.8761,35.2036],
                                            [-101.76044,35.2386]])
Map.addLayer(multiline)

注:创建闭合线时最后一个点为起始点坐标,且使用的时LinearRing()

3 创建多边形

3.1 Polygon()创建单个多边形


var multiline=ee.Geometry.Polygon([[[-102.00057948108831,35.11716328220111],
                                  [-101.65451014515081,35.11716328220111],
                                  [-101.65451014515081,35.268670400291384],
                                  [-102.00057948108831,35.268670400291384],
                                  [-102.00057948108831,35.11716328220111]]])
Map.addLayer(multiline)

3.2MultiPolygon()创建多个多边形

var Forbidden_City = ee.Geometry.MultiPolygon(
        [[[[116.39393637477303, 39.921260179361866],
           [116.39350722133065, 39.91882457850439],
           [116.39676878749276, 39.918791664386056],
           [116.39711211024667, 39.920963962263336]]],
         [[[116.39887163936044, 39.91810046424626],
           [116.39595339595223, 39.91698136351405],
           [116.40080282985116, 39.91652055201477]]]]);

Map.centerObject(Forbidden_City)
print(Forbidden_City)
Map.addLayer(Forbidden_City)

3.3rectangle()创建长方形

var rectangle=ee.Geometry.Rectangle(-102.00057948108831,35.11716328220111,
                                 -101.65451014515081,35.268670400291384)//输入四边形的对角线
Map.addLayer(rectangle)

4、transform()投影变换

var rectangle=ee.Geometry.Rectangle(-102.00057948108831,35.11716328220111,
                                 -101.65451014515081,35.268670400291384)
var tran_rectangle=rectangle.transform('EPSG:4326',ee.ErrorMargin(100))//将rectangle转换为WGS84

Map.addLayer(tran_rectangle,{color:'000000'})

Map.addLayer(rectangle,{color:'FF0000'})

transform(proj,maxerror):

        proj为其中要变换的投影,其中投影必须是EPSG格式的编号详情可以见网址

        EPSG.io: Coordinate Systems Worldwide

        maxerror为可以容忍的最大投影误差为多少。

5、centroid()计算几何体的形心/质心

var rectangle=ee.Geometry.Rectangle(-102.00057948108831,35.11716328220111,
                                 -101.65451014515081,35.268670400291384)
var centroid_rectangle=rectangle.centroid()

Map.addLayer(rectangle,{color:'FF0000'})
Map.addLayer(centroid_rectangle,{color:'000000'})

6、simplify()简化图形

var simple_pol1=pol_1.simplify(1000)//接受的最大误差值


Map.addLayer(simple_pol1,{color:'000000'})

 7、bounds()/convexHull()得出集合体的外接矩阵或者凸包

var bound_pol1=pol_1.bounds()
var convexHull=pol_1.convexHull()
Map.addLayer(bound_pol1,{color:'000000'})//黑色显示
Map.addLayer(convexHull,{color:"FF0000"})//凸包红色显示

        点的凸包就是点本身,共线点的凸包是直线,其他一切的凸包都是多边形。

 8、buffer()返回给定距离的缓冲区

var pol_1_buffer=pol_1.buffer(1000)
Map.addLayer(pol_1_buffer,{color:"FF0000"})

猜你喜欢

转载自blog.csdn.net/weixin_51775350/article/details/128007261