python地图 两点距离_没学过还真不会!怎样才能画出准确的地图?
▼
-文字稿-
怎樣畫(huà)一張地圖?
用紙筆勾勒出道路大概的方向、周圍建筑物的輪廓,寫(xiě)上路名。這樣就得到了一張簡(jiǎn)單的地圖,但是你照著它可能連自己家都找不到。
因?yàn)槟愕牡貓D不能準(zhǔn)確地描述道路的長(zhǎng)度、方位等信息。
要想得到更準(zhǔn)確的地圖,必須要先實(shí)地測(cè)量,以這條路線為例,你首先要知道它每條邊的長(zhǎng)度,和它每個(gè)夾角的角度。
最簡(jiǎn)單的方法是從路的交點(diǎn)開(kāi)始,向兩條路的終點(diǎn)用皮尺量取長(zhǎng)度,并用量角器記錄下兩條路夾角的角度。然后再利用比例尺換算,比如按 1: 100000 的比例尺,就可以用 10 厘米的線條表示 1 公里。
用這種方法,你可以將所有道路、建筑的輪廓展開(kāi)在紙上,得到一張城市地圖,但是它還不準(zhǔn)確。
因?yàn)榈乇聿皇瞧降?#xff0c;用皮尺量取的長(zhǎng)度必然比兩點(diǎn)間實(shí)際的水平距離長(zhǎng),而要想確定準(zhǔn)確的水平距離,你需要水準(zhǔn)尺和水準(zhǔn)儀。
先在待測(cè)的兩點(diǎn)架設(shè)標(biāo)有刻度的水準(zhǔn)尺,再將水準(zhǔn)儀盡量架設(shè)在兩點(diǎn)中心,保證前后都能看到水準(zhǔn)尺。
這時(shí),只要讀取兩側(cè)水準(zhǔn)尺中絲度數(shù),就能相減得出兩點(diǎn)的高度差;根據(jù)水準(zhǔn)儀的特有結(jié)構(gòu),只要利用上下絲的讀書(shū)差乘以放大系數(shù),就能得到水準(zhǔn)儀到水準(zhǔn)尺的距離,前后距離之和就是兩點(diǎn)的水平距離。
有了相對(duì)準(zhǔn)確的距離數(shù)據(jù)后,還需要更精確的角度數(shù)據(jù),這時(shí),你可以使用電子全站儀。
在兩點(diǎn)設(shè)置棱鏡,讓全站儀準(zhǔn)心照準(zhǔn)第一臺(tái)棱鏡,設(shè)為初始方向,即 0 度角,再照準(zhǔn)另一點(diǎn)的棱鏡,這樣全站儀轉(zhuǎn)動(dòng)的角度就是兩條線的夾角,數(shù)值會(huì)直接顯示在屏幕上。
通過(guò)這些手段,你可以只從一個(gè)初始點(diǎn)不斷向外拓展測(cè)完整個(gè)地圖。然而,測(cè)量的儀器和方法難免產(chǎn)生誤差,多次測(cè)量后就會(huì)逐步積累,最終可能導(dǎo)致數(shù)米的偏差。
所以為了減少誤差,在測(cè)量時(shí)最好要先確定多個(gè)足夠精度的參考點(diǎn),稱為控制點(diǎn),進(jìn)而搭出地圖的骨架,稱為控制網(wǎng)。
這是中國(guó)的國(guó)家平面大地控制網(wǎng),分為四等,其中的一等控制網(wǎng)大致沿經(jīng)緯線分布,網(wǎng)格間距約 200 公里。這些網(wǎng)格線實(shí)際上是一系列控制點(diǎn)構(gòu)成的三角形,稱為三角鎖。以一等三角鎖網(wǎng)為參考,就可以向內(nèi)填充二等連續(xù)網(wǎng)。
比如以一等網(wǎng)上的 A、B 點(diǎn)為基準(zhǔn)測(cè)量二等網(wǎng)中的 C、D、F 等未知點(diǎn)的坐標(biāo)。
我們已知點(diǎn) A 的坐標(biāo)(xA,yA),通過(guò)觀測(cè)得到點(diǎn) A 到 點(diǎn) B 的邊長(zhǎng) SAB 和 各邊的坐標(biāo)方位角,就可以通過(guò)正弦定理快速推算出 A I 的邊長(zhǎng)和 I 點(diǎn)的坐標(biāo)。
只要有了三角網(wǎng)中的一個(gè)起算點(diǎn)坐標(biāo)和起算邊長(zhǎng)和方位角,就能依次獲得整個(gè)角中的坐標(biāo)。以這種方式或其他類似方法建立控制網(wǎng)的過(guò)程稱為控制測(cè)量。
中國(guó)的國(guó)家平面控制網(wǎng)包含 154348 個(gè)控制點(diǎn)。你可以在相應(yīng)的位置找到這些被預(yù)先埋設(shè)好的控制點(diǎn),以此建立更詳細(xì)的控制網(wǎng)。依靠控制網(wǎng)進(jìn)一步測(cè)量更細(xì)節(jié)的地表各點(diǎn)坐標(biāo),稱為碎部測(cè)量。
比如要表現(xiàn)一棟樓房的輪廓,你可以從附近的控制點(diǎn)分別測(cè)量它每個(gè)轉(zhuǎn)角點(diǎn)的坐標(biāo),依次連成圖形即可。
不過(guò),單靠控制點(diǎn)還不夠。要想減少誤差,在測(cè)量時(shí)還需多次觀測(cè),并通過(guò)數(shù)學(xué)手段得到最接近真實(shí)情況的數(shù)值。
比如我們對(duì)某段距離在同精度下觀測(cè) n 次,獲得了 n 個(gè)不同的觀測(cè)值 L1 ~ Ln 。而我們要求取的最接近真實(shí)情況的數(shù)值叫 “最或是值”,設(shè)為 x ,如何算出這個(gè) x 呢?答案是最小二乘法。
首先,各個(gè)觀測(cè)值與最或是值必然有差,稱為改正數(shù) v1 ~ vn。當(dāng)這些改正數(shù)的平方和最小時(shí),就能得到最或是值。
我們只要對(duì) x 求一階導(dǎo)數(shù),并令其為零。
在這個(gè)情況下,這段距離的最或是值就是各個(gè)觀測(cè)值的平均數(shù)。但在其他計(jì)算角度或坐標(biāo)等情況下,通過(guò)最小二乘法可能會(huì)得到更復(fù)雜的函數(shù)。
現(xiàn)在,利用控制網(wǎng)和最小二乘法,你已經(jīng)獲得了無(wú)數(shù)坐標(biāo)點(diǎn),但這還沒(méi)完。
因?yàn)榈厍蚴菣E球體,表面也是個(gè)曲面,而我們?nèi)粘I钪械牡貓D通常是二維平面,在畫(huà)地圖時(shí),還得把用經(jīng)緯度表示的曲面地理坐標(biāo)被轉(zhuǎn)化成以距離為單位的平面直角坐標(biāo)。
這種將地球表面坐標(biāo)轉(zhuǎn)移到平面坐標(biāo)的方法,叫地圖投影。
以墨卡托投影為例,它假想了一個(gè)與地軸方向一致的圓柱切于地球,按等角條件,將地球上的每個(gè)點(diǎn)和經(jīng)緯網(wǎng)投影到圓柱面上,展開(kāi)后就得到了一幅世界地圖。
今天,我們?nèi)粘I钪锌吹降慕^大部分世界地圖都是墨卡托投影畫(huà)出來(lái)的,它可以很好地體現(xiàn)上北下南,左西右東的方向感,但隨著緯度變高卻會(huì)產(chǎn)生越來(lái)越嚴(yán)重的畸變。
尤其是北半球的大部分國(guó)家,包括中國(guó),看起來(lái)都比它們真實(shí)的比例要大個(gè)兩三號(hào)。
總結(jié)
以上是生活随笔為你收集整理的python地图 两点距离_没学过还真不会!怎样才能画出准确的地图?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: usb扩展坞同时接键盘鼠标_轻薄本的办公
- 下一篇: python大于小于1023python