Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
之前相關(guān)的博文中介紹了如果在Web網(wǎng)頁(yè)端展示CAD圖形(唯杰地圖云端圖紙管理平臺(tái) https://vjmap.com/app/cloud),當(dāng)一些CAD圖紙有實(shí)際地理坐標(biāo)位置時(shí),如地形圖等,有時(shí)候需要和互聯(lián)網(wǎng)地圖疊加進(jìn)行顯示。其主要需求有:
(一)WGS84坐標(biāo)系
WGS-84坐標(biāo)系(World Geodetic System一1984 Coordinate System)
一種國(guó)際上采用的地心坐標(biāo)系。坐標(biāo)原點(diǎn)為地球質(zhì)心,其地心空間直角坐標(biāo)系的Z軸指向BIH (國(guó)際時(shí)間服務(wù)機(jī)構(gòu))1984.O定義的協(xié)議地球極(CTP)方向,X軸指向BIH 1984.0的零子午面和CTP赤道的交點(diǎn),Y軸與Z軸、X軸垂直構(gòu)成右手坐標(biāo)系,稱(chēng)為1984年世界大地坐標(biāo)系統(tǒng)。
屬于wgs84坐標(biāo)系的圖有如天地圖等。
(二)WGS84 Web墨卡托
Web墨卡托是2005年谷歌在谷歌地圖中首次使用的,當(dāng)時(shí)或更早的Web墨卡托使用者還是稱(chēng)其為世界墨卡托 World Mercator – Spherical Mercator (unofficial deprecated ESRI),代號(hào) WKID 54004 (在 EPSG:54004 或 ESRI:54004 中,非官方)。
EPSG于2009年2月9號(hào)使用新代號(hào) EPSG:3857 ,給谷歌地圖投影方法命名為“公共可視化偽墨卡托投影”(PVPM)
(三)GCJ02經(jīng)緯度投影
GCJ-02是由中國(guó)國(guó)家測(cè)繪局(G表示Guojia國(guó)家,C表示Cehui測(cè)繪,J表示Ju局)制訂的地理信息系統(tǒng)的坐標(biāo)系統(tǒng)。
它其實(shí)就是對(duì)真實(shí)坐標(biāo)系統(tǒng)進(jìn)行人為的加偏處理,按照特殊的算法,將真實(shí)的坐標(biāo)加密成虛假的坐標(biāo),而這個(gè)加偏并不是線性的加偏,所以各地的偏移情況都會(huì)有所不同。而加密后的坐標(biāo)也常被大家稱(chēng)為“火星坐標(biāo)系統(tǒng)”。
該坐標(biāo)系的坐標(biāo)值為經(jīng)緯度格式,單位為度。
這里的GCJ02經(jīng)緯度投影,也就是在WGS84經(jīng)緯度的基礎(chǔ)之上,進(jìn)行GCJ-02加偏。
如高德地圖,就采用的是GCJ02坐標(biāo)系,也就是俗稱(chēng)的火星坐標(biāo)系。
(四)GCJ02 Web 墨卡托投影
GCJ-02是由中國(guó)國(guó)家測(cè)繪局(G表示Guojia國(guó)家,C表示Cehui測(cè)繪,J表示Ju局)制訂的地理信息系統(tǒng)的坐標(biāo)系統(tǒng)。
它其實(shí)就是對(duì)真實(shí)坐標(biāo)系統(tǒng)進(jìn)行人為的加偏處理,按照特殊的算法,將真實(shí)的坐標(biāo)加密成虛假的坐標(biāo),而這個(gè)加偏并不是線性的加偏,所以各地的偏移情況都會(huì)有所不同。而加密后的坐標(biāo)也常被大家稱(chēng)為“火星坐標(biāo)系統(tǒng)”。
該坐標(biāo)系的坐標(biāo)值為Web墨卡托格式,單位為米。
這里的GCJ02 Web 墨卡托,也就是在標(biāo)準(zhǔn)Web墨卡托的基礎(chǔ)之上,進(jìn)行GCJ-02加偏。
(五)BD09 經(jīng)緯度投影
BD09經(jīng)緯度投影屬于百度坐標(biāo)系,它是在標(biāo)準(zhǔn)經(jīng)緯度的基礎(chǔ)上進(jìn)行GCJ-02加偏之后,再加上百度自身的加偏算法,也就是在標(biāo)準(zhǔn)經(jīng)緯度的基礎(chǔ)之上進(jìn)行了兩次加偏。
該坐標(biāo)系的坐標(biāo)值為經(jīng)緯度格式,單位為度。
(六)BD09 Web 墨卡托影
BD09 Web 墨卡托屬于百度坐標(biāo)系,它是在標(biāo)準(zhǔn)Web墨卡托的基礎(chǔ)上進(jìn)行GCJ-02加偏之后,再加上百度自身的加偏算法,也就是在Web墨卡托的基礎(chǔ)之上進(jìn)行了兩次加偏。
該坐標(biāo)系的坐標(biāo)值為Web墨卡托格式,單位為米。
(七)北京54坐標(biāo)系
中國(guó)成立以后,我國(guó)大地測(cè)量進(jìn)入了全面發(fā)展時(shí)期,在全國(guó)范圍內(nèi)開(kāi)展了正規(guī)的,全面的大地測(cè)量和測(cè)圖工作,迫切需要建立一個(gè)參心大地坐標(biāo)系。由于當(dāng)時(shí)的”一邊倒”政治趨向,故我國(guó)采用了前蘇聯(lián)的克拉索夫斯基橢球參數(shù),并與前蘇聯(lián)1942年坐標(biāo)系進(jìn)行聯(lián)測(cè),通過(guò)計(jì)算建立了我國(guó)大地坐標(biāo)系,定名為1954年北京坐標(biāo)系。因此,1954年北京坐標(biāo)系可以認(rèn)為是前蘇聯(lián)1942年坐標(biāo)系的延伸。T.A的原點(diǎn)不在北京而是在前蘇聯(lián)的普爾科沃。
自北京54坐標(biāo)系統(tǒng)建立以來(lái),在該坐標(biāo)系內(nèi)進(jìn)行了許多地區(qū)的局部平差,其成果得到了廣泛的應(yīng)用。但是隨著測(cè)繪新理論·新技術(shù)的不斷發(fā)展,人們發(fā)現(xiàn)該坐標(biāo)系存在很多缺點(diǎn),為此,我國(guó)在1978年在西安召開(kāi)了”全國(guó)天文大地網(wǎng)整體平差會(huì)議”,提出了建立屬于我國(guó)自己的大地坐標(biāo)系,即后來(lái)的1980西安坐標(biāo)系。
(八)西安80坐標(biāo)系
1978年4月在西安召開(kāi)全國(guó)天文大地網(wǎng)平差會(huì)議,確定重新定位,建立我國(guó)新的坐標(biāo)系。為此有了1980年國(guó)家大地坐標(biāo)系。1980年國(guó)家大地坐標(biāo)系采用地球橢球基本參數(shù)為1975年國(guó)際大地測(cè)量與地球物理聯(lián)合會(huì)第十六屆大會(huì)推薦的數(shù)據(jù),即IAG 75地球橢球體。該坐標(biāo)系的大地原點(diǎn)設(shè)在我國(guó)中部的陜西省涇陽(yáng)縣永樂(lè)鎮(zhèn),位于西安市西北方向約60公里。
(九)CGCS2000坐標(biāo)系
2000中國(guó)大地坐標(biāo)系(China Geodetic Coordinate System 2000,CGCS2000),又稱(chēng)之為2000國(guó)家大地坐標(biāo)系,是中國(guó)新一代大地坐標(biāo)系,21世紀(jì)初已在中國(guó)正式實(shí)施。
一般投影坐標(biāo)系X為8位,Y為7位。但有些圖中X只有6位,這是因?yàn)槭∪チ饲?位的帶系的原因。具體原因可查看此博客文章。https://blog.csdn.net/thinkpang/article/details/124172626
EPSG(The European Petroleum Survey Group, http://www.epsg.org/ )維護(hù)著空間參照對(duì)象的數(shù)據(jù)集,OGC標(biāo)準(zhǔn)中空間參照系統(tǒng)的SRID(Spatial Reference System Identifier)與EPSG的空間參照系統(tǒng)ID相一致。
EPSG成立于1986年,并已于2005年“重組”為國(guó)際石油和天然氣生產(chǎn)商協(xié)會(huì)(The OGP Surveying and Positioning Committee),維護(hù)并發(fā)布坐標(biāo)參照系統(tǒng)的數(shù)據(jù)集參數(shù),以及坐標(biāo)轉(zhuǎn)換描述。該數(shù)據(jù)集被廣泛接受并使用,通過(guò)一個(gè)Web發(fā)布平臺(tái)進(jìn)行分發(fā),同時(shí)提供了微軟Acess數(shù)據(jù)庫(kù)的存儲(chǔ)文件,通過(guò)SQL 腳本文件,mySQL, Oracle 和PostgreSQL等數(shù)據(jù)庫(kù)也可使用。
該組織發(fā)布了一個(gè)坐標(biāo)參照系統(tǒng)的數(shù)據(jù)集,并維護(hù)坐標(biāo)參照系統(tǒng)的數(shù)據(jù)集參數(shù),以及坐標(biāo)轉(zhuǎn)換描述,數(shù)據(jù)集對(duì)全球收錄到的坐標(biāo)參照系統(tǒng)進(jìn)行了編碼。
EPSG查詢(xún)網(wǎng)站: https://epsg.io/
常用EPSG坐標(biāo)系對(duì)照表:
是一個(gè)機(jī)構(gòu),它為常用坐標(biāo)系做了編號(hào),有了編號(hào)編程時(shí)候直接使用編號(hào)即可定義坐標(biāo)系,常用坐標(biāo)系及其EPSG編號(hào)有:
地理坐標(biāo)系,坐標(biāo)單位為經(jīng)緯度。它是以地球質(zhì)心為橢球中心的世界地理坐標(biāo)系,GPS用的坐標(biāo)系就是這個(gè)。
地理坐標(biāo)系,坐標(biāo)單位為經(jīng)緯度。名字叫做CGCS2000坐標(biāo)系,它是最適合中國(guó)地理位置的地理坐標(biāo)系。
投影坐標(biāo)系,坐標(biāo)單位為x,y。偽墨卡托投影,也被稱(chēng)為球體墨卡托,Web Mercator。它是基于墨卡托投影的。
圖內(nèi)常見(jiàn)的EPSG代碼如下:
投影坐標(biāo) Projected Coordinate System
(根據(jù)國(guó)家規(guī)定,推薦使用CGCS2000的投影坐標(biāo)系)
1、Xian_1980 6度分
EPSG代號(hào)
2327 Xian_1980_GK_Zone_13
2328 Xian_1980_GK_Zone_14
2329 Xian_1980_GK_Zone_15
2330 Xian_1980_GK_Zone_16
2331 Xian_1980_GK_Zone_17
2332 Xian_1980_GK_Zone_18
2333 Xian_1980_GK_Zone_19
2334 Xian_1980_GK_Zone_20
2335 Xian_1980_GK_Zone_21
2336 Xian_1980_GK_Zone_22
2337 Xian_1980_GK_Zone_23
2338 Xian_1980_GK_CM_75E
2339 Xian_1980_GK_CM_81E
2340 Xian_1980_GK_CM_87E
2341 Xian_1980_GK_CM_93E
2342 Xian_1980_GK_CM_99E
2343 Xian_1980_GK_CM_105E
2344 Xian_1980_GK_CM_111E
2345 Xian_1980_GK_CM_117E
2346 Xian_1980_GK_CM_123E
2347 Xian_1980_GK_CM_129E
2348 Xian_1980_GK_CM_135E
2、Xian_1980 3度分
2349 Xian_1980_3_Degree_GK_Zone_25
2350 Xian_1980_3_Degree_GK_Zone_26
2351 Xian_1980_3_Degree_GK_Zone_27
2352 Xian_1980_3_Degree_GK_Zone_28
2353 Xian_1980_3_Degree_GK_Zone_29
2354 Xian_1980_3_Degree_GK_Zone_30
2355 Xian_1980_3_Degree_GK_Zone_31
2356 Xian_1980_3_Degree_GK_Zone_32
2357 Xian_1980_3_Degree_GK_Zone_33
2358 Xian_1980_3_Degree_GK_Zone_34
2359 Xian_1980_3_Degree_GK_Zone_35
2360 Xian_1980_3_Degree_GK_Zone_36
2361 Xian_1980_3_Degree_GK_Zone_37
2362 Xian_1980_3_Degree_GK_Zone_38
2363 Xian_1980_3_Degree_GK_Zone_39
2364 Xian_1980_3_Degree_GK_Zone_40
2365 Xian_1980_3_Degree_GK_Zone_41
2366 Xian_1980_3_Degree_GK_Zone_42
2367 Xian_1980_3_Degree_GK_Zone_43
2368 Xian_1980_3_Degree_GK_Zone_44
2369 Xian_1980_3_Degree_GK_Zone_45
2370 Xian_1980_3_Degree_GK_CM_75E
2371 Xian_1980_3_Degree_GK_CM_78E
2372 Xian_1980_3_Degree_GK_CM_81E
2373 Xian_1980_3_Degree_GK_CM_84E
2374 Xian_1980_3_Degree_GK_CM_87E
2375 Xian_1980_3_Degree_GK_CM_90E
2376 Xian_1980_3_Degree_GK_CM_93E
2377 Xian_1980_3_Degree_GK_CM_96E
2378 Xian_1980_3_Degree_GK_CM_99E
2379 Xian_1980_3_Degree_GK_CM_102E
2380 Xian_1980_3_Degree_GK_CM_105E
2381 Xian_1980_3_Degree_GK_CM_108E
2382 Xian_1980_3_Degree_GK_CM_111E
2383 Xian_1980_3_Degree_GK_CM_114E
2384 Xian_1980_3_Degree_GK_CM_117E
2385 Xian_1980_3_Degree_GK_CM_120E
2386 Xian_1980_3_Degree_GK_CM_123E
2387 Xian_1980_3_Degree_GK_CM_126E
2388 Xian_1980_3_Degree_GK_CM_129E
2389 Xian_1980_3_Degree_GK_CM_132E
2390 Xian_1980_3_Degree_GK_CM_135E
3、Beijing_1954 3度分
2401 Beijing_1954_3_Degree_GK_Zone_25
2402 Beijing_1954_3_Degree_GK_Zone_26
2403 Beijing_1954_3_Degree_GK_Zone_27
2404 Beijing_1954_3_Degree_GK_Zone_28
2405 Beijing_1954_3_Degree_GK_Zone_29
2406 Beijing_1954_3_Degree_GK_Zone_30
2407 Beijing_1954_3_Degree_GK_Zone_31
2408 Beijing_1954_3_Degree_GK_Zone_32
2409 Beijing_1954_3_Degree_GK_Zone_33
2410 Beijing_1954_3_Degree_GK_Zone_34
2411 Beijing_1954_3_Degree_GK_Zone_35
2412 Beijing_1954_3_Degree_GK_Zone_36
2413 Beijing_1954_3_Degree_GK_Zone_37
2414 Beijing_1954_3_Degree_GK_Zone_38
2415 Beijing_1954_3_Degree_GK_Zone_39
2416 Beijing_1954_3_Degree_GK_Zone_40
2417 Beijing_1954_3_Degree_GK_Zone_41
2418 Beijing_1954_3_Degree_GK_Zone_42
2419 Beijing_1954_3_Degree_GK_Zone_43
2420 Beijing_1954_3_Degree_GK_Zone_44
2421 Beijing_1954_3_Degree_GK_Zone_45
2422 Beijing_1954_3_Degree_GK_CM_75E
2423 Beijing_1954_3_Degree_GK_CM_78E
2424 Beijing_1954_3_Degree_GK_CM_81E
2425 Beijing_1954_3_Degree_GK_CM_84E
2426 Beijing_1954_3_Degree_GK_CM_87E
2427 Beijing_1954_3_Degree_GK_CM_90E
2428 Beijing_1954_3_Degree_GK_CM_93E
2429 Beijing_1954_3_Degree_GK_CM_96E
2430 Beijing_1954_3_Degree_GK_CM_99E
2431 Beijing_1954_3_Degree_GK_CM_102E
2432 Beijing_1954_3_Degree_GK_CM_105E
2433 Beijing_1954_3_Degree_GK_CM_108E
2434 Beijing_1954_3_Degree_GK_CM_111E
2435 Beijing_1954_3_Degree_GK_CM_114E
2436 Beijing_1954_3_Degree_GK_CM_117E
2437 Beijing_1954_3_Degree_GK_CM_120E
2438 Beijing_1954_3_Degree_GK_CM_123E
2439 Beijing_1954_3_Degree_GK_CM_126E
2440 Beijing_1954_3_Degree_GK_CM_129E
2441 Beijing_1954_3_Degree_GK_CM_132E
2442 Beijing_1954_3_Degree_GK_CM_135E
4、Beijing_1954 6度分
21413 Beijing_1954_GK_Zone_13
21414 Beijing_1954_GK_Zone_14
21415 Beijing_1954_GK_Zone_15
21416 Beijing_1954_GK_Zone_16
21417 Beijing_1954_GK_Zone_17
21418 Beijing_1954_GK_Zone_18
21419 Beijing_1954_GK_Zone_19
21420 Beijing_1954_GK_Zone_20
21421 Beijing_1954_GK_Zone_21
21422 Beijing_1954_GK_Zone_22
21423 Beijing_1954_GK_Zone_23
21473 Beijing_1954_GK_Zone_13N
21474 Beijing_1954_GK_Zone_14N
21475 Beijing_1954_GK_Zone_15N
21476 Beijing_1954_GK_Zone_16N
21477 Beijing_1954_GK_Zone_17N
21478 Beijing_1954_GK_Zone_18N
21479 Beijing_1954_GK_Zone_19N
21480 Beijing_1954_GK_Zone_20N
21481 Beijing_1954_GK_Zone_21N
21482 Beijing_1954_GK_Zone_22N
21483 Beijing_1954_GK_Zone_23N
5、WGS_1984 墨卡托投影
3395 WGS_1984_World_Mercator
6、CGCS2000 6度分
4491 CGCS2000_GK_Zone_13
4492 CGCS2000_GK_Zone_14
4493 CGCS2000_GK_Zone_15
4494 CGCS2000_GK_Zone_16
4495 CGCS2000_GK_Zone_17
4496 CGCS2000_GK_Zone_18
4497 CGCS2000_GK_Zone_19
4498 CGCS2000_GK_Zone_20
4499 CGCS2000_GK_Zone_21
4500 CGCS2000_GK_Zone_22
4501 CGCS2000_GK_Zone_23
4502 CGCS2000_GK_CM_75E
4503 CGCS2000_GK_CM_81E
4504 CGCS2000_GK_CM_87E
4505 CGCS2000_GK_CM_93E
4506 CGCS2000_GK_CM_99E
4507 CGCS2000_GK_CM_105E
4508 CGCS2000_GK_CM_111E
4509 CGCS2000_GK_CM_117E
4510 CGCS2000_GK_CM_123E
4511 CGCS2000_GK_CM_129E
4512 CGCS2000_GK_CM_135E
7、CGCS2000 3度分
4513 CGCS2000_3_Degree_GK_Zone_25
4514 CGCS2000_3_Degree_GK_Zone_26
4515 CGCS2000_3_Degree_GK_Zone_27
4516 CGCS2000_3_Degree_GK_Zone_28
4517 CGCS2000_3_Degree_GK_Zone_29
4518 CGCS2000_3_Degree_GK_Zone_30
4519 CGCS2000_3_Degree_GK_Zone_31
4520 CGCS2000_3_Degree_GK_Zone_32
4521 CGCS2000_3_Degree_GK_Zone_33
4522 CGCS2000_3_Degree_GK_Zone_34
4523 CGCS2000_3_Degree_GK_Zone_35
4524 CGCS2000_3_Degree_GK_Zone_36
4525 CGCS2000_3_Degree_GK_Zone_37
4526 CGCS2000_3_Degree_GK_Zone_38
4527 CGCS2000_3_Degree_GK_Zone_39
4528 CGCS2000_3_Degree_GK_Zone_40
4529 CGCS2000_3_Degree_GK_Zone_41
4530 CGCS2000_3_Degree_GK_Zone_42
4531 CGCS2000_3_Degree_GK_Zone_43
4532 CGCS2000_3_Degree_GK_Zone_44
4533 CGCS2000_3_Degree_GK_Zone_45
4534 CGCS2000_3_Degree_GK_CM_75E
4535 CGCS2000_3_Degree_GK_CM_78E
4536 CGCS2000_3_Degree_GK_CM_81E
4537 CGCS2000_3_Degree_GK_CM_84E
4538 CGCS2000_3_Degree_GK_CM_87E
4539 CGCS2000_3_Degree_GK_CM_90E
4540 CGCS2000_3_Degree_GK_CM_93E
4541 CGCS2000_3_Degree_GK_CM_96E
4542 CGCS2000_3_Degree_GK_CM_99E
4543 CGCS2000_3_Degree_GK_CM_102E
4544 CGCS2000_3_Degree_GK_CM_105E
4545 CGCS2000_3_Degree_GK_CM_108E
4546 CGCS2000_3_Degree_GK_CM_111E
4547 CGCS2000_3_Degree_GK_CM_114E
4548 CGCS2000_3_Degree_GK_CM_117E
4549 CGCS2000_3_Degree_GK_CM_120E
4550 CGCS2000_3_Degree_GK_CM_123E
4551 CGCS2000_3_Degree_GK_CM_126E
4552 CGCS2000_3_Degree_GK_CM_129E
4553 CGCS2000_3_Degree_GK_CM_132E
4554 CGCS2000_3_Degree_GK_CM_135E
8、New_Beijing_Gauss 6度分
4568 New_Beijing_Gauss_Kruger_Zone_13
4569 New_Beijing_Gauss_Kruger_Zone_14
4570 New_Beijing_Gauss_Kruger_Zone_15
4571 New_Beijing_Gauss_Kruger_Zone_16
4572 New_Beijing_Gauss_Kruger_Zone_17
4573 New_Beijing_Gauss_Kruger_Zone_18
4574 New_Beijing_Gauss_Kruger_Zone_19
4575 New_Beijing_Gauss_Kruger_Zone_20
4576 New_Beijing_Gauss_Kruger_Zone_21
4577 New_Beijing_Gauss_Kruger_Zone_22
4578 New_Beijing_Gauss_Kruger_Zone_23
4579 New_Beijing_Gauss_Kruger_CM_75E
4580 New_Beijing_Gauss_Kruger_CM_81E
4581 New_Beijing_Gauss_Kruger_CM_87E
4582 New_Beijing_Gauss_Kruger_CM_93E
4583 New_Beijing_Gauss_Kruger_CM_99E
4584 New_Beijing_Gauss_Kruger_CM_105E
4585 New_Beijing_Gauss_Kruger_CM_111E
4586 New_Beijing_Gauss_Kruger_CM_117E
4587 New_Beijing_Gauss_Kruger_CM_123E
4588 New_Beijing_Gauss_Kruger_CM_129E
4589 New_Beijing_Gauss_Kruger_CM_135E
9、New_Beijing_Gauss 3度分
4652 New_Beijing_3_Degree_Gauss_Kruger_Zone_25
4653 New_Beijing_3_Degree_Gauss_Kruger_Zone_26
4654 New_Beijing_3_Degree_Gauss_Kruger_Zone_27
4655 New_Beijing_3_Degree_Gauss_Kruger_Zone_28
4656 New_Beijing_3_Degree_Gauss_Kruger_Zone_29
4766 New_Beijing_3_Degree_Gauss_Kruger_Zone_30
4767 New_Beijing_3_Degree_Gauss_Kruger_Zone_31
4768 New_Beijing_3_Degree_Gauss_Kruger_Zone_32
4769 New_Beijing_3_Degree_Gauss_Kruger_Zone_33
4770 New_Beijing_3_Degree_Gauss_Kruger_Zone_34
4771 New_Beijing_3_Degree_Gauss_Kruger_Zone_35
4772 New_Beijing_3_Degree_Gauss_Kruger_Zone_36
4773 New_Beijing_3_Degree_Gauss_Kruger_Zone_37
4774 New_Beijing_3_Degree_Gauss_Kruger_Zone_38
4775 New_Beijing_3_Degree_Gauss_Kruger_Zone_39
4776 New_Beijing_3_Degree_Gauss_Kruger_Zone_40
4777 New_Beijing_3_Degree_Gauss_Kruger_Zone_41
4778 New_Beijing_3_Degree_Gauss_Kruger_Zone_42
4779 New_Beijing_3_Degree_Gauss_Kruger_Zone_43
4780 New_Beijing_3_Degree_Gauss_Kruger_Zone_44
4781 New_Beijing_3_Degree_Gauss_Kruger_Zone_45
4782 New_Beijing_3_Degree_Gauss_Kruger_CM_75E
4783 New_Beijing_3_Degree_Gauss_Kruger_CM_78E
4784 New_Beijing_3_Degree_Gauss_Kruger_CM_81E
4785 New_Beijing_3_Degree_Gauss_Kruger_CM_84E
4786 New_Beijing_3_Degree_Gauss_Kruger_CM_87E
4787 New_Beijing_3_Degree_Gauss_Kruger_CM_90E
4788 New_Beijing_3_Degree_Gauss_Kruger_CM_93E
4789 New_Beijing_3_Degree_Gauss_Kruger_CM_96E
4790 New_Beijing_3_Degree_Gauss_Kruger_CM_99E
4791 New_Beijing_3_Degree_Gauss_Kruger_CM_102E
4792 New_Beijing_3_Degree_Gauss_Kruger_CM_105E
4793 New_Beijing_3_Degree_Gauss_Kruger_CM_108E
4794 New_Beijing_3_Degree_Gauss_Kruger_CM_111E
4795 New_Beijing_3_Degree_Gauss_Kruger_CM_114E
4796 New_Beijing_3_Degree_Gauss_Kruger_CM_117E
4797 New_Beijing_3_Degree_Gauss_Kruger_CM_120E
4798 New_Beijing_3_Degree_Gauss_Kruger_CM_123E
4799 New_Beijing_3_Degree_Gauss_Kruger_CM_126E
4800 New_Beijing_3_Degree_Gauss_Kruger_CM_129E
4822 New_Beijing_3_Degree_Gauss_Kruger_CM_135E
Github地址:https://github.com/wandergis/coordtransform
npm地址:https://www.npmjs.com/package/coordtransform
用法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>coordTransform</title>
</head>
<body>
<h1>請(qǐng)按F12打開(kāi)控制臺(tái)查看結(jié)果</h1>
<script src="index.js"></script>
<script>
//國(guó)測(cè)局坐標(biāo)(火星坐標(biāo),比如高德地圖在用),百度坐標(biāo),wgs84坐標(biāo)(谷歌國(guó)外以及絕大部分國(guó)外在線地圖使用的坐標(biāo))
//百度經(jīng)緯度坐標(biāo)轉(zhuǎn)國(guó)測(cè)局坐標(biāo)
var bd09togcj02=coordtransform.bd09togcj02(116.404, 39.915);
//國(guó)測(cè)局坐標(biāo)轉(zhuǎn)百度經(jīng)緯度坐標(biāo)
var gcj02tobd09=coordtransform.gcj02tobd09(116.404, 39.915);
//wgs84轉(zhuǎn)國(guó)測(cè)局坐標(biāo)
var wgs84togcj02=coordtransform.wgs84togcj02(116.404, 39.915);
//國(guó)測(cè)局坐標(biāo)轉(zhuǎn)wgs84坐標(biāo)
var gcj02towgs84=coordtransform.gcj02towgs84(116.404, 39.915);
console.log(bd09togcj02);
console.log(gcj02tobd09);
console.log(wgs84togcj02);
console.log(gcj02towgs84);
//result
//bd09togcj02: [ 116.39762729119315, 39.90865673957631 ]
//gcj02tobd09: [ 116.41036949371029, 39.92133699351021 ]
//wgs84togcj02: [ 116.41024449916938, 39.91640428150164 ]
//gcj02towgs84: [ 116.39775550083061, 39.91359571849836 ]
</script>
</body>
</html>
Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another. 大致翻譯過(guò)來(lái)就是Proj4js是一個(gè)JavaScript類(lèi)庫(kù),其主要功能就是將點(diǎn)坐標(biāo)從一個(gè)坐標(biāo)系轉(zhuǎn)換為另一個(gè)坐標(biāo)系。 前端添加Proj4js有三種方式: 從http://trac.osgeo.org/proj4js/wiki/Download下載,獲取產(chǎn)品包中dist/proj4.js文件。 引入CDN上的Proj4js:https://cdnjs.com/libraries/proj4js。 也可以直接使用npm install proj4進(jìn)行安裝。 使用:
首先,定義需要轉(zhuǎn)換的坐標(biāo)系
proj4.defs([["EPSG:4549","+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs"]])
調(diào)用proj4方法
proj4("EPSG:4326", "EPSG:4549", [lat, lng]);
轉(zhuǎn)換完成!
需要說(shuō)明的是:由于不同坐標(biāo)系可能橢球體不同,直接轉(zhuǎn)換會(huì)有一定誤差!!!
流程如下:
// 以X前兩位為39為例
// 北京54坐標(biāo)
vjmap.transform.getEpsgParam(vjmap.transform.EpsgCrsTypes.Beijing54, 39).epsg
// 西安80坐標(biāo)
vjmap.transform.getEpsgParam(vjmap.transform.EpsgCrsTypes.Xian80, 39).epsg
// 國(guó)家2000坐標(biāo)
vjmap.transform.getEpsgParam(vjmap.transform.EpsgCrsTypes.CGCS2000, 39).epsg
流程如下:
沒(méi)有坐標(biāo)系的圖,不能通過(guò)地理坐標(biāo)轉(zhuǎn)換,這時(shí)候就需要人為的選定公共對(duì)應(yīng)點(diǎn),然后通過(guò)四參數(shù)來(lái)計(jì)算平移、旋轉(zhuǎn)、縮放來(lái)疊加了。
四參數(shù)的原理的相關(guān)計(jì)算可參考這博文 https://blog.csdn.net/qq_42811161/article/details/107809777
在唯杰地圖vjmap中,可以使用以下代碼實(shí)現(xiàn)
// cad上面的點(diǎn)坐標(biāo)
let cadPoints=[
vjmap.geoPoint([39760.07407, 237424.52134]),
vjmap.geoPoint([39006.60468, 237808.49494749]),
vjmap.geoPoint([38823.92918, 235003.98994]),
vjmap.geoPoint([37885.55424, 235452.80893])
];
// 在百度圖上面拾取的與上面的點(diǎn)一一對(duì)應(yīng)的坐標(biāo)
let baiduPoints=[
vjmap.geoPoint([113.292983, 23.206979]),
vjmap.geoPoint([113.285631, 23.210304]),
vjmap.geoPoint([113.283897, 23.185047]),
vjmap.geoPoint([113.274716, 23.188962])
]
// 百度點(diǎn)坐標(biāo)轉(zhuǎn)wgs84坐標(biāo),如果不是百度圖上,或高德上面拾取的,坐標(biāo)類(lèi)型應(yīng)為 CRSTypes.GCJ02,天地圖上拾取的,則不需要轉(zhuǎn)換直接為wgs84坐標(biāo)
let wgs84Points=baiduPoints.map(e=> vjmap.geoPoint(vjmap.transform.convert([e.x, e.y],vjmap.transform.CRSTypes.BD09, vjmap.transform.CRSTypes.WGS84)));
// 通過(guò)坐標(biāo)參數(shù)求出四參數(shù)
let fourparam=vjmap.coordTransfromGetFourParamter(wgs84Points, cadPoints, true); // 這里不需要考慮旋轉(zhuǎn)
let wmsurl=svc.wmsTileUrl({
mapid: cadMapId,
version:"v1",
layers: style.stylename,
srs: "EPSG:3857", // 底圖是天地圖坐標(biāo)系
crs: "EPSG:4326", // 因?yàn)樗膮?shù)的輸入是wgs84,需要先要把3857轉(zhuǎn)4326
fourParameter: [fourparam.dx, fourparam.dy, fourparam.scale, fourparam.rotate] // 轉(zhuǎn)4326后,再調(diào)用四參數(shù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)cad坐標(biāo)
})
效果如下:https://vjmap.com/demo/#/demo/map/web/05fourparam
感興趣的朋友,趕緊打開(kāi) 唯杰地圖云端圖紙管理平臺(tái) https://vjmap.com/app/cloud) 上傳想要疊加的CAD圖在線體驗(yàn)吧!
圖1
圖2
圖2
圖3
圖4
圖5
圖6
「鏈接」
距重疊解決方案(BFC)
首先要明確BFC是什么意思,其全英文拼寫(xiě)為 Block Formatting Context 直譯為“塊級(jí)格式化上下文”
兩個(gè)或多個(gè)塊級(jí)盒子的垂直相鄰邊界會(huì)重合。結(jié)果的邊界寬度是相鄰邊界寬度中最大的值。如果出現(xiàn)負(fù)邊界,則在最大的正邊界中減去絕對(duì)值最大的負(fù)邊界。如果沒(méi)有正邊界,則從零中減去絕對(duì)值最大的負(fù)邊界。注意:相鄰的盒子可能并非是由父子關(guān)系或同胞關(guān)系的元素生成。
但是邊界的重疊也有例外情況:
1、水平邊距永遠(yuǎn)不會(huì)重合。
2、在規(guī)范文檔中,2個(gè)或以上的塊級(jí)盒模型相鄰的垂直margin會(huì)重疊。最終的margin值計(jì)算方法如下:
a、全部都為正值,取最大者;
b、不全是正值,則都取絕對(duì)值,然后用正值減去最大值;
c、沒(méi)有正值,則都取絕對(duì)值,然后用0減去最大值。
注意:相鄰的盒模型可能由DOM元素動(dòng)態(tài)產(chǎn)生并沒(méi)有相鄰或繼承關(guān)系。
3、相鄰的盒模型中,如果其中的一個(gè)是浮動(dòng)的(float),垂直margin不會(huì)重疊,并且浮動(dòng)的盒模型和它的子元素之間也是這樣。
4、設(shè)置了overflow屬性的元素和它的子元素之間的margin不被重疊(overflow取值為visible除外)。
5、設(shè)置了絕對(duì)定位(position:absolute)的盒模型,垂直margin不會(huì)被重疊,并且和他們的子元素之間也是一樣。
6、設(shè)置了display:inline-block的元素,垂直margin不會(huì)重疊,甚至和他們的子元素之間也是一樣。
7、如果一個(gè)盒模型的上下margin相鄰,這時(shí)它的margin可能重疊覆蓋(collapse through)它。在這種情況下,元素的位置(position)取決于它的相鄰元素的margin是否重疊。
a、如果元素的margin和它的父元素的margin-top重疊在一起,盒模型border-top的邊界定義和它的父元素相同。
b、另外,任意元素的父元素不參與margin的重疊,或者說(shuō)只有父元素的margin-bottom是參與計(jì)算的。如果元素的border-top非零,那么元素的border-top邊界位置和原來(lái)一樣。
一個(gè)應(yīng)用了清除操作的元素的margin-top絕不會(huì)和它的塊級(jí)父元素的margin-bottom重疊。
注意,那些已經(jīng)被重疊覆蓋的元素的位置對(duì)其他已經(jīng)重疊的元素的位置沒(méi)有任何影響;只有在對(duì)這些元素的子元素定位時(shí),border-top邊界位置才是必需的。
8、根元素的垂直margin不會(huì)被重疊。
外邊距(margin)重疊示例
外邊距重疊是指兩個(gè)垂直相鄰的塊級(jí)元素,當(dāng)上下兩個(gè)邊距相遇時(shí),起外邊距會(huì)產(chǎn)生重疊現(xiàn)象,且重疊后的外邊距,等于其中較大者。
圖示:
另一個(gè)重疊現(xiàn)象是當(dāng)一個(gè)元素包含在另一個(gè)元素之中時(shí),子元素與父元素之間也會(huì)產(chǎn)生重疊現(xiàn)象,重疊后的外邊距,等于其中最大者:
同理,如果一個(gè)無(wú)內(nèi)容的空元素,其自身上下邊距也會(huì)產(chǎn)生重疊。
外邊距重疊的意義
外邊距的重疊只產(chǎn)生在普通流文檔的上下外邊距之間,這個(gè)看起來(lái)有點(diǎn)奇怪的規(guī)則,其實(shí)有其現(xiàn)實(shí)意義。設(shè)想,當(dāng)我們上下排列一系列規(guī)則的塊級(jí)元素(如段落P)時(shí),那么塊元素之間因?yàn)橥膺吘嘀丿B的存在,段落之間就不會(huì)產(chǎn)生雙倍的距離。
案例:如下圖,父元素沒(méi)有設(shè)置margin-top,而子元素設(shè)置了margin-top:20px;可以看出,父元素也一起有了邊距。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin:0; padding:0; } .demo{ height:100px; background: #eee; } .parent{ height:200px; background: #88f; } .child{ height:100px; margin-top:20px; background: #0ff; width:200px; } </style> </head> <body> <section class="demo"> <h2>此部分是能更容易看出讓下面的塊的margin-top。</h2> </section> <section class="parent"> <article class="child"> <h2>子元素</h2> margin-top:20px; </article> <h2>父元素</h2> 沒(méi)有設(shè)置margin-top </section> </body> </html>
解決這個(gè)辦法:父元素設(shè)置padding-top:20px 或者設(shè)置 overflow:hidden,子元素取消margin-top:20px;
防止外邊距重疊解決方案:
雖然外邊距的重疊有其一定的意義,但有時(shí)候我們?cè)谠O(shè)計(jì)上卻不想讓元素之間產(chǎn)生重疊,那么可以有如下幾個(gè)建議可供參考:
以上建議可根據(jù)實(shí)際情況來(lái)采取。
web前端其實(shí)很簡(jiǎn)單!
如何學(xué)習(xí)呢?看下下面
領(lǐng)取方法:
關(guān)注“IT金勻” 然后私信回復(fù)“前端”即可
請(qǐng)記得給金勻先來(lái)個(gè)“評(píng)論+轉(zhuǎn)發(fā)”
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。