已知:
1.mapScale 比例尺蜓堕,圖上距離和實(shí)際距離的比 圖上1m=實(shí)際1*mapScale
所以浑塞,實(shí)際中1000m在地圖上所占的長(zhǎng)度mapl=1000/mapScale
問題1:那這mapl所占的像素應(yīng)該是多少呢?
解答:
已知條件:
1.dpi:每英寸的像素?cái)?shù) 1英寸=1*dpi個(gè)像素
2.1英寸=2.54厘米
若dpi設(shè)置為96,則:
圖上1英寸=96像素
圖上0.0254m=96像素
圖上1m=96/0.0254 像素
所以綜上
實(shí)際中1000m在指定mapScale下所占的像素?cái)?shù)為:
(1000/mapScale)*(96/0.0254)
最終問題:已知兩點(diǎn)坐標(biāo)棠枉,如何計(jì)算兩點(diǎn)之間的實(shí)際距離在指定mapScale以及指定dpi下晕粪,轉(zhuǎn)換成的像素?cái)?shù):
1.求出兩點(diǎn)之間的實(shí)際距離dis:
dis=ol.sphere.getDistance([ld[0],rt[1]],[rt[0],rt[1]]);
2.求像素?cái)?shù):
pixel=(dis/mapScale)*(dpi/0.0254)
以下代碼僅供參考: