这节介绍下FeatureCollection相关操作。以行政区域矢量数据为例,介绍如何导入行政区域矢量数据并进行相关操作~
FeatureCollection数据
首先导入行政矢量数据,在GEE中是FeatureCollection类型,大家可以自己在网上找到相关资源下载后自己upload到GEE平台上。这里提供麻辣GIS的下载链接 。
为了进一步展示效果,导入了夜光遥感数据进行后续处理。
1 | var viirsnight = ee.ImageCollection("NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG"), |
这是upload后属性界面:
有乱码貌似是因为中文问题,暂没有处理。
1 | print(province,'Province') |
在javascript平台print出来,可以看到共34个省级行政区:
筛选
接着举几个筛选的例子。先上代码
1 | // filterMetadata()通过属性筛选 |
简而言之,可以通过属性、空间位置等信息进行筛选,然后也可以批量筛选。
print结果如下:
要素信息
当我们输错信息筛选时,比如将’Xinjiang’输成’XinJiang’,这时候不会报错,但是我们输出的结果就是0element,即没有任何元素通过筛选。
那么进行属性筛选时如何找到我们目标区域对应的属性呢,这个时候就需要掌握要素信息相关的函数了。
先放一大串代码:
1 | //要素信息提取(复制) |
我们提取出ID和NAME属性后,可以进行去除等操作。输出结果如下:
ID:
NAME(依然乱码中):
由于该数据ID没有重复数据,即没省拼音一致,故结果没变:
既然我们能提取出属性信息,那就方便我们进一步搞事情:)
我们可以根据筛选到的元素进行合并生成新矢量区域,或者改属性内容也是so easy~如下,将西藏和新疆两个矢量数据合并并属性定义为西部:
1 | //空间信息合并(合并后会丢失原有属性信息) |
结果对比,可以看到合并后仍然有个两个矢量元素而且属性信息丢失了,自己再赋予就好了:
继续放代码:
1 | //对属性表进行排序 |
btw.后续就不放太多结果图了,节省篇幅
其他类型
也可以将提取到的元素进行类型转换,比如提取geometry信息进行其他操作,转换成栅格数据等:
1 | // 获得所有feature的Geometry信息 |
当然还有toList用于属性数据提取等操作,有机会会继续更新。
夜光遥感数据提取
提取出每个行政区矢量数据最直接的用法就是进行卫星影像的裁剪了,这里用夜光遥感数据为例,裁剪新疆区域影像:
1 | // test 夜光 |
完整代码
最后附上整个完整代码以及可视化:
1 | var viirsnight = ee.ImageCollection("NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG"), |