999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MapInfo二次開發在坐標轉換中的應用

2011-11-15 03:29:50毛之琳
測繪通報 2011年12期
關鍵詞:二次開發程序

李 東,毛之琳

(國家測繪地理信息局大地測量數據處理中心,陜西西安710054)

MapInfo二次開發在坐標轉換中的應用

李 東,毛之琳

(國家測繪地理信息局大地測量數據處理中心,陜西西安710054)

在VC++環境下運用MapInfo軟件進行二次開發,編制坐標轉換程序。利用OLE技術與MapInfo建立聯系,實現坐標轉換的地理信息處理功能,使用戶直觀了解轉換區域位置、大小、點位分布及轉換殘差情況,并可在圖中對重合點進行取舍。

坐標轉換;OLE;二次開發

一、引 言

測繪工程中經常涉及坐標轉換處理的問題,而轉換精度的高低將直接影響著工程質量。轉換精度除與數學模型有關外,更主要是與重合點分布、精度、個數等因素有關。即使程序輸出的轉換成果精度很高,但因重合點采用不當,轉換成果質量也將受到質疑。坐標轉換的實質是為了尋找最佳轉換參數,是不斷對重合點進行取舍的過程。準確判斷重合點的數量及分布是否達到要求,找出粗差點所在位置并剔除是轉換處理的重要環節。如果坐標轉換與圖形相脫節,各種點位及殘差分布不清,容易造成轉換成果的質量問題。筆者在VC++環境下集成MapInfo編制坐標轉換程序,將坐標轉換與圖形有效地結合,不僅可實現地理信息二次開發的放大、選擇、平移等基本功能,而且可實現繪制點位分布圖和轉換殘差圖,并可對重合點和外檢點進行增刪。通過顯示行政區圖和基本比例尺地形圖范圍,可清楚了解轉換區域位置及大小,使坐標轉換處理更加直觀容易。

二、坐標轉換基本原理

坐標轉換的基本原理是利用兩種不同坐標系重合點坐標和數學模型,通過最小二乘法獲取最小殘差的轉換參數,然后利用轉換參數計算待定點坐標[1-2]。

1.數學模型

坐標轉換常用的數學模型有平面四參數模型和Brush七參數模型,基本可滿足各種坐標轉換的需要。以平面四參數模型為例

式中,x0、y0為平移參數;α為旋轉參數;m為尺度參數;(x2,y2)為輸出平面直角坐標;(x1,y1)為輸入平面直角坐標。

2.重合點選取原則

不同坐標系轉換的前提條件是轉換區域應具備一定數量、分布均勻的重合點。應選擇有代表性的高精度重合點作為轉換之用,要求重合點的點位分布均勻,具有一定密度,盡量選取控制網的起始點和高等級的控制點,在待轉換點周圍、內部都要有重合點。必要時選定部分均勻分布的重合點作為外部檢核點,對轉換精度進行檢核。一般當轉換范圍不超過4個1∶100 000圖幅時,重合點至少應選擇5個,外部檢核點不少于5個,且要求均勻分布、能覆蓋轉換區域,考慮到重合點中可能存在粗差點,需要選擇多余點作為備用點。總之,一般轉換參數不能用于外推計算,待定點應位于重合點范圍之內。

3.精度估計

(1)轉換參數精度估計

利用重合點轉換回代誤差,評定轉換解算精度。

轉換殘差(V)=已知點平面坐標-轉換回代平面坐標

轉換(殘差)中誤差

式中,n為重合點個數。

(2)外部檢驗

低精度成果向高精度坐標轉換時,低精度成果應盡可能附合到高精度成果上,設立合理外部檢核點是驗證轉換精度的有效方法之一,部分重合點不參加轉換而用于外符合精度檢核,外部檢核點誤差σ為

式中,m為檢核點個數;Δ為檢核點轉換坐標與其已知值之差。

當低精度成果向高精度坐標轉換時,坐標轉換精度要通過外部檢核點誤差與轉換(殘差)中誤差來全面衡量,當兩者數值接近時,認為坐標轉換精度是可靠的。

三、程序設計

1.MapInfo二次開發功能

(1)VC++與MapInfo集成技術

跨平臺集成地圖開發是在Windows環境下,將利用VC++編制的應用程序,通過調用語句來啟動后臺MapInfo應用程序。集成程序首先構造MapBasic語句的字符串,使用對象連接與嵌入技術(object linking and embedding,OLE)將該字符串發送給MapInfo來控制MapInfo的運行[3],其調用關系如圖1所示。

圖1 用戶程序與MapInfo調用關系

(2)在VC++環境下通過OLE控制MapInfo

VC中集成地圖技術是利用OLE自動化技術中的Do、Eval等方法,通過向MapInfo發送一系列命令或取得返回信息實現應用程序與MapInfo之間交流。具體方法有以下4種。

1)Do方法:向MapInfo發送特殊字符串命令,將一個字符串解釋為MapBasic語句并執行,并且不返回參數。如顯示殘差圖zdtw

mapinfo.Do(″set map layer zdtw display graphic″);

2)Eval方法:向MapInfo發送特殊字符串命令,將一個表達式解釋為MapBasic表達式并返回表達式的值,即一個字符串。如返回圖中選擇的點名

char te[30];

strcpy(te,mapinfo.Eval(″selection.點名″));

3)RunCommand方法:使用方法完全同Do方法,直接執行嵌入的所有MapBasic支持的命令,不返回值。

4)RunMenuCommand方法:執行定義好的標準命令。如圖形放大

mapinfo.RunMenuCommand(1705);

2.坐標轉換集成地圖的方法

關于VC++中集成MapInfo地圖的具體步驟,文獻[4-5]對此作過較為詳細的論述,在此不再贅述。坐標轉換與地圖結合需要解決的主要問題是轉換處理數據如何以地圖形式反映出來,以及地圖上的數據如何反饋到轉換數據文件中。

(1)解決問題的思路

坐標轉換處理通過輸出點位圖和殘差圖數據,調用后臺MapInfo應用程序生成點位分布圖和殘差圖,完成轉換數據向地圖的轉變。通過OLE控制MapInfo取得返回信息,將圖面提取信息反饋到轉換數據文件中,從而實現坐標轉換與地圖的結合。

(2)程序流程圖

程序流程圖如圖2所示。首先,從文件中讀取轉換數據,經坐標轉換計算,輸出畫點位圖和殘差圖數據文本文件;然后啟動MapInfo調用MapBasic繪圖應用程序;最后生成MapInfo點位分布圖表和殘差圖表,并加以顯示。如果轉換沒有達到要求,對重合點進行取舍,然后返回重新讀入轉換數據,再重復以上步驟,直到達到轉換要求,輸出成果。

圖2 程序流程圖

(3)生成點位分布圖和殘差圖

調用MapBasic編制的繪圖應用程序,分別生成點位分布圖和殘差圖

mapinfo.Do(″Run Application″zdt.mbx″″);∥zdt.mbx為繪圖應用程序

1)生成點位分布圖程序

2)生成點位殘差圖程序

(4)刪除與添加重合點方法

尋找最佳轉換參數時,需要不斷對重合點進行刪除和添加。刪除重合點的方法是在轉換數據文件中找到要刪除的重合點,在點名前加入“*”號作為刪除標志,當程序讀入轉換數據,遇見帶有“*”號的點不讀跳過,相當于刪除該重合點;添加重合點方法是在已有“*”號的點名前去掉星號,恢復該重合點地位,相當于添加。同理,對于外部檢核點,其刪除標志為“@”號。具體實現方法:首先點擊工具欄中“選擇”按鈕,再從顯示點位分布圖中,選中要刪除的點,程序自動在轉換數據文件中查找相應的點名,并在其點名前添加“*”號,程序再重新讀入轉換數據文件,從而完成對重合點的刪除操作

為了區別圖中重合點和被刪除點,MapBasic程序對它們賦予不同標志,重合點標志為五角星,而被刪除點標志為三角形

四、算例演示

以某城市GPS點的2000國家大地坐標系坐標向1980西安坐標系坐標的轉換為例,其中B1、B3、B4、B5、B6、B7為重合點,其余為待轉換點,轉換計算如圖3、圖4所示。

圖3 坐標轉換計算

圖4 坐標轉換殘差分布圖

圖4顯示了重合點和待轉換點的分布情況,橢圓反映了重合點轉換殘差的大小,B3點殘差最大,橢圓也最大;同時顯示1∶100 000圖幅范圍作為比較參照物,用戶可以判斷轉換區域的大小、位置和圖幅號信息,B2點為被剔除的重合點。

五、結束語

從實用性和方便性出發,在VC++環境下集成利用MapInfo開發的坐標轉換程序,凸顯了圖形功能,能夠直觀了解轉換區域的地理位置、大小、所在圖幅、點數量及分布情況,便于準確判斷重合點分布是否合理。在圖上以橢圓形式反映轉換殘差大小,并可對重合點和外檢點進行取舍,有助于尋找最佳轉換參數,使坐標轉換處理更加直觀,進一步保證了成果質量。

[1] 施一民.現代大地控制測量[M].北京:測繪出版社,2003.

[2] 程鵬飛,成英燕,文漢江,等.2000國家大地坐標系實用寶典[M].北京:測繪出版社,2008.

[3] 劉光.地理信息系統二次開發教程:語言篇[M].北京:清華大學出版社,2003.

[4] 聶田.MapInfo在 VC++中的集成及其鷹眼的實踐[J].科技信息:學術研究,2007(15):279.

[5] 顏輝武,徐智勇,祝國瑞.VC++中MapInfo的跨平臺集成地圖技術的實現[J].測繪工程,2002,9(3): 14-17.

Application of Secondary Development of MapInfo in Coordinate Transformation

LI Dong,MAO Zhilin

0494-0911(2011)12-0058-03

P282.2

B

2010-12-06

李 東(1958—),男,山東濰坊人,高級工程師,主要從事大地測量數據處理及應用程序開發等工作。

猜你喜歡
二次開發程序
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 国产91精品调教在线播放| 成人午夜视频网站| 国产成人凹凸视频在线| 91青草视频| 一本大道无码日韩精品影视| 国产一级在线观看www色| 青草视频网站在线观看| 日韩午夜伦| 黄网站欧美内射| 色悠久久综合| 26uuu国产精品视频| 中文字幕日韩久久综合影院| 2020国产免费久久精品99| 免费国产无遮挡又黄又爽| 亚洲高清在线天堂精品| 国产美女视频黄a视频全免费网站| 日本一区中文字幕最新在线| 国产理论一区| 亚洲综合色在线| 性视频久久| 青青青国产视频手机| 国产精品开放后亚洲| 中文成人在线| 国产福利一区二区在线观看| 在线免费a视频| av在线无码浏览| 永久天堂网Av| 一级毛片在线免费视频| 久久精品波多野结衣| 日本人真淫视频一区二区三区| 国产一级裸网站| 成人精品亚洲| 国产精品专区第1页| A级毛片无码久久精品免费| 精品无码一区二区在线观看| 久久久受www免费人成| 伊人欧美在线| 欧美日韩中文国产va另类| 九九热这里只有国产精品| 在线一级毛片| 国产乱视频网站| 国产亚洲精品自在久久不卡 | 国产系列在线| 国产xxxxx免费视频| 亚洲精品桃花岛av在线| 青青青国产视频| 国产精品漂亮美女在线观看| 波多野结衣一区二区三区四区| 2021国产v亚洲v天堂无码| 毛片a级毛片免费观看免下载| 国产成人永久免费视频| 91亚洲视频下载| 国产日产欧美精品| 无码人中文字幕| 色网站在线免费观看| 中文字幕欧美成人免费| 99久久精品国产麻豆婷婷| 免费人成又黄又爽的视频网站| 美女一级毛片无遮挡内谢| 天堂亚洲网| 国产精品丝袜视频| 久久国产亚洲欧美日韩精品| 亚洲福利视频网址| 精品人妻系列无码专区久久| 亚洲福利视频一区二区| 国产流白浆视频| 国产精品99在线观看| 日韩国产无码一区| 国产SUV精品一区二区6| 美女高潮全身流白浆福利区| 成人福利在线观看| 手机精品福利在线观看| 欧美一区二区三区国产精品| 成人小视频在线观看免费| 夜夜爽免费视频| 色欲不卡无码一区二区| 国产大片黄在线观看| 日韩二区三区无| 国产精品九九视频| 国产一区二区免费播放| 无码在线激情片| 精品国产Ⅴ无码大片在线观看81 |