前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将OpenStreetMap导出的OSM数据导入MySQL数据库

将OpenStreetMap导出的OSM数据导入MySQL数据库

作者头像
恒宇少年
发布2021-04-20 10:58:56
4.7K0
发布2021-04-20 10:58:56
举报
文章被收录于专栏:SpringBoot 核心技术

OpenStreetMap

OpenStreetMap是一个所有人都可以编辑并自由使用的世界地图。

其中的大部分内容由志愿者从无到有地构建起来,并以开放授权发布, OpenStreetMap版权协议允许所有人自由且免费使用我们的地图图像与地图数据,而且本项目鼓励把数据用于有趣崭新的用途。

OpenStreetMap: https://www.openstreetmap.org

导出osm数据

我们访问上面OpenStreetMap主页,我们可以看到跟其他提供地图服务的网站一样,也提供了位置导航的功能,也会直接定位到当前浏览的位置,那我们怎么才可以导出地图数据呢?

import-osm-data-into-mysql-1.png

我们访问页面的左上角有个导出的按钮,我们点击后可以看到如下图的界面:

import-osm-data-into-mysql-2.png

我们点击红框内的导出按钮可以导出上面默认区域(两个经纬度组成的区域)内的全部地图数据(街道、建筑等),导出数据文件的后缀格式为.osm,默认导出文件的名称为map.osm

如果我们需要自定义导出的区域可以点击 “手动选择不同的区域”,通过拖拽的方式来定位区域的位置以及大小,如下图所示:

import-osm-data-into-mysql-3.png

点击 导出 按钮就可以获得我们选中区域内的地图数据。

注意事项:这种区域导出方式有个弊端,不能导出数据量超过50000个经纬度点的数据。

安装osmosis

我们已经导出了地图数据(map.osm),我们可以通过osmosis来实现数据导入数据库,osx系统可以通过brew进行安装,如下所示:

代码语言:javascript
复制
yuqiyu@hengyu ~> brew install osmosis

初始化数据库表

通过osmosis导入到数据库时,需要提前创建数据库以及数据表,点击 下载MySQL建表语句

导入数据库

代码语言:javascript
复制
yuqiyu@hengyu ~> osmosis --read-xml file="/Users/yuqiyu/Downloads/map.osm" --write-apidb-0.6 host="127.0.0.1" dbType="mysql" database="api06_test" user="root" password="123456" validateSchemaVersion=no

敲黑板,划重点

基于OpenStreetMap提供的开源道路数据我们可以做的事情有很多,拿到道路上的经纬度(longitudelatitude)地理位置后做一些独特的业务处理,比如:我可以清楚的知道某一条道路上有哪些业务车辆经过、建立自有业务的地图数据、规划工作路线等。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OpenStreetMap
  • 导出osm数据
  • 安装osmosis
  • 初始化数据库表
  • 导入数据库
  • 敲黑板,划重点
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档