聶小波,邱儒瓊,洪 亮,胡 挺
(1.湖北省基礎地理信息中心,湖北 武漢 430074)
基于ArcMap的圖幅接合表快速生成方法研究
聶小波1,邱儒瓊1,洪 亮1,胡 挺1
(1.湖北省基礎地理信息中心,湖北 武漢 430074)
以1∶10 000梯形圖幅接合表和1∶2 000矩形圖幅接合表為例,介紹了一種基于ArcMap 10.1中Create Fishnet(漁網)工具的圖幅接合表快速生成及相應圖幅號生成、標注的方法,該方法能大幅提高圖幅接合表生成的效率和正確性。
ArcMap;圖幅接合表;Fishnet;圖幅號
在地圖編制過程中,制圖區(qū)域按比例尺縮繪后,需要對地圖按統(tǒng)一的規(guī)則進行分幅和編號,方便地圖編制和管理。生成圖幅接合表時需要處理投影和精度問題[1],手工生成工作量大,在生產中一般采用軟件自動生成。利用ArcMap制圖時圖幅接合表的生成方法總的來說有兩種:①外部導入法,導入已有的或者其他軟件生成的圖幅接合表數據,該方法的缺點是可能導致數據精度降低,不滿足制圖精度要求。②ArcMap生成,ArcMap中沒有直接用于生成圖幅接合表的工具,需借助第三方工具軟件,該方法的缺點是工具軟件需要收費,且不同的工具軟件其生成的精度也不同。
本文采用ArcMap[2]中的漁網工具快速生成圖幅接合表,能夠很好地解決生成的圖幅接合表的精度問題。
漁網一般是由規(guī)則多邊形組成的網狀結構,ArcGIS中的“漁網”是指包含由矩形元素組成的要素類。其工作原理是指定漁網的空間范圍、漁網的行數和列數(或漁網單元格寬度)及旋轉的角度,然后創(chuàng)建包含由矩形像元所組成網絡的要素類——漁網[2]。
2.1 創(chuàng)建圖幅接合表
國家地形圖中基本比例尺有11種,分別是1∶ 500、1∶1 000、1∶2 000、1∶5 000、1∶1萬、1∶2.5萬、1∶5萬、1∶10萬、1∶25萬、1∶50萬、1∶ 100 萬。在標準《國家基本比例尺地形圖分幅和編號》頒布之前[3],1∶5 000~1∶100萬比例尺的地形圖通常采用梯形分幅,1∶500~1∶2 000通常采用矩形分幅。新標準在保留1∶500~1∶2 000矩形分幅的前提下增加了1∶500~1∶2 000的梯形分幅,并且推薦使用梯形分幅。
2.1.1 梯形圖幅接合表及編號規(guī)則
梯形圖幅是按一定的經差、緯差生成的圖幅。我國1∶100萬分幅采用國際1∶100萬分幅標準,即從赤道起算每隔緯差4°為1行,至南、北緯88°各分為22行,依次用大寫拉丁字母A、B、C、…、V表示其相應行號;從180°經線起算,自西向東每隔經差6°為1列,共分為60列,依次用阿拉伯數字(數字碼)1、2、3、…、60表示其相應列號[3]。
1∶50萬~1∶5 000分幅以及新標準下的1∶ 2 000~1∶500梯形分幅均以1∶100萬地形圖為基礎,按規(guī)定的經差和緯差劃分圖幅,各比例尺經差和緯差見表1。1∶50萬~1∶5 000分幅編號均以1∶100 萬圖幅編號為基礎,采用行列編號方法,1∶50萬~1∶ 5 000圖幅號均由其所在1∶100萬地形圖的圖號、比例尺代碼和各圖幅的行列號共10位碼組成[2]。在新標準中1∶2 000~1∶500的經緯度分幅有多種編號方式,本文采用圖幅編號方法,1∶2 000~1∶500的圖幅編號與1∶50萬~1∶5 000相同,但是1∶1 000和1∶500的圖幅行列號為4位,即由12位碼組成。
表1 1∶100萬~1∶500圖幅經緯差及比例尺代碼
2.1.2 矩形圖幅接合表及編號規(guī)則
在新標準之前,1∶500~1∶2 000地形圖一般采用50 cm×50 cm或40 cm×50 cm分幅。其編號方法有圖廓西南角坐標公里數編號法、流水編號法、行列編號法等,本文采用圖廓西南角坐標公里數編號法。在生成圖幅號時X坐標在前、Y坐標在后(因為ArcGIS的顯示坐標系與國家標準中坐標系不一致,所以在ArcGIS中對應Y坐標在前、X坐標在后)。1∶500比例尺取至0.01 km(例如66.40~77.75);1∶1 000、1∶ 2 000比例尺取至0.1 km(例如60.0~71.0)[4]。
2.2 創(chuàng)建漁網
在ArcMap中打開Toolboxes→System Toolboxes→Data Management Tools.tbx→Feature Class→Create Fishnet工具,根據圖幅接合表的范圍設置Fishnet的起止坐標、行列間隔等參數,然后創(chuàng)建Fishnet(表2)。本文中創(chuàng)建經度113°11'15"~113°26'15"、緯度30°17'30"~30°27'30"范圍的1∶1萬比例尺國家標準圖幅接合圖表,創(chuàng)建X=499 000~503 000,Y=3 366 000~3 370 000范圍的1∶ 2 000比例尺的矩形圖幅接合圖表。以標準圖幅接合圖表為例,設置如圖1所示。
表 2 創(chuàng)建漁網參數列表[2]
1)Cell_Width和Cell_Height為相應比例尺分幅圖幅間隔。標準分幅以°為單位;矩形分幅以m為單位[5]。
2)在Environment Settings中需要設置相應的Out Coordinates和XY Resolution and Tolerance。梯形分幅參考系為選擇Geographic Coordinate Systems→Asia→Xian 1980;矩形分幅參考系選擇Projected Coordinate Systems→Gauss Kruger→Xian 1980,下面的相應投影帶為參考系。
圖1 創(chuàng)建漁網設置圖
3)勾選Create Label Points,在Geometry Type中選擇Polygon。Fishnet創(chuàng)建結果如圖2所示。
圖2 1∶1萬接合圖表的漁網圖
2.3 計算圖幅號
2.3.1 梯形圖幅的圖幅編號
1∶50萬~1∶500梯形圖幅的圖幅編號是在1∶ 100萬圖幅編號后加上比例尺與圖幅行列號組成,所以計算圖幅號的關鍵是計算相應圖幅的1∶100萬圖幅號和其在1∶100萬圖幅號后的行列號。求某圖幅的1∶100萬圖幅編號公式為:
式中,[]表示商取整;φ表示緯度;λ表示經度[3]。
求某圖幅在1∶100萬圖幅號后的行列號公式為:
式中,()表示商取余;[]表示商取整;Δφ表示緯差;Δλ表示經差;φ表示緯度;λ表示經度[3]。
將式(1)、式(2)組合,利用Field Calculator功能進行字段計算,得到圖幅號:
Chr(Fix(φ/4) + 1 + 65- 1) & (Fix(λ/6) + 31) & "比例尺代碼" & Right(Fix((4/Δφ- Fix((φ-(Fix (φ/4 ))*4)/ φ)))+10000,行號長度) & Right(Fix((λ-Fix(λ/6)*6)/ Δλ)+1 +10000,列號長度) (3)
本文中應用Calculate Geometry功能獲取各個圖幅多邊形中心點的X、Y坐標,然后應用Field Calculator功能計算圖幅號。
1)為圖幅圖層JHTB1W創(chuàng)建X、Y兩個字段,類型均為double。應用Calculate Geometry功能將圖幅多邊形的幾何中心點的X、Y坐標值分別賦給X、Y兩個字段,如圖3所示。
圖3 計算圖幅中心點坐標
2)為圖幅圖層JHTB1W創(chuàng)建THF字段,類型均為text。應用Field Calculator功能和相應的圖幅號計算腳本計算圖幅號,將其賦值給THF字段,1∶1萬圖幅號的VB Script腳本為Chr(Fix([Y]/4)+1+65-1)&(Fix ([X]/6)+31)&"G"&Right(Fix((4/0.04166666666666 6666666666666666667–Fix(([Y]-(Fix([Y]/4))*4)/0.041666 666666666666666666666666667)))+10000,3)&Right(Fix( ([X]–Fix([X]/6)*6)/0.0625)+1+10000,3)。
3)為圖幅號指定投影。上面創(chuàng)建的圖幅號的坐標為大地坐標,單位為°,在實際應用中需要將其投影到相應的平面坐標系。
4)標注圖幅號,采用要素的Lable顯示功能將JHTB1W的圖幅號進行標注,結果如圖4所示。
2.3.2 矩形圖幅的圖幅編號
利用同樣的方法創(chuàng)建1∶2 000的矩形接合圖表,矩形接合圖表圖幅號的VB Script計算公式為:
Right( FormatNumber(Round(([Y]-ΔY)/1000,小數位數),小數位數),Y坐標位數) & "-" & Right ( FormatNumber ( Round(([X]-ΔX) / 1000,小數位數),小數位數),X坐標位數) (4)
式中,[Y]為Y坐標;[X]為X坐標。1∶2 000、1∶1 000的有效小數位數為1、1∶500為2;1∶2 000、1∶1 000的x,y坐標位數為4、1∶500為5。
1∶2 000矩形接合圖表的圖幅號VB Script計算腳本為:Right( FormatNumber (Round (([Y]-500)/ 1000,1),1),4)&"-"&Right(FormatNumber(Round(( [X]-500)/1000,1),1),4),結果如圖5所示。
圖4 1∶1萬圖幅接合表
圖5 1∶2 000矩形圖幅接合表
本文方法可以快速創(chuàng)建不同比例尺的梯形圖幅接合表和矩形圖幅接合表,基于此方法提供VB Script代碼完成不同類型圖幅的圖幅號自動生成。不足之處在于,創(chuàng)建漁網時必須輸入圖幅接合表的左下角和右上角的圖廓坐標,缺少靈活性。
[1] 祝國瑞.地圖學[M].武漢:武漢大學出版社,2004
[2] ESRI.ArcGIS10.1幫助[EB/OL].http://resources.arcgis.com/zh-cn/ help/main/10.1/index.Html#//00170000002q000000, 2014-04-23
[3] GB/T 13989-2012.國家基本比例尺地形圖分幅與編號[S].
[4] GB/T 7929-1995.1∶500 1∶1 000 1∶2 000地形圖圖式[S].
[5] 任娟.一種快速制作地形圖圖幅結合表的方法[J].北京測繪,2010(2):78-80
[6] 田振坤,劉素紅,傅鶯鶯,等.地形圖新舊圖幅編號自動檢索法及其可視化實現[J].測繪通報,2005(2):61-63
[7] 葉寶瑩,楊農.利用ArcGIS構建地形圖分幅空間數據庫[J].測繪科學,2008,33(3):207-209
[8] 聶小波,何蕓,范偉,等.電子地圖瓦片數據管理系統(tǒng)的設計與實現[J].地理空間信息,2012,10(4):165-167
P208
B
1672-4623(2015)04-0165-03
10.3969/j.issn.1672-4623.2015.04.059
聶小波,工程師,主要從事數字城市、智慧城市、三維地理信息系統(tǒng)、LBS相關的理論、技術和應用研究。
2014-07-08。