介绍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.mfbz.cn/a/393890.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows 启动和关闭mysql

1)打开我的电脑-->2)在左边文件中右键此电脑--> 3)点击管理-->4)点击服务和应用程序-->5)点击服务-->6)查找自己MySQL名称 右击 启动或者关闭

一、直方图相关学习

1、灰度直方图 1.1 基本概念和作用 表示图像中每个灰度级别的像素数量。用于分析图像的亮度分布情况。 1.2 代码示例 参数介绍 hist cv2.calcHist(images, channels, mask, histSize, ranges, hist, accumulate)-images&#xff1a;输入图像的列表。对于灰度图像&#xff0…

vue3-渲染机制

渲染机制 Vue 是如何将一份模板转换为真实的 DOM 节点的&#xff0c;又是如何高效地更新这些节点的呢&#xff1f;我们接下来就将尝试通过深入研究 Vue 的内部渲染机制来解释这些问题。 虚拟 DOM 你可能已经听说过“虚拟 DOM”的概念了&#xff0c;Vue 的渲染系统正是基于这…

阿里云香港轻量应用服务器是什么线路?cn2?

阿里云香港轻量应用服务器是什么线路&#xff1f;不是cn2。 阿里云香港轻量服务器是cn2吗&#xff1f;香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器&#xff0c;通过mtr traceroute测试了一下&#xff0c;最后一跳是202.97开头的ip&#xff0c;1…

317. 多关键字排序

/** Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.*/package ahwoj;import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Scanner;/*** 题目说排序关键字优先级依次降低&#xff0c;那就是说&…

C 语言 ConsoleRogueLike 控制台肉鸽游戏 DEVC++ VS2022都可用

使用 C 语言和 windows 的键盘检测函数和延迟函数&#xff0c;开发的控制台 roguelike 游戏 点开 .exe 文件立即进入游戏 AWSD 移动 J 攻击 K 加成buff 没有结束条件&#xff0c;除非碰到敌人。 其他模块功能还没来得及开发 author : 民用级脑的研发记录 DEVC 项目工程代码副本…

【机构vip教程】Appium自动化(2):Python+Appium环境搭建

windows下搭建pythonappium环境 搭建过程步骤如下&#xff1a; 1、安装jdk并配置好环境变量&#xff08;jdk版本1.8以上&#xff09; 2、安装android-sdk并配置好环境变量&#xff1b;具体步骤见&#xff1a;https://www.cnblogs.com/YouJeffrey/p/15243705.html 3、安装安…

是面试官放水,还是公司实在是太缺人?,字节原来这么容易进...

字节是大企业&#xff0c;是不是很难进去啊&#xff1f;” “在华为做软件测试&#xff0c;能得到很好的发展吗&#xff1f; 一进去就有19.5K&#xff0c;其实也没有想的那么难” 直到现在&#xff0c;心情都还是无比激动&#xff01; 本人211非科班&#xff0c;之前在华为…

嵌入式学习-C++-Day6

思维导图 作业 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c;动物园里有一…

3年,5年,10年,网工人必看!

你们好&#xff0c;我是老杨。 2023年的职场上&#xff0c;无数人在思考“什么时候才能提前退休”这个问题。 对很多底层网工来说&#xff0c;二三十岁的年纪&#xff0c;距离60岁退休还有30年左右&#xff0c;是不是会觉得有点遥遥无期&#xff0c;毫无盼头&#xff1f; 现…

物奇平台ENC算法开关接口修改方法

物奇ENC算法开关接口修改 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 1 配置工具 2 代码接口

Ansible fetch 模块 该模块用于从远程某主机获取(复制)文件到本地

这里写目录标题 参数实例查看返回结果在这里插入图片描述 参数 dest&#xff1a;用来存放文件的目录 src&#xff1a;在远程拉取的文件&#xff0c;并且必须是一个file&#xff0c;不能是**目录* 实例 ansible slave -m fetch -a src/data/hello.txt dest/data/可以看到一个…

2024年【安全员-C证】报名考试及安全员-C证考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证报名考试参考答案及安全员-C证考试试题解析是安全生产模拟考试一点通题库老师及安全员-C证操作证已考过的学员汇总&#xff0c;相对有效帮助安全员-C证考试资料学员顺利通过考试。 1、【多选题】《工伤保险…

软件实例分享,台球厅收费系统电脑桌球店计时软件及灯控线路图教程

软件实例分享&#xff0c;台球厅收费系统电脑桌球店计时软件及灯控线路图教程 一、前言 以下软件程序教程以 佳易王桌球室计时计费软件V17.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、每个桌子对应的有 开台时间&#xff0c;所用的时…

java数据结构与算法刷题-----LeetCode594. 最长和谐子序列

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 子序列要尽可能长&#xff0c;并且最大值和最小值之间的差&#…

Python教程(27)——如何使用Python中的上下文管理器

当我们在编写代码时&#xff0c;经常会遇到需要管理资源的情况&#xff0c;比如打开和关闭文件&#xff0c;如果遇到了一些异常情况&#xff0c;我们需要关闭资源&#xff0c;不然会导致资源泄露&#xff0c;虽然我们可以通过手动的方式来关闭&#xff0c;但如果有多个异常情况…

基于Springboot的新能源充电系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的新能源充电系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&a…

MyBatisPlus 整合 SpringBoot 遇见的问题

【异常】&#xff1a;Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘udf1’ in ‘field list’… SQL: SELECT id,oper_id,btch_id,udf1, FROM scan_cyber Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘udf1’ in ‘field list’; ,"messag…

OpenHarmony—UIAbility组件与UI的数据同步

基于HarmonyOS的应用模型&#xff0c;可以通过以下两种方式来实现UIAbility组件与UI之间的数据同步。 使用EventHub进行数据通信&#xff1a;基于发布订阅模式来实现&#xff0c;事件需要先订阅后发布&#xff0c;订阅者收到消息后进行处理。使用globalThis进行数据同步&#…

PostgreSQL Error Codes (PostgreSQL错误代码)

Whats PostgreSQL Error Codes PostgreSQL服务器发出的所有消息都分配了五个字符的错误代码&#xff0c; 这些代码遵循 SQL 的"SQLSTATE"代码的约定。 需要知道发生了什么错误条件的应用程序通常应该检测错误代码&#xff0c;而不是查看文本错误消息。 这些错误代码…
最新文章