[LBS学习笔记4]地理特征POI、AOI、路径轨迹

简介: 今天继续LBS地理信息的学习,目标是写到10篇博客的时候,做出一个地图工具页面用,包含地图空间索引Geohash、S2、H3的可视化展示。

1 简述

今天继续LBS地理信息的学习,目标是写到10篇博客的时候,做出一个地图工具页面用,包含地图空间索引Geohash、S2、H3的可视化展示。

地理特征分为点(POI)、线(路径)、面(AOI),我们用高德地图导航时,其实就用到了这3个特征,简单说一下

  • 首先搜索目的地:三里屯,会搜到一个面数据,就是整个三里屯的边界范围,即AOI
  • 然后选取起点、终点,选取时下拉列表会显示多个地点,即POI
  • 最后按交通方式生成导航路径,即路径轨迹

2 POI

POI是Point of interest的缩写,中文翻译为兴趣点,是点数据。地图上任意一个位置都可以表示兴趣点,由经纬度和其他特征数据组成。

如上面说的三里屯,可以看作一个POI

POI在地图领域应用也挺多的,如:周边搜索,实时位置获取等

3 AOI

AOI是Area of Interest的简称,可以叫兴趣面,是面数据。AOI是POI更高一级的抽象,由多边形围栏边界和特征数据组成。

如高德地图搜索某个地点得到的面数据,就是一个AOI

4 路径

路径是GIS里面最复杂的特征了,是线数据。高德地图上两个位置之间的导航线路就是路径了

5 开发常用

上面说了点、线、面的特征,为了更好地理解,下面通过一个小示例,可视化地去体验数据特征

准备工作:

接着就可以开始搞了

直接上前端代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
    <title>地图显示</title>
    <style>
        html,
        body,
        #container {
    
    
            width: 100%;
            height: 100%;
        }
    </style>
    <script src="https://webapi.amap.com/loader.js"></script>
</head>
<body>
<div id="container"></div>
</body>
<script src="https://webapi.amap.com/maps?v=2.0&key=【用自己的key】"></script>
<script>
    var map = new AMap.Map('container', {
    
    
        viewMode: '3D', // 默认使用 2D 模式,如果希望使用带有俯仰角的 3D 模式,请设置 viewMode: '3D',
        zoom: 11, //初始化地图层级
        center: [116.397428, 39.90923], //初始化地图中心点
    });

    //点标记
    var marker = new AMap.Marker({
    
    
        position:[116.39, 39.9]//位置
    })
    map.add(marker);//添加到地图

    //线标记
    var lineArr = [
        [116.368,39.91], [116.371,39.94], [116.38,39.95]
    ];
    var polyline = new AMap.Polyline({
    
    
        path: lineArr,          //设置线覆盖物路径
        strokeColor: "#b706e9", //线颜色
        strokeWeight: 5,        //线宽
        strokeStyle: "solid",   //线样式
    });
    map.add(polyline);

    //面标记
    // 多边形轮廓线的节点坐标数组
    var path = [
        new AMap.LngLat(116.368904,39.913),
        new AMap.LngLat(116.382122,39.807),
        new AMap.LngLat(116.387271,39.707),
        new AMap.LngLat(116.398258,39.913)
    ];
    var polygon = new AMap.Polygon({
    
    
        path: path,
        fillColor: '#f3e780', // 多边形填充颜色
        borderWeight: 2, // 线条宽度,默认为 1
        strokeColor: 'red', // 线条颜色
    });
    map.add(polygon);
</script>
</body>
</html>

看一下点线面的效果图

5.png

相关文章
|
Web App开发 存储 关系型数据库
|
消息中间件 存储 Kafka
实时计算 Flink版产品使用问题之通过flink同步kafka数据进到doris,decimal数值类型的在kafka是正常显示数值,但是同步到doris表之后数据就变成了整数,该如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
API PHP 开发者
周边地点搜索免费API接口详解
周边地点搜索API由接口盒子提供,支持基于经纬度搜索周边POI信息,涵盖公交站、酒店、餐厅等。具备多类型筛选、自定义半径(最大10公里)、分页查询等功能,返回数据包含地址、距离、坐标及公交线路详情,适用于各类位置服务应用。
550 1
|
6月前
|
人工智能 安全 算法
【云故事探索】NO.18:易点天下:以全栈AI营销能力引领全球增长新周期,阿里云“全球一张网”筑牢中国企业出海底座
位于西安的易点天下,以算法与数据驱动,助力中国品牌出海。自2011年成立以来,业务覆盖全球220+国家,通过AIGC、Agentic AI等技术,携手阿里云构建智能营销全链路,推动跨境电商、新能源等领域全球化布局,成为中国企业走向世界的重要推手。
|
存储 缓存 Linux
【实战指南】嵌入式RPC框架设计实践:六大核心类构建高效RPC框架
在先前的文章基础上,本文讨论如何通过分层封装提升一个针对嵌入式Linux的RPC框架的易用性。设计包括自动服务注册、高性能通信、泛型序列化和简洁API。框架分为6个关键类:BindingHub、SharedRingBuffer、Parcel、Binder、IBinder和BindInterface。BindingHub负责服务注册,SharedRingBuffer实现高效数据传输,Parcel处理序列化,而Binder和IBinder分别用于服务端和客户端交互。BindInterface提供简单的初始化接口,简化应用集成。测试案例展示了客户端和服务端的交互,验证了RPC功能的有效性。
906 94
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 编译器后端优化
AI编译器采用多层架构,首先通过前端优化将不同框架的模型转化为统一的Graph IR并进行计算图级别的优化,如图算融合、内存优化等。接着,通过后端优化,将优化后的计算图转换为TensorIR,针对单个算子进行具体实现优化,包括循环优化、算子融合等,以适应不同的硬件架构,最终生成高效执行的机器代码。后端优化是提升算子性能的关键步骤,涉及复杂的优化策略和技术。
845 3
|
存储 安全 Linux
Golang的GMP调度模型与源码解析
【11月更文挑战第11天】GMP 调度模型是 Go 语言运行时系统的核心部分,用于高效管理和调度大量协程(goroutine)。它通过少量的操作系统线程(M)和逻辑处理器(P)来调度大量的轻量级协程(G),从而实现高性能的并发处理。GMP 模型通过本地队列和全局队列来减少锁竞争,提高调度效率。在 Go 源码中,`runtime.h` 文件定义了关键数据结构,`schedule()` 和 `findrunnable()` 函数实现了核心调度逻辑。通过深入研究 GMP 模型,可以更好地理解 Go 语言的并发机制。
869 1
|
运维 Linux 网络安全
跨平台SSH文件传输:Linux与Windows环境下的实践指南
本文介绍了在Linux和Windows之间使用SCP、SecureCRT及PuTTY工具集进行文件传输的方法。在Linux中,利用SCP命令进行文件下载、上传及目录传输。在Windows环境下,PSFTP和PSCP提供类似功能,而SecureCRT作为SSH客户端,支持设置上传下载目录并进行文件传输。掌握这些工具的使用可提升跨平台运维效率。