geemap学习笔记 03 geemap maker_cluster使用篇

文章目录

  • 前言
  • 一、MakerCluster是什么?
  • 二、geemap中maker_cluster的使用
    • 1. 导入包,加载地图底图
    • 2. 读入样本点和矢量范围信息
    • 3. geemap中maker_cluster展示
  • 总结


前言

本文主要介绍一下在geemap中maker_cluster的使用~


一、MakerCluster是什么?

首先,先介绍一下什么是marker
点标记 Marker:在地图上指定的⼀个坐标上打上⼀个Marker(如显⽰⼀个⽔滴图形,或者⾃定义的其他任何图形式),⼀个地图上可以
定义很多个Markers。
优点:可清晰的知道每个点的位置,数据和点之间可以联动展示;
缺点:在地图缩放时,如果⼏个点的位置接近,则会导致点标记Marker重叠,目视较难识别重叠了⼏个坐标点,或者分别是哪⼏个点,给地图信息展示带来困难。
基于此,MakerCluster应运而生:
点聚合MarkerCluste:在地图缩小到⼀定⽐例时,预定距离内的点会⾃动合并成⼀个点显示【上图中有3数字的点就是⼀个聚合点,说明有3个坐标合并的,并通过地图提供的⽅法可以获取到这个3个坐标的清单】。点聚合本质上是若⼲个点的集合,可以随时往其中增、减点。
优点:在地图上可以清楚的展示哪些是独立点,哪些是聚合点,聚合了多少点,可视化效果更强,通俗易懂;
缺点:无法针对其中特定某个点进行编辑和处理。

二、geemap中maker_cluster的使用

1. 导入包,加载地图底图

① 导入用到的包,并加载地图地图,代码如下(示例):

# class6 maker_cluster 案例展示 
import geemap
import json
import os
import requests
from geemap import geojson_to_ee, ee_to_geojson
from ipyleaflet import GeoJSON, Marker, MarkerCluster
Map = geemap.Map()
Map

geemap学习笔记 03 geemap maker_cluster使用篇_第1张图片

2. 读入样本点和矢量范围信息

① 读入json中已经编译好的样本点和矢量范围信息,详细代码如下:

file_path = os.path.abspath('../us-cities.json')
#可以读取本地的json数据,如若本地没有,导入github中的数据“https://github.com/giswqs/geemap/raw/master/examples/data/us-cities.json”
if not os.path.exists(file_path):
    url = 'https://github.com/giswqs/geemap/raw/master/examples/data/us-cities.json' 
    # points样本点和矢量范围信息
    r = requests.get(url)
    with open(file_path, mode = 'w') as f:
        f.write(r.content.decode("utf-8"))

with open(file_path) as f:
    json_data = json.load(f)

该处导入GitHub中的URL 数据,为已经编辑好的样本点和矢量范围信息,如下图所示:
geemap学习笔记 03 geemap maker_cluster使用篇_第2张图片

3. geemap中maker_cluster展示

① 在地图中利用maker_cluster工具展示研究区的聚合点,详细代码如下图所示:

maker_cluster = MarkerCluster(
    markers=[
        Marker(location=feature['geometry']['coordinates'][::-1])
        for feature in json_data['features']
    ],
    name='Markers',
)
Map.add_layer(maker_cluster)  
 #展示聚合点(maker_cluster)标记,统计在一定范围内,点的总数,聚合为一个表示数量的标记

geemap学习笔记 03 geemap maker_cluster使用篇_第3张图片
统计在不同地图缩放尺度下,各研究区矢量范围内标记点的数量。
② 进一步展示聚合点对应的所有的标记点位置,代码如下。

ee_fc = geojson_to_ee(json_data)
Map.addLayer(ee_fc, {}, "US Cities EE") #展示所有点的位置

geemap学习笔记 03 geemap maker_cluster使用篇_第4张图片


总结

以上就是今天要讲的内容,本文仅仅简单介绍了在geemap中maker_cluster的使用~,后续会继续更新使用geemap的具体实例。
geemap学习笔记 03 geemap maker_cluster使用篇_第5张图片

你可能感兴趣的:(geemap,python,python,开发语言)