介绍7款免费的最佳地图/导航/定位/GIS开源项目

文章目录

    • 1、xdh-map新德汇地图应用类库
      • 1.1、独立引用
      • 1.2、与MyUI结合使用
      • 1.3、快速上手
        • 1.3.1、采用项目工程模板创建项目【推荐】
        • 1.3.2、 调用组件库功能
    • 2、蚂蚁金服AntV-L7地理空间数据可视分析引擎
      • 2.1、AntV-L7简介
      • 2.2、核心特性
      • 2.3、支持丰富的图表类型
      • 2.4、如何使用
        • 2.4.1、安装
        • 2.4.2、引入对象
        • 2.4.3、地图组件使用
      • 2.5、效果游览
    • 3、pygeo-tutorial - 用python分析时空数据的教程
      • 3.1、介绍
      • 3.2、教程目录
      • 3.3、效果游览
    • 4、vue3-ts-cesium-map-show
      • 4.1、介绍
      • 4.2、效果展示
    • 5、java_map_download
      • 5.1、介绍
      • 5.2、功能效果![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9c63a3e274df4c1c989b0a5cba4d1749.png)
    • 6、mars3d 三维地球
      • 6.1、平台介绍
      • 6.2、功能
        • 6.2.1、 三维场景可视化
        • 6.2.2、 数据标绘与管理
        • 6.2.3、 场景与数据特效
        • 6.2.4、场景工具
        • 6.2.5、空间分析能力
        • 6.2.6、高度兼容第三方
      • 6.3、效果展示
    • 7、open-geo-modeller - 地球流体力学模拟系统
      • 7.1、介绍
      • 7.2、使用
        • 7.2.1、环境准备
        • 7.2.2、发布地图

1、xdh-map新德汇地图应用类库

Gitee地址:https://gitee.com/newgateway/xdh-map

xdh-map - 基于Openlayers的地图应用Vue组件,内置了百度、高德、天地图瓦片,并支持与方正、超图、山海经纬、航天精一等PGIS厂商对接。
包含文本、图形、html、热力图、轨迹回放等20个组件,支持与ECharts结合实现散点、飞行迁徙等基于地理位置的图表,满足项目常见需求。
使用者不需要有地图相关专业知识,甚至不需要写任何JS代码就能实现通用功能。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.1、独立引用

安装

npm i xdh-map --save

全局引用

import Vue from 'vue'
import 'xdh-map/lib/xdhmap.css'
import * as XdhMap from 'xdh-map'
Vue.use(XdhMap)

局部引用注册

import 'xdh-map/lib/xdhmap.css'
import {XdhMap} from 'xdh-map'
export default {components: {XdhMap}
}

1.2、与MyUI结合使用

安装
推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。

npm i @xdh/my --save

1.3、快速上手

1.3.1、采用项目工程模板创建项目【推荐】

官网提供的基于Vue项目的一站式解决方案。

git clone https://gitee.com/newgateway/my-web.git

只需把工程模板项目获取下来就可以使用,包括全部功能,开箱即用。

1.3.2、 调用组件库功能

如只需用到 My 其中的某些组件,可以在已有的项目工程中安装,并完成配置。步骤:

  1. 安装组件库和相关插件
    安装组件
npm i element-ui @xdh/my --save

安装项目依赖插件

npm i babel-plugin-component node-sass sass-loader --save-dev
  1. 配置 babel.config.js
    组件采用了按需加载,需要 在babel.config.js 加上插件,如:
module.exports = {presets: ['@vue/cli-plugin-babel/preset'],plugins: [...require('@xdh/my/core/babel.plugins')]
}
  1. 配置 vue.config.js
    需要在vue.config.js加上别名,如:
module.exports = {transpileDependencies: ['@xdh/my'],chainWebpack(chain) {chain.resolve.alias.set('$ui', '@xdh/my/ui/lib')}
}
  1. 引用组件
    到此,你可以开始引入组件开始编码了,如:
<template><my-map></my-map>
</template><script>import {MyMap} from '$ui/map'export default {components: {MyMap}}
</script>

2、蚂蚁金服AntV-L7地理空间数据可视分析引擎

2.1、AntV-L7简介

L7 是由蚂蚁金服 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析开发框架。L7 中的 L 代表
Location,7 代表世界七大洲,寓意能为全球位置数据提供可视分析的能力。L7 以图形符号学为理论基础,将抽象复杂的空间数据转化成
2D、3D 符号,通过颜色、大小、体积、纹理等视觉变量实现丰富的可视化表达。

官网:https://l7.antv.antgroup.com/
Github:https://github.com/antvis/L7/stargazers/

在这里插入图片描述

2.2、核心特性

🌏 数据驱动可视化展示

数据驱动,从数到形,支持丰富的地图可视化类型,更好洞察数据。

🌏 2D,3D 一体化的海量数据高性能渲染

百万级空间数据实时,动态渲染。

🌏 简单灵活的数据接入

支持 CSV,JSON,geojson 等数据格式接入,可以根据需求自定义数据格式,无需复杂的空间数据转换。

🌏 多地图底图支持,支持离线内网部署

高德地图国内合法合规的地理底图,Mapbox 满足国际化业务需求。

2.3、支持丰富的图表类型

点图层
- 气泡图
- 散点图
- 符号地图
- 3D 柱状地图
- 聚合地图
- 复合图表地图
- 自定义 Marker
线图层
- 路径地图
- 弧线,支持 2D 弧线、3D 弧线以及大圆航线
- 等值线
面图层
- 填充图
- 3D 填充图
热力图层
- 经典热力图
- 蜂窝热力图
- 网格热力图
栅格图层
- 图片
- Raster
瓦片地图
- 栅格瓦片
- 矢量瓦片

2.4、如何使用

2.4.1、安装

通过 npm 引入

// 安装L7 依赖
npm install --save @antv/l7
// 安装第三方底图依赖
npm install --save @antv/l7-maps
2.4.2、引入对象

在使用时通过 L7 命名空间获取所有对象并初始化,如 L7.scene、L7.GaodeMap

import { Scene } from '@antv/l7';
import { GaodeMap } from '@antv/l7-maps';const scene = new L7.Scene({id: 'map',map: new L7.GaodeMap({style: 'dark',center: [110.770672, 34.159869],pitch: 45,}),
});
2.4.3、地图组件使用
  1. 初始化地图首先需要在页面中新增一个Dom 用于地图初始化。
<div style="min-height: 500px; justify-content: center;position: relative" id="map"/>
  1. 初始化高德地图
import { GaodeMap } from '@antv/l7-maps';
// 同样你也可以初始化一个 Mapbox 地图
const scene = new Scene({id: 'map',map: new GaodeMap({pitch: 35.210526315789465,style: 'dark',center: [ 104.288144, 31.239692 ],zoom: 4.4})
})
  1. 添加图层
import { PointLayer } from '@antv/l7';const pointLayer = new PointLayer().source(data).shape('circle').size('mag', [1, 25]).color('mag', ['#5B8FF9', '#5CCEA1']).style({opacity: 0.3,strokeWidth: 1,});scene.addLayer(pointLayer);

🌟 此时在页面上就会出现可交互的地图内容。

2.5、效果游览

在这里插入图片描述

在这里插入图片描述

3、pygeo-tutorial - 用python分析时空数据的教程

在这里插入图片描述

3.1、介绍

大数据时代到来,随着数据的逐步开放,数据工作者们或多或少都要接触到时空数据。

数据处理是一门艺术!在处理时空数据的时候,你不仅要数据处理,还需要会GIS,最重要的它是一门艺术,要用你的审美,要出很好看的可视化图!

以前,我要用sql数据库处理数据,导出到excel画图表,再导出到arcgis出图,一套流程下来得开好几个软件,工作效率极低。

现在,python出现了,有了python里面的pandas,geopandas,matplotlib包,只需要用python就能实现数据的批量计算,批量出gis图等等。

哇!太棒了!简直是读研、读博、设计院画图、数据分析、闲着没事、居家旅行时候都必须会的技能,别说800张图了,电脑空间有多少我就能生成多少图,包您满意

通过本教程,你将从头开始,会学到一些时空数据的处理技巧,用python进行数据清洗,数据集计,数据整合,可视化!教程的后半段介绍了几个常用的python可视化包,最后是实战项目

3.2、教程目录

在这里插入图片描述

3.3、效果游览

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4、vue3-ts-cesium-map-show

前端 vue3.0 + typescript 三维可视化 数字城市 数字孪生 选用 cesium开源GIS库

Gitee:https://gitee.com/hawk86104/vue3-ts-cesium-map-show

4.1、介绍

前端 vue3.0 + typescript 三维可视化 数字城市 数字孪生 选用 cesium开源GIS库 加入 主流地图 WebGL效果 完全开源 配合后台 实现可视化编辑保存。

技术栈

vue3.0 CLI4.x脚手架搭建,使用typescript作为逻辑代码,UI界面为elementPlus
GIS地图部分,使用Cesium-1.82开源库,简单了修改了地图展示部分代码 加入了主流的一些WebGL动态效果类
配合后台【thinkphp + mysql】

4.2、效果展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5、java_map_download

gitee仓库地址:https://gitee.com/CrimsonHu/java_map_download

github:https://github.com/kurimuson/java_map_download

5.1、介绍

使用Java开发的地图瓦片图下载工具,支持以下XYZ瓦片图下载与合并。多线程瓦片图下载,最大限度地使用本机网络资源。

  • OpenStreetMap
  • 谷歌地图(需要代理)
  • 天地图(务必更换自己的key,并注意配额)
  • 高德地图
  • 腾讯地图
  • 必应地图

Build下载地址(已打包的可执行程序,解压即可运行)

重要提示:下载谷歌地图需正确使用代理,不能下载就是代理没设置好
若无法打开,请将文件夹改为英文,并注意文件夹所在详细路径是否为全英文
使用多网盘发布,防止链接失效(阿里云盘不允许分享压缩包,故不使用)
百度网盘:https://pan.baidu.com/s/1CA7sdH6zL4OjJxVydKwrWQ 密码:mdve

5.2、功能效果在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、mars3d 三维地球

6.1、平台介绍

Mars3D平台 是火星科技研发的一款基于 WebGL 技术实现的三维客户端开发平台,基于Cesium优化提升与B/S架构设计,支持多行业扩展的轻量级高效能GIS开发平台,能够免安装、无插件地在浏览器中高效运行,并可快速接入与使用多种GIS数据和三维模型,呈现三维空间的可视化,完成平台在不同行业的灵活应用。

Mars3D平台可用于构建无插件、跨操作系统、 跨浏览器的三维 GIS 应用程序。平台使用 WebGL> 来进行硬件加速图形化,跨平台、跨浏览器来实现真正的动态大数据三维可视化。通过> Mars3D产品可快速实现浏览器和移动端上美观、流畅的三维地图呈现与空间分析。

Github:https://github.com/marsgis/mars3d

国内Gitee:https://gitee.com/marsgis/mars3d

6.2、功能

Mars3D可以做什么?
通过Mars3D提供的Javascript API,可以实现以下功能:

6.2.1、 三维场景可视化

提供多种时空数据,包括影像、高程、矢量、实景、三维模型等各类数据的叠加融合、支持包括OGC、TMS、MapBox、3DTiles等标准服务与数据的接入加载。逼真地呈现三维地形、倾斜摄影、BIM、人工精模等多种类型的三维场景。
在这里插入图片描述

6.2.2、 数据标绘与管理

提供支持包括点、线、面、体、模型、军事标绘等多种矢量数据的标绘的使用与管理,提供多图层的标绘管理、提供矢量数据的统一风格的API调用和style样式设置,可导出导入标准GeoJSON格式数据。
在这里插入图片描述

6.2.3、 场景与数据特效

提供了多种环境特效,包括雨雪雾、光照、大气层、泛光、夜视等效果;也支持包括粒子、动态点、流动线、闪烁、扫描等多种特效,增强了应用场景的表达能力。提供了视频融合、水利水域、卫星仿真等多行业应用支持。

在这里插入图片描述

6.2.4、场景工具

提供了Popup鼠标单击弹窗、Tooltip鼠标移入弹窗、右键菜单的内置工具,可以方便的对地图、图层、数据进行绑定和交互。提供了状态栏、导航球、比例尺、分屏比对、卷帘比对等多种场景工具;提供空中、室内、行人步行、车辆贴地等多种飞行漫游路线功能;
在这里插入图片描述

6.2.5、空间分析能力

提供了包括距离、面积、高度、角度、剖面、体积等多种量算分析功能;提供通视、可视域、缓冲、日照、坡度坡向、淹没分析功能;提供了等高线、天际线、地表透明、地形开挖、模型剖切、模型裁剪、模型开挖等功能。
在这里插入图片描述

6.2.6、高度兼容第三方

提供对ArcGIS、OGC、SuperMap、各类在线地图、百度高德服务等各类第3方地图与服务的全面支持。提供对truf、heatmap、mapv、echarts等常用可视化库和开源库的功能接入集成,避免用户的重复学习和成本投入。提供对所有基于Cesium的第3方开发包和插件的接入支持,具备灵活的兼容性和功能解耦。
在这里插入图片描述

6.3、效果展示

在这里插入图片描述
在这里插入图片描述

7、open-geo-modeller - 地球流体力学模拟系统

Github:https://github.com/openmaptiles

7.1、介绍

OpenMapTiles是一个基于OpenStreetMap的可扩展的开放tile模式。这个项目是用来为在线缩放地图生成矢量贴图。

地球科学模拟有很多Awesome项目,本仓库建立地球科学模式的工作流,包含:区域性气象模式、地表水、地下水、地震波正演等数学模式,以及相应的前后处理程序。

选择HPC应用程序的思考维度包括:

  1. 前沿的数值算法;
  2. 并行模式和计算效率;
  3. 模型的工业级应用能力;
  4. 可迁移性(可应用于不同架构的处理器)。
    即:Performance-Productivity-Portability (3P原则)

7.2、使用

7.2.1、环境准备
  • 安装linux系统(openmaptiles开源库只能在linux系统上运行)
  • 安装docker
  • 安装Docker Compose
  • 安装git
7.2.2、发布地图

openmaptiles开源库

github地址:https://github.com/openmaptiles/openmaptiles
快速入门文档:https://github.com/openmaptiles/openmaptiles/blob/master/QUICKSTART.md

  1. 拉取代码
    拉取openmaptiles代码
git clone https://github.com/openmaptiles/openmaptiles.git
  1. 拉取完成后,进入目录
cd openmaptiles
  1. 执行make命令
make 
  1. 处理数据
    执行下面的快速启动命令,程序会自动进行OSM数据的下载、入库、分析、生成矢量瓦片的工作。默认是阿尔巴尼亚地区,生成瓦片的层级是0-7级。后面会讲如何设置地区和层级。这个命令执行时间会稍微有些长,需耐心等待。
./quickstart.sh 
  1. 发布矢量瓦片服务
    数据处理完成后,把生成的矢量瓦片发布成地图服务,步骤:

启动服务

make start-tileserver

在自己电脑浏览器中输入虚拟机ip地址加端口8080,我电脑的地址是

http://xxxxxxxxxx:8080/

点击 view 按钮,查看效果
在这里插入图片描述

  1. 自定义地图样式
    启动maputnik
make start-maputnik

在自己电脑浏览器中输入虚拟机ip地址加端口8088,我电脑的地址是

http://xxxxxxxxxx:8088/

在这里插入图片描述
回到maputnik网页,点击下图蓝框中的按钮Data Sources,把上面的地址粘贴到绿框中,再点击红框中的删除按钮,关闭其它地图。关闭弹出框,就能看到我们发布的地图了。
在这里插入图片描述
接下来就可以自由奔放的自定义地图样式了

在这里插入图片描述

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

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

相关文章

反转一个单链表

反转一个单链表 题意&#xff1a;反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 思路 需要虚拟节点么&#xff1f; 答&#xff1a;不需要&#xff0c;因为没有删除节点&#xff0c;只是改变了节点的指向。 遍…

计算机设计大赛 深度学习二维码识别

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天…

Rust-知多少?

文章目录 前言1.使用下划线开头忽略未使用的变量2. 变量解构3.常量4.变量遮蔽&#xff08;shadowing&#xff09;5. 类似println!("{}", x); 为啥加感叹号6.单元类型总结 前言 Rust 学习系列&#xff0c;记录一些rust使用小技巧 1.使用下划线开头忽略未使用的变量 …

MySQL跨服务器关联查询

1. 首先确认服务器的Federated引擎是否开启 show engines;修改数据库的配制文件my.ini,(我的my.ini的路径为&#xff1a;D:\ProgramData\MySQL\MySQL Server 5.7/my.ini),将federated添加到my.ini文件中 到MySQL的my.cnf配置文件中修改 在 [mysqld] 下方加入 federated 然后重…

通过前序和中序遍历结果构造二叉树

题目 105. 从前序与中序遍历序列构造二叉树 - 力扣&#xff08;LeetCode&#xff09; 思路 首先思考&#xff0c;根节点应该做什么。 肯定要想办法确定根节点的值&#xff0c;把根节点做出来&#xff0c;然后递归构造左右子树即可。 我们先来回顾一下&#xff0c;前序遍历和…

全网超全的测试类型详解,再也不怕面试答不出来了!

在软件测试工作过程中或者在面试过程中经常会被问到一些看起来简单但是总是有些回答不上的问题&#xff0c;比如你说说“黑盒测试和白盒测试的区别&#xff1f;”&#xff0c;“你们公司做灰度测试么&#xff1f;", ”α测试和β测试有什么不一样&#xff1f;“&#xff0…

review 10

整理磁盘操作的完整流程&#xff0c;如何接入虚拟机&#xff0c;是否成功识别&#xff0c;对磁盘分区工具的使用&#xff0c;格式化&#xff0c;挂载以及取消挂载、复习cp、mv和find指令 1&#xff1a;U盘接入虚拟机 在弹出窗口直接选择 虚拟机-可移动设备-找到u盘-连接 2&a…

matlab代码--基于注水法的MIMO信道容量实现

今天接触一个简单的注水法程序&#xff0c;搞懂数学原理即可看懂代码。 1 注水法简介 详细原理可以参考&#xff1a; MIMO的信道容量以及实现 大致理论就是利用拉格朗日乘子法&#xff0c;求解信道容量的最大化问题&#xff0c;得到的解形如往水池中注水的形式&#xff0c;最…

过字符设备驱动分步注册过程实现LED驱动的编写,编写应用程序测试,发布到CSDN

头文件 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t; #define PHY_LED1_ADDR 0X50006000 #define PHY_LED2_ADDR 0X50007000 #d…

信号系统之移动平均滤波器

1 通过卷积实现 移动平均滤波器的工作原理是平均输入信号中的多个点&#xff0c;以产生输出信号中的每个点。在方程式形式中&#xff0c;这样写&#xff1a; 其中是 x 输入信号&#xff0c;y 是输出信号&#xff0c;M 是平均值中的点数。例如&#xff0c;在 5 点移动平均滤波器…

基于51单片机的智能台灯的设计与实现

摘 要:针对青少年因坐姿不正确、灯光亮度不合适、用眼过度等原因易导致的近视问题,文中提出使用51单片机作为主控制单元,选用红外检测、光敏检测、蓝牙通信、蜂鸣器和模数转换等模块,设计了一款智能台灯。该智能台灯具有节能、预防近视等功能。经测试,该台灯具有保护视力的…

php基础学习之常用系统函数

一&#xff0c;有关输出的语句/函数 echo语句 用于输出一个或多个字符串 print语句 用于输出一个字符串&#xff08;用句点连接的多个字符串本质是一个字符串&#xff09;&#xff0c;与echo类似&#xff0c;但返回值为1 printf()函数 用于格式化输出字符串&#xff0c;类似于C…

Android下SF合成流程重学习之Refresh流程

Android下SF合成流程重学习之Refresh流程 引言 在前面初步分析完成了Android下SF合成流程重学习之Invalidate流程&#xff0c;我们接下来继续下面的分析。当有事务的更新或者有Buffer的更新便会触发后面刷新的流程,即Refresh流程&#xff01; 一. onMessageRefresh 文件&…

QT串口通讯上位机_基础串口通讯

目录 1. 实现目标1.1 界面1.2 发送1.3 接收1.4 清除接收、发送 2. 新建工程3. 添加头文件4. 变量定义5. 完整代码6. 工程下载 1. 实现目标 1.1 界面 1.2 发送 1.3 接收 1.4 清除接收、发送 2. 新建工程 3. 添加头文件 QT serialport // #include <QDebug‘’> #incl…

数据库架构师之道:MySQL安装与系统整合指南

目录 MySQL数据库安装&#xff08;centos&#xff09; 版本选择 企业版 社区版 选哪个 MySQL特点 MySQL服务端-客户端 mysql下载选择 软件包解释 安装MySQL的方式 rpm包安装 yum方式安装 源码编译安装★ 具体的编译安装步骤★★ 环境准备 free -m命令 cat /pr…

OpenAI超级视频模型Sora登上央视,LeCun强推的「世界模型」雏形相继诞生,AGI如何能够以人类的理解方式看世界?

OpenAI超级视频模型Sora热度不减 Sora一经面世&#xff0c;瞬间成为顶流&#xff0c;话题热度只增不减&#xff0c;一度登上央视新闻报道。 强大的逼真视频生成能力&#xff0c;让许多人纷纷惊呼「现实不存在了」。 OpenAI官方技术报告 OpenAI官方Sora技术报告&#xff1a;V…

JMeter 配置元件之按条件读取CSV Data Set Config

实践环境 win10 JMeter 5.4.1 需求描述 需求是这样的&#xff0c;需要压测某个接口(取消分配接口)&#xff0c;请求这个接口之前&#xff0c;需要先登录系统(物流WMS系统)&#xff0c;并在登录后&#xff0c;选择并进入需要操作的仓库&#xff0c;然后请求接口&#xff0c;…

我的NPI项目之Android Camera (二) -- 核心部件之 Camera Sensor

说到Camera模组&#xff0c;我们比较关心的是用的什么样的sensor&#xff1f; sensor的分辨率多少&#xff0c;sensor的像素多大&#xff0c;sensor是哪家生产的等等一些问题。今天&#xff0c;我们就穿越时间&#xff0c;将sensor的历史扒一扒。 Wikipedia先看一下&#xff1…

MOSFET栅极应用电路分析汇总(驱动、加速、保护、自举等等)

概述 MOSFET是一种常见的电压型控制器件&#xff0c;具有开关速度快、高频性能、输入阻抗高、噪声小、驱动功率小、动态范围大、安全工作区域(SOA)宽等一系列的优点&#xff0c;因此被广泛的应用于开关电源、电机控制、电动工具等各行各业。栅极做为MOSFET本身较薄弱的环节&am…

【C++11新特性】详解智能指针 创建、使用、注意事项

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…