オリジナル住所:http://www.mapboxx.cn/article/geography/
基本概念##のシステム座標
:地理座標に座標と投影座標系、以下ではこれらの二つの座標系を説明する
*地理座標部門:球座標。基準面は、ユニット座標楕円:緯度と経度は、
座標平面:*座標系に投影しました。水平基準面とすることが、ユニット座標等、キロメーター
:geotransform突起は、(不規則な表面は、アース面に変換された投影)投影のプロセスとして理解されるべき座標
##種類の共通座標系と説明の
* WGS84地理的システムは、Google EarthとGoogleマップを加えて、中国の外で使用する座標を、本質的に、すべての位置決め装置の空間的位置は、携帯電話のGPSシステムとしてこのシステムを、座標使用
* GCJ-02:投影座標系、すなわち、私たちは通常、火星座標系を言う、Googleマップ中国、ドイツ、テンセントが高いの使用は、これはWGS84の基礎を暗号化することで、中国自身があるようです、目的は明らかです。
* BD09:セカンダリ暗号化GCJ-02基準で行った百度マップを用いて、投影座標系。
国内API座標系は比較
API | |座標|
| ---- | ---- |
| Baiduの地図API | Baiduは座標|
|テンセント曹操地図API |火星は座標|
|捜狐Sogouの地図API | Sogouの座標|
アリクラウドマップAPIは|火星は座標|
|それが座標マップ| MapBarマップのAPIそれを図|
| MapABC高い道徳マップAPI | |火星座標
| Lingtu 51dituマップAPIを|火星座標|
WGS84 UTM投影が6度、43から53までの数値を持つ全国UTM突起11を、ゾーニング、一般的に使用座標
番号を| |セントラル経度|経度範囲|
| ---- | ---- | ---- |
| 43れる| 75E | 72E-78E |
| 44れる| 81E | 78E-84E |
| 45 | 87E | 84E-90E |
| 46れます| 93E | 90E-96E |
| 47 | 99E | 96E-102E |
| 48 | 105E | 102E-108E |
| 49 | 111E | 108E-114E |
| 50 | 117E | 114E-120E |
| 51です| 123E | 120E- 126E |
| 52 | 129E | 126E-132E |
| 53 | 135E | 132E-138E |
##補正座標
系の座標火星へ、百度補正座標と呼ばれる座標にシステムWGS1984座標
座標をオフセットするために:火星座標系、百度座標系;
火星座標系、百度は、相対セクタWGS1984オフセット、生成された暗号化は、国家安全保障を調整することです
ここのツールは、変換、アドレスの3種類の座標系オンライン座標変換し、対応するExcelファイルをBD09をサポートするために変換することができ、アップロード、GCJ20、WGS84です:[http://www.mapboxx.cn/tool/coord_view /](http://www.mapboxx.cn/tool/coord_view/)
コードが必要な場合はもちろん、あなたがダウンして見ることができます。
##座標補正、座標系の総合的な理解
[RUNOOBアイコン](http://www.mapboxx.cn/static/blog/img/article/coodirate.png)!
##添付
ウェブサイト:HTTP:// WWW。 mapboxx.cn座標変換、多くのオンラインツールやトラフィックデータ、クロールPOIデータをクロール人を含む地図関連の知識共有ツール、および地図データの可視化があり、オンラインで、訪問を歓迎しました。
##共通マップ座標系変換コード(Pythonのバージョン)が
BD09座標系をサポートし、GCJ20座標、WGS84は、システムの座標変換。
`` `
#!は/ usr / binに/ ENVはのpython3へ
# - * -コーディング:UTF-8 - * -
__author = "Brady_Hu"
インポート数学
x_pi = 3.14159265358979324 * 3000.0 / 180.0
PI =π・3.1415926535897932384626#
A#= 6,378,245.0半軸
EE = 0.00669342162296594323#フラットレート
DEF gcj02_to_bd09(LNG、LAT):
"" "
火星座標系(GCJ-02)百度を回すシステム(BD-09)座標
グーグル、高ドイツ語- >百度
:PARAMのLNG:火星は、経度座標
: PARAM LAT:火星の場所緯度
:リターン:
"" "
Z = Math.sqrt(LNGをLNG * + * LAT LAT)+ 0.00002 * Math.sin(LAT * x_pi)
シータ= Math.atan2(LAT、LNG)+ 0.000003 * Math.cos(LNG * x_pi)
bd_lng Math.cos = Z *(シータ)+ 0.0065
Math.sin = Z *(シータ)+ 0.006 bd_lat
リターン[bd_lng、bd_lat]
:DEF bd09_to_gcj02(bd_lon、bd_lat)
"" "
百度座標系(BD-09)火星座標系オン(GCJ-02)
百度- >グーグル、高いドイツ語
:PARAM bd_lat:百度の緯度座標
:bd_lonのPARAM:百度経度座標
:リターン:変換後座標リストの形で
"" "
X = bd_lon - 0.0065
Y = bd_lat - 0.006
Z = Math.sqrt(Y * X * X + Y) - Math.sin 0.00002 *(Y *のx_pi)
シータ=数学.atan2(Y、X) - 0.000003 * Math.cos(X * x_pi)
gg_lng Math.cos = Z *(シータ)
gg_lat Math.sin = Z *(シータ)
リターン[gg_lng、gg_lat]
DEF wgs84_to_gcj02(LNG、LAT ):
"" "
GCJ02(火星座標)オンWGS84
:PARAM LNG:WGS84座標経度
:PARAM LAT:緯度WGS84座標系
:リターン:
" ""
がiF out_of_china(LNG、LATを):#は自宅かどうかを決定します
LNG戻り、LAT
DLAT = _transformlat(LNG - 105.0、LAT - 35.0)
dlng = _transformlng(LNG - 105.0、年 - 35.0)
LAT = radlat / 180.0 * PI
マジック= Math.sin(radlat)
マジック= 1 - EE *トランストリップ
sqrtmagic = Math.sqrt(マジック)
DLAT =(DLAT * 180.0)/((A *(1 - EE)) /(マジックsqrtmagic *)* PI)
dlng =(dlng * 180.0)/(A / sqrtmagic * Math.cos(radlat)* PI)
mglat = LAT + DLAT
mglng = + dlng LNGの
リターン[mglng、mglat]
DEF gcj02_to_wgs84( LNG、LAT):
"" "
GCJ02(火星座標系)ターンGPS84
:PARAM LNG:経度火星座標
:PARAM LAT:火星の緯度座標
:リターン:
" ""
out_of_china IF(LNG、LAT):
LNGを返しますLAT
DLAT = _transformlat(LNG - 105.0、LAT - 35.0)
dlng = _transformlng(LNG - 105.0、緯度- 35.0)
radlat =緯度/ 180.0 * PIの
マジック= math.sin(radlat)
マジック= 1 - EE *マジック*魔法
sqrtmagic = math.sqrt(マジック)
DLAT =(DLAT * 180.0 )/((*(1 - EE))/(マジック* sqrtmagic)* PI)
dlng =(dlng * 180.0)/(A / sqrtmagic * math.cos(radlat)* PI)
mglat = LAT + DLAT
mglng = LNG + dlng
リターン[LNG * 2 - mglng、LAT * 2 - mglat]
DEF bd09_to_wgs84(bd_lon、bd_lat):
経度、緯度= bd09_to_gcj02(bd_lon、bd_lat)
リターンgcj02_to_wgs84(経度、緯度)
DEF wgs84_to_bd09(経度、緯度)。
経度、緯度= wgs84_to_gcj02(経度、緯度)
リターンgcj02_to_bd09(経度、緯度)
DEF _transformlat(LNG、LAT):
RET = -100.0 + 2.0 + 3.0 * U * + 0.2 * LAT、LAT、LAT + * \
0.1 * U *はLAT + 0.2 * Math.sqrt(math.fabs(LNG))
RET + = (iはPIを* 20.0 * Math.sin(6.0)+ 20.0 *
Math.sin(2.0 * i *がPI))* 2.0 / 3.0
RET + =(20.0 * Math.sin(LAT * PI)+ 40.0 *
数学。 SIN(LAT / 3.0 * PI))* 2.0 / 3.0
RET + =(160.0 * Math.sin(緯度/ 12.0 * PI)+ 320 *
Math.sin(LAT * PI / 30.0))* 2.0 / 3.0
リターンRETの
DEF _transformlng(LNG、LAT):
RET = 300.0 + U + 2.0 + 0.1 * LAT * LNG * LNG + \
0.1 * U *はLAT + 0.1 * Math.sqrt(math.fabs(LNG))
RET + =(20.0 *数学.Who(6.0 *私はパイ*)+ 20.0 *
math.sin(2.0 *のLNG *をPI))* 2.0 / 3.0
RET + =(20.0 * math.sin(LNGの*をPI)+ 40.0 *
math.sin(LNG / 3.0 * PI))* 2.0 / 3.0
RET + = (150.0 * math.sin(LNG / 12.0 * PI)+ 300.0 *
math.sin(LNG / 30.0 * PI))* 2.0 / 3.0
リターンRETの
DEF
out_of_china(LNG、LAT):""」
判断是否在国内、不在国内不做偏移
:のparam LNG:
:PARAM緯度:
:リターン
:""」
戻らない(LNG> 73.66とLNG <135.05と> 3.86とLAT <53.55緯度)
の場合__name__ == '__main__':
LNG = 128.543
緯度= 37.065
結果1 = gcj02_to_bd09(LNG、LAT)
結果2 = bd09_to_gcj02(LNG、年)
result3 = wgs84_to_gcj02(LNG、LAT)
result4 = gcj02_to_wgs84(LNG、LAT)
result5 = bd09_to_wgs84(LNG、LAT)
result6 = wgs84_to_bd09(LNG、LAT)
プリント(結果1、結果2、result3、result4、result5、result6)
`` `
導入および共通(符号付き)座標変換
おすすめ
転載: www.cnblogs.com/liujiao/p/11442845.html
おすすめ
ランキング