天天干夜夜弄_黄毛片网站_2012中文版免费观看_久操视频在线_欧美日韩一区二区电影_日韩av片在线免费观看

  • Cehui8.com 測繪地理信息領域專業(yè)門戶
  • 首頁 > 測繪論文 > GIS

    ArcView中指定矩形區(qū)域地圖輸出的實現(xiàn)

    2013-07-06 22:39:20 來源: 測繪論壇 作者:張保鋼,朱凌
    聊聊

      ArcView軟件由于其友好的用戶界面和強大穩(wěn)定的GIS功能而擁有較多用戶。在ArcView 3.x軟件中,其Layout模塊提供了圖形輸出功能。利用系統(tǒng)提供的圖形用戶界面可以進行簡單的圖形輸出,如對屏幕區(qū)域范圍進行指定比例尺圖形輸出等。這種圖形輸出的特點是:ArcView的版面設計窗口輸出相應視圖窗口所顯示視圖區(qū)域的圖形。如按缺省狀態(tài),系統(tǒng)產(chǎn)生一個包含整個視圖圖形區(qū)域的版面設計,這樣的圖形輸出不能保證視圖按用戶所需要的比例尺進行輸出;如設定版面的比例尺和圖紙大小,系統(tǒng)可以按照給定的比例尺和圖紙大小輸出。由于ArcView中圖形數(shù)據(jù)的存放是連續(xù)和成片的,手工操作無法保證視圖窗口顯示的視圖區(qū)域就是用戶嚴格要求繪圖輸出的區(qū)域,視圖窗口顯示的視圖區(qū)域與用戶所需的繪圖區(qū)域總有微小的差異。這對于常規(guī)按圖幅使用地形圖的用戶是非常不便的,甚至是無法容忍的。 
        實際應用當中,地圖輸出一般有兩種情況:①常規(guī)的用圖方法,按照地形圖分幅輸出標準規(guī)格尺寸的地圖;②非常正規(guī)的靈活用圖方法,按照地形圖的比例尺,輸出指定矩形區(qū)域地圖。這個區(qū)域可以是跨圖幅的或一個標準圖幅的某個局部。針對ArcView地圖輸出的不足和地圖輸出的用戶需求,筆者用ArcView的Avenue編程,實現(xiàn)了這兩項地圖的輸出功能,實際上①是②的一個特例。以下給出實現(xiàn)任意指定矩形區(qū)域范圍地圖精確輸出的方法、步驟、程序源代碼及其解釋,與讀者共享。 

    一、輸出的方法 
        1.任意指定區(qū)域范圍,地圖精確輸出程序的編寫思路。在ArcView輸出過程中,實際包括兩個坐標系:視圖坐標系和繪圖輸出坐標系。圖形輸出時,就要建立兩者之間的關系并保證所選擇輸出的視圖區(qū)域嚴格按照指定比例尺輸出。 
        2.給以上所編程序重命名。 
        系統(tǒng)新編的程序一般以“‘script’+數(shù)字”命名,程序編好并通過編譯后可給其另起一便于記憶的程序名如LayoutAsPointedRectangle。 
        3.在系統(tǒng)之View模塊的萊單欄或工具欄增加“任意指定區(qū)域范圍,地圖精確輸出”的菜單項或工具項。 
        利用ArcView的Customize功能,將“任意指定區(qū)域范圍,地圖精確輸出”菜單項或工具項增加至其菜單欄或工具欄中。當用戶單擊該菜單項或工具項時,系統(tǒng)將執(zhí)行LayoutAsPointed Rectangle程序。 
        以上幾步做好后,該項功能就可以使用了。 

    二、輸出的步驟 
        1.指定地圖單位和距離單位。在View模塊的View菜單的Properties菜單項正確指定地圖單位和距離單位(此兩單位我國一般采用m)。 
        2.選擇與所設計“任意指定區(qū)域范圍,地圖精確輸出”模塊相應的菜單項或工具項。鼠標單擊“任意指定區(qū)域范圍,地圖精確輸出”的菜單項或工具項,系統(tǒng)選定該項輸出功能。 
        3.選擇要輸出地圖的視圖矩形區(qū)域。用鼠標在計算機屏幕上選擇要輸出地圖的視圖矩形區(qū)域,系統(tǒng)運行以上所編Avenue程序。系統(tǒng)產(chǎn)生一個版面。若為標準圖幅,則輸入圖幅號,系統(tǒng)自動計算要輸出圖幅的地理坐標范圍。 
        4.繪圖輸出或打印。在繪圖儀或打印機上輸出該區(qū)域地圖。 

    三、輸出的Avenue程序源代碼 
        任意指定區(qū)域范圍,地圖精確輸出的Avenue程序源代碼如下: 

    theView=av.Find(“視圖名”)   ’獲取要繪的視圖 
    theMapDisplay=theView.GetDisplay   ’得到地圖顯示器 
    aRect=theView.ReturnUserRect   ’用地圖坐標單位設定地圖顯示器上要繪圖輸出的矩形地圖范圍(地方坐標) 
    if(aRect.IsNil.Not)then 
    theMapDisplay.ZoomToRect(aRect)   ’將地圖顯示器(視圖)范圍縮放為要繪圖輸出的矩形地圖范圍 
    theMapDisplay.InvalidateRect(aRect)   ’令地圖顯示器(視圖)無效使其重繪 
    theLayout=Layout.Make   ’制作版面設計輸出頁 
    thePageDisplay=theLayout.GetDisplay   ’獲取版面設計輸出頁的頁面顯示器 
    thePageDisplay.SetPageSize(圖紙橫向長度@圖紙縱向長度)   ’設定輸出圖紙 
                                                                                                                     ’(頁面顯示器)的頁面尺寸,此尺寸單位應為英寸 
    thePageExtent=thePageDisplay.ReturnPageExtent   ’獲取頁面顯示器的圖紙范圍(英寸) 
    thePageOrigin=thePageExtent.ReturnOrigin   ’獲取頁面顯示器圖紙范圍的左下角坐標(英寸) 
    theRect=Rect.Make(thePageOrigin,圖紙繪圖區(qū)域的橫向長度@圖紙繪圖區(qū)域的縱向長度)
                                                                                                                    ’指定頁面繪圖矩形區(qū)域(英寸為單位) 
    thePageDisplay.ZoomToRect(theRect)   ’將頁面顯示器縮放至該頁面繪圖矩形區(qū)域 
    theVFrame = ViewFrame.Make(theRect)   ’以該繪圖矩形區(qū)域為界,制作視圖框(viewframe) 
    theVFrame.SetView(theView,False)   ’設定該視圖框不隨視圖顯示范圍的變化而變化 
    theVFrame.SetScalePreserved(True)   ’設定視圖框比例尺保持不變 
    theVFrame.SetUserScale(用戶指定的比例尺分母)   ’設定用戶輸出地圖的比例尺 
    theLayout.GetGraphics.Add(theVFrame)   ’將要輸出圖形加到輸出頁 
    end 


    “thePageDisplay.SetPageSize(圖紙橫向長度@圖紙縱向長度)”步驟中的兩個參數(shù)計算方法是 
    圖紙橫向長度=aRect.GetWidth * Scale + deltaX 
    圖紙縱向長度=aRect.GetHeight * Scale + deltaY 
    其中,Scale為用戶輸出地圖的比例尺分母,deltaX和deltaY是不大于地圖邊框到圖紙邊緣距離的某個值。圖紙橫向長度和圖紙縱向長度的最大值應小于等于繪圖紙的長度,圖紙橫向長度和圖紙縱向長度的最小值應小于等于繪圖紙的寬度(這里假定繪圖紙的長度大于寬度)。 
    “theRect = Rect.Make(thePageOrigin,圖紙繪圖區(qū)域的橫向長度@圖紙繪圖區(qū)域的縱向長度)”步驟中 
    圖紙繪圖區(qū)域的橫向長度應為aRect. ReturnWidth * Scale,圖紙繪圖區(qū)域的縱向長度應為aRect.ReturnHeight * Scale。 

    四、結束語 
    ArcView由于其優(yōu)越的性能而廣為GIS用戶采用,但在圖形輸出和漢字注記方面的缺憾影響了其性能的進一步發(fā)揮。筆者所編程序完善了其圖形輸出功能,并已在北京市測繪供圖信息查詢系統(tǒng)和密云縣城市規(guī)劃管理信息系統(tǒng)中得到廣泛應用。

      聲明①:文章部分內容來源互聯(lián)網(wǎng),如有侵權請聯(lián)系刪除,郵箱 cehui8@qq.com

      聲明②:中測網(wǎng)登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述,文章內容僅供參考。

      加群提示:我們創(chuàng)建了全國32個省份的地方測繪群,旨在打造本地測繪同行交流圈,有需要請聯(lián)系管理員測小量(微信 cexiaoliang)進群,一人最多只能進入一個省份群,中介人員勿擾

    主站蜘蛛池模板: 蜜臀视频在线观看 | 日韩电影毛片 | 久久久综合视频 | 欧美成人黄激情免费视频 | 人人看黄色 | 亚洲精品久久久日韩美女极品合集下载 | 久久久久国产 | 日韩一区二区三区av | 日本性视频 | 精品一区二区三区免费视频 | 色网站视频 | 欧美一区二区三 | 亚洲视频在线看 | 国产精品美女久久久久人 | 国产日产精品一区二区三区四区 | 在线观看亚洲视频 | 国产精品久久久久一区二区三区 | 亚洲欧美一区二区三区在线 | 国产精品二区一区二区aⅴ污介绍 | 在线电影一区 | 久久男人 | 日韩在线免费 | 最近韩国日本免费高清观看 | 玖玖久久| 久久久精品一区二区三区 | 一区久久 | 精品伦理一区二区三区 | 欧美精品一 | 亚洲精品大片 | 91在线精品视频 | 国产精品免费在线 | 午夜日韩| 成人射区 | 久久99这里只有精品 | 国产精品污www在线观看 | 亚洲欧美在线免费 | 在线不卡日本 | 精品欧美一区二区三区精品久久 | 超碰在线97观看 | 欧美成人激情视频 | 免费的黄色小视频 |