现在业务上每天都有大量的 GPS 数据,现在想要判断所在省份,所以请教下哪里可以找到或买到国内省份相关的数据库?
此外公路 GPS 相关的数据也需要。
(先不考虑付费的第三方计次收费的那种,优先考虑可以离线查询的库)
此外公路 GPS 相关的数据也需要。
(先不考虑付费的第三方计次收费的那种,优先考虑可以离线查询的库)
|
hiwindNov 8, 2018
1
|
|
2
如果只是中国省份的话,大概一个小时吧
http://webapi.amap.com/ui/1.0/ui/geo/DistrictExplorer/examples/index.html?guide=1 从高德 API 拿到省份边界数据,数据库用 PG+postgis 然后 st_contains |
|
3
|
|
4
|
|
5
geoip 就可以,我记得我用 python 的库查过
|
|
6
可以自己做一个呀,感觉只要拿到所有的省份边界 gps 信息然后做一个围栏就 OK。
就是不知道所有的 gps 信息有多少 23333 |
|
7
免付费:
https://www.ipinfodb.com (上线) https://lite.ip2location.com (下线) 付费: https://www.ip2location.com (上线 /下线) |
|
8
@aec4d #2 请教一下,花了几天时间学习了 postgis,然后把高德上这个行政区相关的接口数据也抓取下来了,但是之前是通过 shp 文件导入到 postgis 中的。
现在这个抓取下来的数据有很多字段不是很明白,按我目前的理解是边界信息存在了 topo-arcs 中的字段,里面数据为边界的各个坐标点(但不是经纬度),所以能否提示下怎么把相关的信息导入到 postgis 中? 这边放一个文件: https://gist.githubusercontent.com/Jiezhi/45493eb747026862f1e459d2ca388517/raw/d1634b1be032eaa081e517c8f9ca929b7c9b286d/js.json |
|
9
@jiezhi 不太清楚你请求的高德的哪个 api
https://lbs.amap.com/api/webservice/guide/api/district/ 这里有示例,返回的是 polyline 格式的文本。简单处理一下就能得到 MultiPolygon 格式的数据 from shapely.geometry import MultiPolygon import shapely.wkt def decode_polyline(data): multi = [] for i in data.split('|'): x = ','.join([' '.join(i.split(',')) for i in i.split(';')]) a = shapely.wkt.loads('POLYGON (({}))'.format(x)) multi.append(a) return MultiPolygon(multi) 导入到 postgis 中.....正常 SQL 语句写入就好了 |
|
11
@aec4d #9 再次感谢,主要通过之前#2 提供的接口拿回的围栏数据好像是 topology 的结构的,所以不知道怎么转为 GPS 的围栏数据,根据#9 的接口返回的是 GPS 围栏数据,然后导入到数据库中就可以查询了。
|