介绍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.hqwc.cn/news/475081.html

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

相关文章

林浩然与杨凌芸的Java集合奇遇记

林浩然与杨凌芸的Java集合奇遇记 The Java Collection Chronicles of Lin Haoran and Yang Lingyun 在一个充满代码香气的午后&#xff0c;程序员男主角林浩然正在他的编程世界里挥舞着键盘剑&#xff0c;探索Java王国中的神秘宝藏——集合。而我们的女主角杨凌芸&#xff0c;作…

深入浅出了解谷歌「Gemini大模型」发展历程

Google在2023年12月官宣了Gemini模型&#xff0c;随后2024年2月9日才宣布Gemini 1.0 Ultra正式对公众服务&#xff0c;并且开始收费。现在2024年2月14日就宣布了Gemini 1.5 Pro&#xff0c;史诗级多模态最强MoE首破100万极限上下文纪录&#xff01;&#xff01;&#xff01;Gem…

基于SpringBoot+WebSocket+Spring Task的前后端分离外卖项目-订单管理(十七)

订单管理 1. Spring Task1.1 介绍1.2 cron表达式1.3 入门案例1.3.1 Spring Task使用步骤1.3.2 代码开发1.3.3 功能测试 2.订单状态定时处理2.1 需求分析2.2 代码开发2.3 功能测试 3. WebSocket3.1 介绍3.2 入门案例3.2.1 案例分析3.2.2 代码开发3.2.3 功能测试 4. 来单提醒4.1 …

【Vision Pro 应用分享】Make It Spatial——将普通照片转化为Spatial空间照片,以在Vision Pro视界眼镜上观看3D效果

该应用目前在Mac App Store上免费提供 下载地址:‎Make It Spatial on the Mac App Store Read reviews, compare customer ratings, see screenshots, and learn more about Make It Spatial. Download Make It Spatial for macOS 14.0 or later and enjoy it on your Mac.h…

SG5032EAN规格书

SG5032EAN 晶体振荡器结合了相位锁定环&#xff08;PLL&#xff09;技术和AT切割晶体单元&#xff0c;提供了73.5 MHz至700 MHz的广泛频率范围&#xff0c;以满足高速数字应用的需求。高性能的LV-PECL输出&#xff0c;2.5V和3.3V电源电压&#xff0c;可灵活适配不同设计的电源需…

什么是软件测试?软件测试的目的与原则是什么?

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

信息技术教资科3选择题相关知识点

目录 一.数据压缩 1.无损压缩 2.有损压缩 二.计算题 三.Excel表 四.powerpoint 五.Photoshop 六.FLASH动画 1.动画类型 2.鼠标动作命令 3.动作命令 七.人工智能的应用领域 八.网络相关 八.并行接口和串行接口 九.HTML标签 十.其他知识点 若你是计算机相关专业…

Keras可以使用的现有模型

官网&#xff1a;https://keras.io/api/applications/ 一些使用的列子&#xff1a; ResNet50&#xff1a;分类预测 import keras from keras.applications.resnet50 import ResNet50 from keras.applications.resnet50 import preprocess_input, decode_predictions import nu…

2月16日openai又出了什么大招呢?

2024年2月16日通过google trends可以发现“sora”被大量的搜索与关注。那么什么是“sora”呢&#xff1f; Sora是OpenAI发布的一款文本到视频的AI模型&#xff0c;它能够根据文本指令生成逼真和富有想象力的场景。Sora 可以创建长达 60 秒的视频&#xff0c;其中包含高度详细的…

电路设计(19)——基于TDA2030的音频放大器的proteus仿真

1.设计要求 能够使用TDA2030芯片&#xff0c;实现对音频信号的放大。 2.芯片介绍 TDA 2030 是一块性能十分优良的功率放大集成电路&#xff0c;其主要特点是上升速率高、瞬态互调失真小&#xff0c;在目前流行的数十种功率放大集成电路中&#xff0c;规定瞬态互调失真指标的仅…

SQL29 计算用户的平均次日留存率(lead函数的用法)

代码 with t1 as(select distinct device_id,date --去重防止单日多次答题的情况from question_practice_detail ) select avg(if(datediff(date2,date1)1,1,0)) as avg_ret from (selectdistinct device_id,date as date1,lead(date) over(partition by device_id order by d…

软件测试知识总结

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、黑盒测试、白盒测试、灰盒测试 1.1 黑盒测试 黑盒测…