文章目录1、xdh-map新德汇地图应用类库Gitee地址:
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 其中的某些组件,可以在已有的项目工程中安装,并完成配置。步骤:
安装组件库和相关插件 安装组件npm i element-ui @xdh/my --save 安装项目依赖插件
npm i babel-plugin-component node-sass sass-loader --save-dev 配置 babel.config.js 组件采用了按需加载,需要 在babel.config.js 加上插件,如:module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ ...require('@xdh/my/core/babel.plugins') ] } 配置 vue.config.js 需要在vue.config.js加上别名,如:module.exports = { transpileDependencies: ['@xdh/my'], chainWebpack(chain) { chain.resolve.alias.set('$ui', '@xdh/my/ui/lib') } } 引用组件 到此,你可以开始引入组件开始编码了,如:
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、地图组件使用初始化地图首先需要在页面中新增一个Dom 用于地图初始化。
初始化高德地图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 }) }) 添加图层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:
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_downloadgitee仓库地址:
github:
5.1、介绍使用Java开发的地图瓦片图下载工具,支持以下XYZ瓦片图下载与合并。多线程瓦片图下载,最大限度地使用本机网络资源。
OpenStreetMap谷歌地图(需要代理)天地图(务必更换自己的key,并注意配额)高德地图腾讯地图必应地图Build下载地址(已打包的可执行程序,解压即可运行)
重要提示:下载谷歌地图需正确使用代理,不能下载就是代理没设置好 若无法打开,请将文件夹改为英文,并注意文件夹所在详细路径是否为全英文 使用多网盘发布,防止链接失效(阿里云盘不允许分享压缩包,故不使用) 百度网盘: 密码:mdve
5.2、功能效果
6、mars3d 三维地球6.1、平台介绍Mars3D平台 是火星科技研发的一款基于 WebGL 技术实现的三维客户端开发平台,基于Cesium优化提升与B/S架构设计,支持多行业扩展的轻量级高效能GIS开发平台,能够免安装、无插件地在浏览器中高效运行,并可快速接入与使用多种GIS数据和三维模型,呈现三维空间的可视化,完成平台在不同行业的灵活应用。Mars3D平台可用于构建无插件、跨操作系统、 跨浏览器的三维 GIS 应用程序。平台使用 WebGL> 来进行硬件加速图形化,跨平台、跨浏览器来实现真正的动态大数据三维可视化。通过> Mars3D产品可快速实现浏览器和移动端上美观、流畅的三维地图呈现与空间分析。Github:
国内Gitee:
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:
7.1、介绍OpenMapTiles是一个基于OpenStreetMap的可扩展的开放tile模式。这个项目是用来为在线缩放地图生成矢量贴图。地球科学模拟有很多Awesome项目,本仓库建立地球科学模式的工作流,包含:区域性气象模式、地表水、地下水、地震波正演等数学模式,以及相应的前后处理程序。选择HPC应用程序的思考维度包括:前沿的数值算法;并行模式和计算效率;模型的工业级应用能力;可迁移性(可应用于不同架构的处理器)。 即:Performance-Productivity-Portability (3P原则)7.2、使用7.2.1、环境准备安装linux系统(openmaptiles开源库只能在linux系统上运行)安装docker安装Docker Compose安装git7.2.2、发布地图openmaptiles开源库
github地址: 快速入门文档:
拉取代码 拉取openmaptiles代码git clone https://github.com/openmaptiles/openmaptiles.git 拉取完成后,进入目录cd openmaptiles 执行make命令make 处理数据 执行下面的快速启动命令,程序会自动进行OSM数据的下载、入库、分析、生成矢量瓦片的工作。默认是阿尔巴尼亚地区,生成瓦片的层级是0-7级。后面会讲如何设置地区和层级。这个命令执行时间会稍微有些长,需耐心等待。./quickstart.sh 发布矢量瓦片服务 数据处理完成后,把生成的矢量瓦片发布成地图服务,步骤:启动服务
make start-tileserver 在自己电脑浏览器中输入虚拟机ip地址加端口8080,我电脑的地址是
http://xxxxxxxxxx:8080/ 点击 view 按钮,查看效果
自定义地图样式 启动maputnikmake start-maputnik 在自己电脑浏览器中输入虚拟机ip地址加端口8088,我电脑的地址是
http://xxxxxxxxxx:8088/ 回到maputnik网页,点击下图蓝框中的按钮Data Sources,把上面的地址粘贴到绿框中,再点击红框中的删除按钮,关闭其它地图。关闭弹出框,就能看到我们发布的地图了。
接下来就可以自由奔放的自定义地图样式了
以蝼蚁之行,展鸿鹄之志。