天地图路径规划功能实现

news2024/12/26 13:20:37

目录

  • 1、天地图路径规划
  • 2、路径规划
  • 3、参数说明
  • 4、Demo

1、天地图路径规划

天地图Web服务API为用户提供HTTP/HTTPS接口,即开发者可以通过这些接口使用各类型的地理信息数据服务,可以基于此开发跨平台的地理信息应用。

Web服务API对所有用户开放。使用本组服务之前,需要申请key。

Web服务API主要包括:

  1. 地名搜索
  2. 公交规划
  3. 地理编码查询
  4. 逆地理编码查询
  5. 行政区划
  6. 静态地图

2、路径规划

天地图的路径规划分为公交规划驾车规划
公交规划是根据输入起点和终点查询公交地铁规划线路;驾车规划是根据输入起点、终点和途经点规划查询驾车路线。

3、参数说明

请求地址:
http://api.tianditu.gov.cn/transit?type=busline&postStr={“startposition”:“116.427562,39.939677”,“endposition”:“116.349329,39.939132”,“linetype”:“1”}&tk=您的密钥

请求参数:

参数说明类型
startPosition出发点坐标 “经度,纬度”String
endPosition终点坐标 “经度,纬度”String
lineType获取线路规划类型(按位判断规划类型,以支持同时获取多种规划结果)第0位为1,较快捷;第1位为1,少换乘;第2位为1,少步行;第3位为1,不坐地铁。String

返参说明:

参数value说明value类型值域备注
resultCode返回数据状态Int0-6
hasSubway所有返回线路中,是否有包含地铁的线路Json数组0,1
results返回的整体结果String请求几种结果,返回几种结果,此数组中每个对象为一个请求类型的返回结果Json对象
{
  "hasSubway": false,
  "results": [
    {
      "lineType": 1,
      "lines": [
        {
          "segments": [
            {
              "segmentLine": [
                {
                  "segmentStationCount": 5,
                  "segmentTime": 12,
                  "segmentTransferTime": 0,
                  "segmentDistance": 7918.4817954727,
                  "direction": "地铁2号线",
                  "SEndTime": "05:09-05:09",
                  "linePoint": "116.427562,39.939677;116.427547,39.940035;116.427536,39.940306;116.427508,39.940957;116.427486,39.942151;116.427481,39.942689;116.427527,39.944165;
                  116.427553,39.945593;116.427485,39.946255;116.427314,39.946746;116.427057,39.947109;116.426736,39.947445;116.426528,39.947664;
                  116.426385,39.947746;116.426357,39.947759;116.426281,39.947804;116.426212,39.947841;116.426084,39.947906;116.425675,39.948091;
                  116.425111,39.948252;116.424669,39.948321;116.42386,39.948351;116.423438,39.948336;116.421594,39.948275;116.420773,39.948253;
                  116.420388,39.94824;116.419674,39.948215;
                  116.419567,39.948213;116.419234,39.948206;116.419098,39.9482;116.418705,39.948188;116.418298,39.948177;116.414176,39.94803;
                  116.412771,39.947979;116.411824,39.947944;116.411533,39.947934;116.411377,39.947928;116.410184,39.947893;116.409805,39.94788;
                  116.408928,39.947849;116.408676,39.947843;
                  116.408099,39.947823;116.406412,39.947757;116.405055,39.947721;116.403359,39.947682;116.402437,39.947679;116.402017,39.947679;
                  116.401864,39.947679;116.401573,39.947673;116.400766,39.947664;116.397375,39.94764;116.396188,39.947627;
                  116.395136,39.947622;116.39367,39.947611;116.392413,39.947595;
                  116.391331,39.947584;116.39111,39.947584;116.390344,39.947583;116.389325,39.947585;
                  116.389238,39.947585;116.388289,39.947578;116.38772,39.947574;116.387518,39.947572;116.387297,39.947569;116.385611,39.947549;116.382967,39.947551;
                  116.379847,39.947517;116.377827,39.947498;116.374749,39.947482;
                  116.37377,39.947479;116.373714,39.947479;116.373647,39.947479;116.372799,39.947467;116.372688,39.947467;116.371245,39.947454;116.371045,39.947452;
                  116.369336,39.947445;116.366827,39.94732;116.365823,39.947255;116.364864,39.947117;116.364357,39.947005;116.363154,39.94666;116.359446,39.945161;
                  116.357039,39.94441;116.351092,39.942766;116.350575,39.942531;116.350176,39.942249;116.349555,39.941349;116.349349,39.940875;116.349282,39.940389;116.349329,39.939132;",
                  "lineName": "地铁2号线",
                  "byuuid": "23213"
                }
              ],
              "stationEnd": {
                "lonlat": "116.349329,39.939132",
                "name": "西直门站",
                "uuid": "133057"
              },
              "segmentType": 3,
              "stationStart": {
                "lonlat": "116.427562,39.939677",
                "name": "东直门站",
                "uuid": "133017"
              }
            }
          ],
          "lineName": "地铁2号线 |"
        }
      ]
    }
  ],
  "resultCode": 0
}

4、Demo

以Android端为例,利用天地图Web服务实现路径规划。
起点:116.4341,39.9337
终点:116.4778,39.9226
执行代码,在地图上加载的结果如下:返回了4条线路分别为:
线路1:
线路2:
线路3:
线路4:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1638684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tensorflow2.0笔记 - ResNet实践

本笔记记录使用ResNet18网络结构,进行CIFAR100数据集的训练和验证。由于参数较多,训练时间会比较长,因此只跑了10个epoch,准确率还没有提升上去。 import os import time import tensorflow as tf from tensorflow import keras …

自动安装环境shell脚本使用和运维基础使用讲解

title: 自动安装环境shell脚本使用和运维基础使用讲解 tags: [shell,linux,运维] categories: [开发记录,系统运维] date: 2024-3-27 14:10:15 description: 准备和说明 确认有网。 依赖程序集,官网只提供32位压缩包,手动编译安装后,在64位机…

动态数据结构中的表扩张性:摊还分析、伪代码与C语言实现

动态数据结构中的表扩张性:摊还分析、伪代码与C语言实现 引言表扩张性的概念摊还分析在表扩张性中的应用伪代码示例:TABLE-INSERT操作C语言实现结论 引言 在处理数据结构时,尤其是表(或数组),我们经常面临…

STM32标准库编译前置条件配置

本文基于stm32f104系列芯片,记录编程代码前需要的操作: 添加库文件 在ST官网下载标准库STM32F10x_StdPeriph_Lib_V3.5.0,解压后,得到以下界面 启动文件 进入Libraries,然后进入CMSIS,再进入CM3&#xff…

CUDA内存模型

核函数性能并不只与线程束的执行有关。 CUDA内存模型概述 GPU和CPU内存模型的主要区别是,CUDA编程模型能将内存层次结构更好地呈现给用户,能让我们显示的控制它的行为。 对程序员来说,一般有两种类型的存储器: 可编程的&#x…

【Qt QML】用CMake管理Qt工程

CMake是一个开源、跨平台的工具系列,用于构建、测试和打包软件。CMake使用简单的独立配置文件来控制软件编译过程。与许多跨平台系统不同,CMake被设计为与本地构建环境结合使用。 下面我们在CMake项目中使用Qt的最基本方法。首先,创建一个基本…

向量体系结构:向量执行时间

看《计算机体系结构 量化研究方法》做的笔记,接着上一篇写 计算机体系结构:向量体系结构介绍-CSDN博客 向量处理器工作的示例 SAXPY或DAXPY循环。 aXY SAXPY代表“单精度aX加Y”,进行单精度浮点数的运算,其中a是一个标量&#x…

测试开发工具开发 -JMeter 函数二次开发

在JMeter中开发自定义函数是一个常见的需求,允许我们扩展JMeter的功能以适应特定的测试需求。自定义函数可以用来处理数据,生成输出,或者执行特定的运算。通过JMeter函数二次开发可以帮我们解决实际测试过程中造数难的问题 用过JMeter的同学…

搭建vue3组件库(三): CSS架构之BEM

文章目录 1. 通过 JS 生成 BEM 规范名称1.1 初始化 hooks 目录1.2 创建 BEM 命名空间函数1.3 通过 SCSS 生成 BEM 规范样式 2. 测试 BEM 规范 BEM 是由 Yandex 团队提出的一种 CSS 命名方法论,即 Block(块)、Element(元素&#xf…

WORD排版常见问题与解决方案

前言 近期使用word软件进行论文排版工作,遇到了一些常见的问题,记录一下,避免遗忘。 基本配置 系统环境:win10/win11 word版本:Microsoft Office LTSC 专业增强版 2021 问题与解决方案 问题1:页眉显示内…

C——双向链表

一.链表的概念及结构 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。什么意思呢?意思就是链表在物理结构上不一定是连续的,但在逻辑结构上一定是连续的。链表是由一个一个的节点连…

使用递归函数,将一串数字每位数相加求和

代码结果&#xff1a; #include<stdio.h> int DigitSum(unsigned int n) {if (n > 9)return DigitSum(n / 10) (n % 10);elsereturn n; } int main() {unsigned int n;scanf("%u", &n);int sum DigitSum(n);printf("%d\n", sum);return 0; …

持续更新|UNIAPP适配APP遇到的问题以及解决方案

在使用UNIAPP开发APP的时候遇到的一些奇奇怪怪问题记录 组件样式丢失 问题&#xff1a;组件引入界面中&#xff0c;在小程序和H5环境下样式正常&#xff0c;而在APP中却出现高度异常问题 解决&#xff1a;增加view标签将组件包裹起来即可正常显示 解决前&#xff1a; 解决后…

SCI一区 | MFO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测(Matlab)

SCI一区 | MFO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测&#xff08;Matlab&#xff09; 目录 SCI一区 | MFO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测&#xff08;Matlab&#xff09;预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现MFO-CNN…

JAVA第二周学习笔记

文章目录 JAVA第二周学习笔记IDEA方法格式带参数及返回值的方法方法的重载方法的内存 二维数组静态初始化动态初始化 面向对象类和对象如何定义类如何得到对象注意 封装封装的优点private关键字成员变量和局部变量 this关键字构造方法作用类型特点执行时机定义重载 标准javabea…

Linux进程——进程的创建(fork的原理)

前言&#xff1a;在上一篇文章中&#xff0c;我们已经会使用getpid/getppid函数来查看pid和ppid,本篇文章会介绍第二种查看进程的方法&#xff0c;以及如何创建子进程&#xff01; 本篇主要内容&#xff1a; 查看进程的第二种方法创建子进程系统调用函数fork 在开始前&#xff…

什么是哈希表(HashTable)?

目录 一、概念 二、哈希冲突 减少哈希冲突的办法&#xff1a; 1、设计合理的哈希函数 哈希函数设计原则&#xff1a; 常用的哈希函数&#xff1a; 2、降低负载因子&#xff08;必须重点掌握&#xff09; 哈希冲突的解决 第一类&#xff1a;闭散列 第二类&…

实时监控RTSP视频流并通过YOLOv5-seg进行智能分析处理

在完成RTSP推流之后&#xff0c;尝试通过开发板接收的视频流数据进行目标检测&#xff0c;编写了一个shell脚本实现该功能&#xff0c;关于视频推流和rknn模型的部署请看之前的内容或者参考官方的文档。 #!/bin/bash # 设置脚本使用的shell解释器为bashSEGMENT_DIR"./seg…

【模板】前缀和

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 前缀和模板题。 前缀和中数组下标为1~n。 前缀和&#xff1a;pre[i]pre[i-1]a[i]; 某段区间 [l,r]的和&#xff1a;pre[r]-pre[l-1] 3.…

【数学建模】2024五一数学建模C题完整论文代码更新

最新更新&#xff1a;2024五一数学建模C题 煤矿深部开采冲击地压危险预测&#xff1a;建立基于多域特征融合与时间序列分解的信号检测与区间识别模型完整论文已更新 2024五一数学建模题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/gyoz9ou5upv…