mysql gis 高德_Shp文件在高德地图展示
前言
本文的目标是将shp空间数据展示在高德地图上,这里面涉及了火星坐标转换,WMS地图图层发布,坐标系转换等问题。
流程图
未命名文件.png
准备环境
系统:win10 2004
PostgreSQL:Docker镜像环境
包含:PostgreSQL 12.2、GEOS 3.8.0、Proj 6.3.1、PostGIS 3.0.1
Postgis window版本:下载zip版本,使用其中的数据导入功能。
Navicat Premium 15:必须使用15以上的版本,否则无法查看数据。
Geoserver:Docker镜像环境
安装PostgreSQL
docker run -d --name bimo-postgresql -p 5432:5432 -e POSTGRES_PASSWORD=postgres geographica/postgis:latest
使用Navicat连接数据库
初始数据库、用户名、密码都为postgres
微信截图_20200707140908.png
准备Shp数据
文件组成
微信截图_20200707140417.png
文件信息
微信截图_20200707140452.png
使用shp2pgsql-gui工具将Shp文件导入数据库
工具位置
微信截图_20200707141234.png
打开工具添加文件,注意文件名称和目录不能包含中文
微信截图_20200707141420.png
连接数据库:下方出现Connection succeeded表示数据库连接成功。
微信截图_20200707141808.png
微信截图_20200707141829.png
设置文件参数:SRID设置文件的值即可。点击Options可以设置其他参数。
微信截图_20200707141530.png
微信截图_20200707141938.png
导入成功后可以使用Navicat查看数据是否导入成功:包含形状字段表示导入成功。
微信截图_20200707142113.png
坐标系转换:WGS84——>GCJ02(火星坐标)
在Navicat新建查询,创建postgis对象
create extension postgis
导入坐标转换函数:地址
新建查询,将geoc-pg-coordtransform.sql内容复制到查询中,点击回车,函数添加成功。
微信截图_20200707143125.png
调用坐标转换函数:新建gaode表,将原表数据和转换后的数据存入
create table gaode as SELECT t.id, t.gridcode, geoc_wgs84togcj02(st_setsrid(geom,4326)) As geometry from yuncheng t;
发布WMS服务
安装Geoserver
docker run --name "geoserver" -p 8080:8080 -d -t kartoza/geoserver
登录网址:http://localhost:8080/geoserver,账号/密码:admin/geoserver
微信截图_20200707144644.png
建立工作区
微信截图_20200707144956.png
微信截图_20200707145039.png
创建数据存储
微信截图_20200707144848.png
微信截图_20200707144912.png
微信截图_20200707145216.png
创建图层
微信截图_20200707145357.png
微信截图_20200707145431.png
微信截图_20200707145526.png
在高德中引用图层
let guan = new AMap.TileLayer.WMS({
url: 'http://39.101.136.194:1001/geoserver/bslt/wms',
blend: false,
tileSize: 256,
params: {
tiled: true,
FORMAT: 'image/png',
VERSION: '1.3.0',
LAYERS: 'bslt:gaode'
}
});
map.add(guan);
最终效果
微信截图_20200707145943.png
扩展资料
mysql gis 高德_Shp文件在高德地图展示相关推荐
- geoserver+openlayers做地图展示,添加标注,删除标注,单体项目html+css样式版本
1.加载openlayers 下载了之后丢在项目里面就可以了. 2.创建一个js文件,名字任意.xtmap.js /*综治安全重点监控区域地图*/ var map, view; function in ...
- 大屏页面使用transform属性scale进行缩放,高德地图点击事件失效,地图展示模糊
这里写自定义目录标题 大屏页面使用transform属性scale进行缩放,高德地图点击事件失效,地图展示模糊 1.大屏缩放自适应时使用tansform scale 缩放 1.1.window.res ...
- Android基于高德SDK的开发——自定义地图主题样式(悬浮按钮+底部弹窗)
日常的地图使用中,平台一般只会给我们提供地图的标准样式,造成了一定程度上的审美疲劳,那么如何实现地图的自定义样式呢?本文使用Android Studio 4.1,给开发者提供了一个基于高德地图SDK进 ...
- Android - 简单的显示高德SDK中的3D地图
简单的显示高德SDK中的3D地图 身为一个安卓小白,前几天试了一下高德SDK,踩了几个蠢蠢的坑,秉承着别让其他小白也踩到,我就写一篇怎么简单的实现高德SDK显示地图与小蓝点的教程. 获得key 1.先 ...
- 使用高德地图展示点位和信息窗体展示数据及播放视频
使用高德地图做了一个在地图展示点位,并通过点击,显示直播的功能,这个任务是为了之后大屏做准备. 这是一个能展示多个点标记,并在点击的时候弹出信息窗体,并在信息窗体中播放视频,且展示相关信息以及操作事件 ...
- js如何同时打开多个信息窗口 高德地图_高德地图-展示多个信息窗口
1.问题背景 高德地图,设置小图标,并点击图标显示信息 2.实现源码 高德地图展示多个信息窗口 //初始化地图对象,加载地图 var map = new AMap.Map("containe ...
- 高德sdk5.0之后的地图实践接入(二)
设置地图的缩放级别 谷歌地图的默认缩放级别是10,通过如下代码可获取 float defaultZoom = aMap.getCameraPosition().zoom; 通过如下代码可设置 aMap ...
- MySQL GIS功能介绍
个人网站:https://www.lovebetterworld.com/ 往后余生,只想分享一些干货,分享一些工作,学习当中的笔记.总结,并帮助需要帮助的任何人,关注我,大家一起来学习吧! 一.My ...
- MySQL体系结构之物理文件
一.MySQL日志文件 mysql日志文件及功能: 日志文件 功能 错误日志 记录启动.停止.运行过程中mysqld时出现的问题 通用日志 记录建立客户端连接和执行的语句 二进制日志 记录更改数据的所 ...
最新文章
- 【每日一算法】二叉树的最小深度
- Zenoss学习杂记(十)
- 设计模式的理解:对23个设计模式的总结
- golang for 循环中使用协程的问题
- 360云台智能看家存储在哪_新品360智能摄像机云台变焦版,惊喜改变可不止一点点...
- 普通人赚大钱,做好这一点,才是真正的捷径
- mmapcopy函数的编写
- 解决servlet中get方式中中文乱码问题(二):装饰者模式使用
- Obj-C的hello,world 1
- 【NLP】揭秘马尔可夫模型神秘面纱系列文章(三)
- 一个人的旅行(用小技巧转化为dijkstra算法)
- java中implement_java中 implement和extends的作用和区别详细解释
- CRNN中英文字识别
- Hash Animation Master 19.0h 特别版 Mac 3D动画制作软件
- 赴日IT派遣,如何避免入坑
- [堆+贪心] CF596C. Wilbur and Points
- QGIS官网安装包下载与安装
- 一种利用强核力和弱核力复制物质原子的仪器
- Android 应用快捷方式 Shortcuts(二)
- ctfshow萌新计划web22