惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
Jina AI
Jina AI
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
博客园 - 司徒正美
罗磊的独立博客
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Vercel News
Vercel News
A
About on SuperTechFans
I
InfoQ
D
DataBreaches.Net
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队

博客园 - lisoaring

QT开发和MFC开发的经典案例 HydroDesktop GIS软件 成都的名牌 常用手机硬件记录 常用软件版本记录 lisoaring 怎么查小河流名称--河流数据库 全国分乡镇第七次人口普查数据shp数据库省市区县街道 FME视频教程 全国1949-2020最新历年各省、市州、县区高铁铁路高速公路国道省道县道乡道路网数据库 中国分省市县水土流失土地利用土壤侵蚀现状图及简介 全国1949-2019最新历年各省、市州、县区矢量边界数据库 中国地震动参数区划图2015年分乡镇矢量数据 全国分乡镇第五次人口普查数据shp数据库省市区县街道 全国分乡镇第六次人口普查数据shp数据库省市区县街道 全国路网\水系\河流\乡镇\矢量行政区划边界(省市区县乡镇)、行政地名矢量数据shptabdwgcdr - lisoaring - 博客园 全国分河流水系流域边界及河流数据水系及主要流域分界图 建筑物轮廓\自然保护区\城市AOI\水土保持\水资源\水文\建成区\生态功能分区矢量数据shptabdwgcdr - lisoaring - 博客园 mysql 查询语言使用 lisoaring
坐标转换一些
lisoaring · 2019-04-05 · via 博客园 - lisoaring

http://rovertang.com/labs/tileindex/

关于中国的经纬度

国内的经纬度有三套系统:

  • WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
  • GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
  • BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。

使用OpenStreetMap的坐标为WGS84;使用高德地图、腾讯地图的坐标为GCJ02;使用百度地图的坐标为BD09;谷歌地图和Bing地图的中国部分采用了高德地图的数据,所以坐标为GCJ02。

WGS84的坐标转化为GCJ02的坐标是单向的,即WGS84的坐标能够准确地变换为GCJ02坐标;但GCJ02坐标转换为WGS84时会存在精度损失。

GCJ02的坐标和BD09的坐标转换是双向的,转换规则可以参考下面的python代码:

import math

x_pi = 3.14159265358979324 * 3000.0 / 180.0

def amapcoor2bmapcoor(amap_lon, amap_lat):
    x = amap_lon
    y = amap_lat
    z = math.sqrt(x * x + y * y) + 0.00002 * math.sin(y * x_pi)
    theta = math.atan2(y, x) + 0.000003 * math.cos(x * x_pi)
    bmap_lon = z * math.cos(theta) + 0.0065
    bmap_lat = z * math.sin(theta) + 0.006
    return (bmap_lon, bmap_lat)

def bmapcoor2amapcoor(bmap_lon, bmap_lat):
    x = bmap_lon - 0.0065
    y = bmap_lat - 0.006;
    z = math.sqrt(x * x + y * y) - 0.00002 * math.sin(y * x_pi);
    theta = math.atan2(y, x) - 0.000003 * math.cos(x * x_pi);
    amap_lon = z * math.cos(theta);
    amap_lat = z * math.sin(theta);
    return (amap_lon, amap_lat)

https://github.com/geometalab/pyGeoTile