基于高德离线地图数据实现GPS经纬度逆解析城市信息
一、获取离线数据:
如果你只是想实现逆解析功能,那该步骤可以跳过,因为地图数据已经收集打包好了。直接文末找git路径就好了。
准备工作:python numpy h5py openpyxl cython
申请高德key,参考:https://blog.csdn.net/qq_32444825/article/details/79441900
key 填入 getRegions.py amap_key变量中
import h5py
import urllib
import numpy as np
import json
import openpyxlamap_key = '' #填入这里class CgetRegionsXls():
运行getRegions.py ,需要一段时间,可以生成离线地图数据,大约120M
二、离线逆解析经纬度信息:
使用射线法判断,参考https://blog.csdn.net/qq_27161673/article/details/52973866
核心算法并不复杂,主要做了两重优化:
1、先用每个区域的经纬度上下限进行粗筛,
2、使用cython对算法进行加速,如果采用python计算,光省级边界判断需要10s以上
在 isInPolygen目录下,执行python setup.py build_ext --inplace 命令即可
3、回到maps目录,运行 posToCity.py验证逆解析效果 实测解析速度
[root@centos-7 map]# time python posToCity.py
{'county': u'\u5357\u5eb7\u533a', 'prov': u'\u6c5f\u897f\u7701', 'city': u'\u8d63\u5dde\u5e02'} # 江西省 赣州市 南康区
{'county': u'\u4e91\u5ca9\u533a', 'prov': u'\u8d35\u5dde\u7701', 'city': u'\u8d35\u9633\u5e02'} # 贵州省 贵阳市 云岩区
{'county': u'\u6e05\u9547\u5e02', 'prov': u'\u8d35\u5dde\u7701', 'city': u'\u8d35\u9633\u5e02'} # 贵州省 贵阳市 清镇市
{'county': u'\u897f\u79c0\u533a', 'prov': u'\u8d35\u5dde\u7701', 'city': u'\u5b89\u987a\u5e02'} # 贵州省 安顺市 西秀区
{'county': u'\u897f\u79c0\u533a', 'prov': u'\u8d35\u5dde\u7701', 'city': u'\u5b89\u987a\u5e02'} # 贵州省 安顺市 西秀区
{'county': u'\u9ed4\u897f\u5e02', 'prov': u'\u8d35\u5dde\u7701', 'city': u'\u6bd5\u8282\u5e02'} # 贵州省 毕节市 黔西市real 0m0.526s
user 0m0.508s
sys 0m0.087s
4.应用方法
from posToCity import CposToCity
p = CposToCity('regions.h5')
print p.toCity(106.668744, 26.567335)
……
git链接 https://gitee.com/chuyansz/gps2city/tree/master
基于高德离线地图数据实现GPS经纬度逆解析城市信息相关推荐
- 高德离线地图TMS服务教程
离线地图开发主要有两部分组成:1.获取离线地图数据:因为离线地图一般都是局域网,所以需要离线地图数据放在内网中使用:2.离线地图服务器搭建以及二次开发接口提供,离线地图是一种服务,就像我们Apache ...
- 如何下载高德离线地图瓦片数据
离线地图分为两种:一种叫"金字塔瓦片"数据,一种叫"矢量地图数据".我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片:另外一种是手机上用来 ...
- 基于Vue的高德离线地图开发--省市县
基于Vue的高德离线地图 离线地图优势 环境需要 下载地图离线资源包 本项目功能 具体代码 离线地图优势 高德地图接口,个人每天免费调用次数为500次,渲染速度受网络波动影响,又或许项目部署在局域网, ...
- 高德离线地图vue-amap的api文档(2):创建地图,撒点等等
前言: 高德离线地图的使用场景还是很多的,但是他的api在国外,想参考api对网络差的朋友来说不是一件容易的事,对我来说一样,在这里整理下他的api内容. 注:本文是将官网api挪动出来,网好的童鞋想 ...
- 3、 如何搭建高德离线地图服务
谷歌(百度.高德)离线地图开发环境搭建 发布时间:2018-01-17 版权: 1.说明 离线地图开发环境支持谷歌地图.百度地图.高德地图等等所有常用地图类型,支持在局域网内的地图部署.二次开发. 2 ...
- BIGEMAP谷歌(百度、高德)离线地图开发环境搭建
谷歌(百度.高德)离线地图开发环境搭建 发布时间:2018-01-17 版权: 1.说明 离线地图开发环境支持谷歌地图.百度地图.高德地图等等所有常用地图类型,支持在局域网内的地图部署.二次开发. 2 ...
- android 高德卫星地图数据,白马地图 Bmap for Android v7.3.81 强大高德百度地图应用|张小北...
Bmap for Android 是一款集成高德地图百度地图为一体的第三方地图应用APP,Bmap for Android 又叫白马地图,采用高德/百度地图数据引擎,可任意切换百度地图.高德地图数据源 ...
- 百度、高德离线地图SDK开发工具,局域网内离线地图开发环境
相关下载:For Linux版本下载 快速搭建离线地图开发环境 局域网地图服务 离线地图数据服务 二次开发 一.软件介绍 BIGEMAP离线地图服务器,提供一站式搭建离线/ ...
- 如何在高德离线地图上画面源代码
离线地图开发主要有两部分组成:1.获取离线地图数据:因为离线地图一般都是局域网,所以需要离线地图数据放在内网中使用:2.离线地图服务器搭建以及二次开发接口提供,离线地图是一种服务,就像我们Apache ...
最新文章
- 技术总监到底要不要写代码?
- php页面上限制字符串长度,PHP如何限制字符串显示长度
- MobileIMSDK连接后频繁掉线重连,提示会话超时失效,对方非正常退出或网络故障
- 双级减速器优化matlab,基于MATLAB的双级齿轮减速器优化设计
- SpringCloud(三)之Feign实现负载均衡的使用
- java 32个面试问题
- Python天天美味(17) - open读写文件
- 格雷码 Gray Code
- 微信小程序分享至朋友圈功能
- 【Unity插件001】VRTK3.3.0的使用
- 20190301 小中大
- 如何才是一名优秀的好员工
- 『杭电1869』六度分离
- java打印数组的连续非空子集_Apriori算法求数组的非空子集java代码
- slf4j将日志写到单独的文件
- 2018年英语专升本英语阅读「Part II 阅读专区」【文章(图片)、答案、词汇记忆】
- Origin更改图的尺寸大小
- java form的时间格式_java date日期格式
- 浏览器支持什么字体?
- thinkserver ts530装centos7
热门文章
- 2023.4.6.吉林长春.雾霾.
- Windows10搭建ASP服务器
- 时尚与森系的碰撞,这样的妆容造型别样美!
- Windows Server 2012 域与活动目录基本概念理解
- 2020年现实社会语录,句句道尽人性
- Scanner调用next方法时报错NoSuchElementException原因,及对Scanner的一些总结
- 机器学习是什么?我对机器学习的理解
- 当前上下文不存在ScriptManager
- 实时帧数手机_旧手机实用改造:秒变PC游戏帧数监测神器
- 微信菜单 html页面添加的,微信公众号菜单进入的页面切换第二次失效