向上的像素總和,mapSizeY為Y方 向上的像素總和,Iat為煒度,Ing為經(jīng)度。
[0056]對于待標記地圖,如果待標記地圖是未知切片方案地圖,則先確定一種已知的投 影方式,獲取該待標記地圖在已知投影方式下的地圖,通過待標記地圖上的樣本點與已知 投影方式下的地圖對應點的關(guān)系擬合出待標記地圖上的坐標像素轉(zhuǎn)換關(guān)系,根據(jù)擬合出的 坐標像素轉(zhuǎn)換關(guān)系對待標記地圖進行經(jīng)煒度坐標與像素坐標之間的轉(zhuǎn)換處理。
[0057] 本實施例中假定已知的投影方式為WebMercator投影,獲取待標記地圖在 WebMercator投影方式下的地圖,由于WebMercator坐標系與經(jīng)煒度坐標系之間的換算是現(xiàn) 有技術(shù)中已知的公式,所以可以通過WebMercator坐標系與像素坐標系之間的關(guān)系間接推 算出經(jīng)煒度坐標系與像素坐標系之間的關(guān)系。其中,經(jīng)煒度坐標系與WebMercator坐標系的 換算如下:
[0058] 經(jīng)煒度至WebMercator坐標系:
[0062] WebMercator坐標系至經(jīng)煒度坐標系:
[0066] 其中Ing和Iat為經(jīng)煒度坐標,ym為中間計算結(jié)果值,X,y為WebMercator坐標系的 坐標。
[0067] 在實際的應用過程中,由于地圖投影計算的復雜性及各地圖廠商算法的差異,通 過對誤差的分布情況進行分析發(fā)現(xiàn),這種誤差可以通過回歸方程應用最小二乘法進行擬 合,通過該種方式計算出地圖的像素坐標和經(jīng)煒度坐標的轉(zhuǎn)換關(guān)系。具體的,對于一塊地圖 區(qū)域,比如某一個市,放大到最大層級,一般是18級(百度是19級),在該區(qū)域上大致間隔均 勾地選取20至30個點,記錄下這些點的平面像素坐標,之后在WebMercator地圖上找到這些 點對應的正確的經(jīng)煒度坐標,將樣本點的像素坐標和經(jīng)煒度坐標帶入公式(1)~公式(4), 求得其中的系數(shù),從而得到待標記地圖上的坐標像素轉(zhuǎn)換關(guān)系。
[0068] 通過擬合得到如下形式的轉(zhuǎn)換公式:
[0069] 公式(I) :pixelx = a*lat2+b*lat*lng+c*lng2+d*lat*lng+e*lng+f;
[0070] 公式(2) :pixely = a*lat2+b*lat*lng+c*lng2+d*lat*lng+e*lng+f;
[0071 ]公式(3): lat = a*x2+b*x*y+c*y2+d*x*y+e*y+f;
[0072] 公式(4): lng = a*x2+b*x*y+c*y2+d*x*y+e*y+f
[0073] 公式(1)和公式(2)中,Iat和Ing代表WebMercator地圖的經(jīng)煒度,pixelx和pixely 代表未知地圖的像素坐標X和Y。
[0074] 公式(3)和公式(4)中,x,y代表未知地圖的像素坐標X和Y,Iat和Ing代表 WebMercator地圖的經(jīng)煒度。
[0075] 利用上述四個公式和之前選取的坐標點,用WebMercator地圖的經(jīng)煒度Iat和Ing 去擬合未知地圖的像素坐標X和y,以及用未知地圖的像素坐標X和y去擬合WebMercator地 圖的經(jīng)煒度Iat和lng。最終得到待標記地圖上的坐標像素轉(zhuǎn)換關(guān)系的四個二元二次方程。
[0076] 以百度地圖為例,應用上文中的方法可以建立如下的方程:
[0077] pixely = 7 · 35352340086685E-12*x2+9 · 39729146931851E-12*x*y
[0078] +8·12647141921724E-1Q*y2+l·98403678528303*y
[0079] -0·000212332608690639*x+3915·53854399894
[0080] pixelx = 2 · 26599796724512E-12*x2+3 · 5001926984551E-12*x*y
[0081] +7.10391945293842E-12*y2-0.0000551338363883895
[0082] *y+l·99995201582597*x+546·960811821871
[0083] χ = -2 · 73297968370015E-13*pixelx2-4 · 3688646200802E-13*pixelx
[0084] *pixely-9·82000305954539E-14*pixely 2
[0085] +0·0000139020525825477*pixely+0·500011499020342
[0086] *pixelx-267.697879080613
[0087] y = -9 · 0298913442894E-13*pixelx2-l · 19856067495038E-12
[0088] *pixelx*pixely-l·03052329152388E-1Q*pixely 2
[0089] +0.504016205195998*pixely+0.0000524246363084467
[0090] *pixelx-1943.29405470358
[0091 ] 其中x,y為Mercator投影坐標,pixelx,pixely為百度地圖19級像素坐標,即完成 了地圖的解算。這樣,在百度地圖上任取一個經(jīng)煒度點,都可以得出這個點所對應的像素坐 標。
[0092]步驟S2、根據(jù)標記點的像素坐標以及給定的聚合距離,將標記點聚合為第一聚合 類。
[0093]給定聚合距離,該距離可自定義設(shè)置,單位為像素,一般定為50~200像素,若兩個 標記點間的距離在此區(qū)間范圍內(nèi)則進行聚合,遍歷地圖上的標記點,每個標記點對應一個 經(jīng)煒度坐標,將這些標記點放入一個列表中;
[0094] 確定這些標記點是在哪個地圖上顯示以及對應的地圖層級,根據(jù)此地圖類型,利 用上述坐標像素轉(zhuǎn)換算法,計算出每個點經(jīng)煒度坐標所對應的平面像素坐標,轉(zhuǎn)換完成后, 在該層級下,每個點都對應一個像素坐標;
[0095]遍歷所有的標記點,每個標記點的像素坐標(X,Y)同除以聚合距離的值,只取整數(shù) 部分,會得到一個新的坐標(X',Υ'),將新的坐標相同坐標值的標記點歸為一個第一聚合 類。
[0096] 本步驟相當于在地圖上畫一張網(wǎng)格,其中每個小網(wǎng)格為正方形,邊長值為聚合距 離,網(wǎng)格對地圖上的標記點進行分塊,地圖上的每個標記點都會落入對應的網(wǎng)格中,每個網(wǎng) 格中的標記點合并成一個第一聚合類。若某一網(wǎng)格中只有一個標記點,則該標記點也形成 一個第一聚合類。
[0097] 遍歷完點標記后,會得到一系列的第一聚合類,此時遍歷第一聚合類,目標是計算 每個第一聚合類的中心坐標。第一聚合類的中心像素坐標為第一聚合類中所有標記點像素 坐標的均值,第一聚合類的索引(標識)由像素坐標X'和Υ'組成,為該第一聚合類中標記點 Χ,γ像素坐標分別除以聚合距離取模,可以假定索引為Χ':γ'的格式。
[0098] 如圖4所示,當前地圖層級為8,標記點為地圖上的監(jiān)控攝像機,每一個監(jiān)控攝像機 的經(jīng)煒度會對應一個像素點。假設(shè)聚合距離為256像素,即網(wǎng)格的規(guī)格為256 X 256像素,各 個監(jiān)控攝像機都會落入對應的網(wǎng)格當中形成一個第一聚合類,第一聚合類為一個監(jiān)控攝像 機列表。圖中"!11^ :{乂 = 211,¥=106}"表示該網(wǎng)格的索引4,¥向右或向下移動一格分別加 1。對應的,"px:{x = 54016,y = 27136}"表示該網(wǎng)格左上角像素坐標為(54016,27136),該網(wǎng) 格內(nèi)監(jiān)控攝像機的像素坐標位于(54016,27136)~(54016+256,27136+256)之間。在圖中, 監(jiān)控攝像機camera64所在的第一聚合類索引為"210:105",camera 11、camera31和camera39 形成一個第一聚合類,該第一聚合類索引為211:106。
[0099]步驟S3、根據(jù)第一聚合類之間的距離以及給定的聚合距離,對第一聚合類再次進 行聚合,得到第二聚合類,并將第二聚合類標示在待標記地圖上。
[0100]經(jīng)過步驟S2后,形成了類似于字典的第一聚合類列表,第一聚合類的索引取決于 標記點像素坐標和聚合距離,第一聚合類的值為對應的標記點列表。此時,如果靠著某一網(wǎng) 格線的兩邊聚集了很多標記點,這兩個網(wǎng)格聚合形成的第一聚合類會挨得很近。因此需要 進行二次聚合,一方面使聚合類的間隔分布更合理,另一方面使聚合類代表的位置更精確。 [0101 ]具體地,根據(jù)第一聚合類的索引遍歷所有第一聚合類,每遍歷到一個第一聚合類, 檢查該第一聚合類鄰近的八個方向是否有第一聚合類進行二次聚合,即左、左上、上、右上、 右、右下、下、左下共8個方向。判斷依據(jù)為兩個第一聚合類的中心像素坐標,根據(jù)第一聚合 類的中心像素坐標計算出兩個中心點的距離值,單位為像素。假設(shè)兩個第一聚合類的中心 坐標分別為(a,b)和(c,d),則兩點間距為