• <ul id="8aeke"><sup id="8aeke"></sup></ul>
    <tfoot id="8aeke"></tfoot>
    <del id="8aeke"></del>
    <abbr id="8aeke"></abbr>
      <strike id="8aeke"><menu id="8aeke"></menu></strike>
    • <tfoot id="8aeke"></tfoot>
    • vb調用gis地圖,excel vba 地圖

      2024-04-27 GIS 49
      A?AA?

      今天給各位分享vb調用gis地圖的知識,其中也會對excel vba 地圖進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!

      目錄一覽:

      vb課程設計 關于GIS的

      不用找源碼,安裝一個VS.net 2005或2008,安裝ArcGIS Enigne 9.2 Develope Kit for .NET 或9.3,直接在VS的IDE里面配置這些功能就行了,里面的SQL查詢、距離測量、緩沖區分析那是要自己開發,不過簡單,你必須學AO。建議你不要找什么源碼,動手摸索了,這樣對你才有好處。如果是為了完成任務的那種心態,對自己以后就業不好。

      測距就用AO的INewLineFeedback畫線判斷一個IPolyline的長度

      緩沖就用AO的ITopologicalOperator 接口的Buffer *** 來做。

      地圖坐標顯示功能比較簡單,給MapControl加一個onmousemove事件,移動時獲得地圖的坐標mapx,mapy,顯示在狀態條中。

      微信號:MeetyXiao
      添加微信好友, 獲取更多信息
      復制微信號

      SQL查詢就用IQueryFilter根據你輸入的SQL進行查詢,查詢后,通過IFeatureCursor接口訪問這些IFeature,通過IFeature的get_value *** 獲得每個IFeature的屬性值。

      編輯工具就只用配置Editor工具按鈕放到你的toolbarcontrol中

      以上都是在ArcGIS Engine里面實現的 *** 。自己動手弄吧,多實踐,對你有幫助。

      我是搞mapgis二次開發的,我怎么樣把電子地圖放進mapxview控件里面,用vb開發的,急需代碼!謝謝!

      干嗎不用C#呢,C#那么多資料。vb我有本書在這,但是其他資料就少了,。我覺得應該都是一樣的,用Mapxview和工作空間workspace連接在一起,然后用工作空間打開

      vb調用gis地圖,excel vba 地圖

      GIS系統設計中如何利用VB開發工具進行信息查尋功能

      點選查詢:

      MapObjects2.Point變量用于放置鼠標點擊位置。通過map的shapeType屬性來判斷被查詢圖層屬于點狀、線狀還是面狀圖層。如果屬于面狀圖層,則用SearchShape(點坐標, moPointInPolygon, "查詢語句")來找到需要查詢的部分;若為線狀或點狀圖層,則用SearchByDistance(點坐標, 緩沖范圍, "查詢語句")來確定需要查詢的部分。查到的部分放在MapObjects2.Polygon變量中,閃爍顯示。

      框選只要把點選得之一部改一下就好了。

      按屬性:

      用圖層變量的SearchExpression(“查詢語句”)來查找符合條件的地域。得到結果后,傳遞給一個全局MapObjects2.Recordset變量,同時設置好MapObjects2.Symbol變量,用DrawShape事件給找到的部分上色,突出顯示。

      按名稱:

      只要把按屬性查詢的查詢語句設定為

      包含名稱的字段名='選中的名稱'就可以了。

      至于按區域,不太理解你的意思。我的理解是也屬于屬性性查詢的一部分。

      如何運用vb6.0完成mapgis中線轉換區的功能

      給你一點VC代碼吧,MapGIS更佳開發語言是C++,轉區不成功主要是因為對區的理解不夠深入。

      // 寫入區

      void CInPutSpcRegTool::WriteToReg()

      {

      // 條件

      if (m_regai1 || m_numArcDots3 || m_arcDots==NULL)

      {

      return;

      }

      // 造區

      long rdat[2];

      long lno = 0;

      long regno = 0;

      LIN_INFO lininfo;

      LIN_INFO *infoTmp = NULL;

      _GetLinDefParam(infoTmp);

      lininfo = *infoTmp;

      lno = _AppendLin(m_regai,m_arcDots,m_numArcDots,lininfo,2);

      rdat[0] = m_numArcDots+1; //點數+圈數

      rdat[1] = lno;

      regno = _AppendReg(m_regai,rdat,2,m_reginfo);

      ((CPowerView *)m_pObj)-_UpdateWindow();

      // 寫入默認屬性結構

      if (regno1)

      {

      return;

      }

      CFIELD_HEAD fld;

      CATT_STRU struTmp;

      CATT_STRU *stru = NULL;

      char *att = NULL;

      short fldno = -1;

      _GetRegAttStru(m_regai,stru); //當前屬性結構

      _srGetSpcRegDefStru(struTmp); //默認屬性結構

      // 寫入屬性

      char buf[256] = ""; //級別

      fldno = -1;

      fldno = _GetFldNo(stru,"RegLev");

      if (fldno0)

      {

      fldno = _GetFldNo(struTmp,"RegLev");

      fld = struTmp.fldEntry[fldno];

      _AppendRegStruFld(m_regai,1,fld);

      fldno = _GetFldNo(stru,"RegLev");

      }

      if (fldno=0)

      {

      _GetRegAtt(m_regai,regno,stru,att);

      sprintf(buf,LOAD_STR_BY_ID(IDS_SPCREG_LEV),m_reglev);

      _SetFldFromStr(att,stru,"RegLev",buf);

      _WriteAtt(m_regai,REG,regno,stru,att);

      }

      fldno = -1; //類別

      fldno = _GetFldNo(stru,"RegType");

      if (fldno0)

      {

      fldno = _GetFldNo(struTmp,"RegType");

      fld = struTmp.fldEntry[fldno];

      _AppendRegStruFld(m_regai,1,fld);

      fldno = _GetFldNo(stru,"RegType");

      }

      if (fldno=0)

      {

      _GetRegAtt(m_regai,regno,stru,att);

      lstrcpy(buf,m_spcregcfg.SRegName);

      _SetFldFromStr(att,stru,"RegType",buf);

      _WriteAtt(m_regai,REG,regno,stru,att);

      }

      _SetChangeFlag(m_regai,1);

      // 提示

      char tempStr[MAX_STR_LEN]="";

      sprintf(tempStr,LOAD_STR_BY_ID(IDS_INPUT_REG_SUC),m_strInput);

      m_ToolIdent.CommandPrompt(tempStr);

      }

      VB 與MapInfo 二次開發的重點

      ( 1) MapInfo 對象的創建

      本系統使用 OLE Automation 技術在 VB 中創建一個 MapInfo 的應用對象,然后在 VB環境下對該對象進行操作 ( 張峰等,2004) 。首先在 VB 環境下聲明一個對象變量如 Map-Info,接著在 VB 中使用 CreateObject ( ) 函數創建一個 MapInfo 對象,使用語句:

      Set MapInfo = CreateObject( “MapInfo. Applicaiton”)

      要連接一個已運行著的 MapInfo,需要用 Visual Basic 的 GetObject ( ) 函數。

      Set MapInfo = GetObject( “MapInfo. Application”)

      由于該語句創建的是 MapInfo 應用對象,所以在本地機器系統中應該有 MapInfo 軟件平臺,否則將產生錯誤,不能創建 MapInfo 應用對象。集成地圖開發是在程序中通過調用語句來在后臺啟動 MapInfo。創建完對象后就可以在 VB 環境里使用對象 MapInfo 的屬性和 *** ,通過 VB 的對象瀏覽器,可以看到 MapInfo 對象的屬性和 *** ,最常用的是 do *** 。MapInfo 應用對象 do *** 識別和執行字符串命令行。由于在 MapInfo 系統中包含的庫文件 “MapBasic. def”以及 “Menu. def”中集成了許多命令函數,使 MapInfo 的有些功能往往只需要一兩條語句就可以在 VB 中完成,使用起來也比較簡單、方便。

      ( 2) VB 評價結果在 MapInfo 中的圖形顯示和重畫

      在 GIS 軟件系統中,圖形的顯示及重畫功能是系統自動完成的,可是由于本系統是采用 OLE 技術,將 MapInfo 系統集成到 VB 的環境中,則圖形的顯示和重畫只能在 VB 的環境里完成,由于 VB 自身無法識別 MapInfo 的圖形格式,所以就無法進行圖形的顯示與重畫。使用 Map Basic 語句“Set Application Window”來讓 MapInfo 的對話框和錯誤信息窗口從屬于客戶程序。“Set Next Document”語句允許 “再生”窗口。在 VB 與 MapInfo 集成環境里,圖形的顯示可以使用 MapInfo 的窗口來實現,也可以在 VB 的窗口中實現,MapInfo允許以三種模式將一個地圖在 VB 環境里顯示。其中 style 1: 表示無模式形式,即地圖將充滿整個 VB 窗體中,就像將 MapInfo 的圖形貼在 VB 窗體上一樣 ( 張峰等,2004) ; style2: 則表示生成帶半高標題欄的彈出式窗口 ( 像 MapInfo 的圖例窗口) ; style 3: 產生帶全高標題欄的窗口。后兩種方式,都不能使窗口圖形窗口更大和最小化,這給用戶的操作帶來不便,同時也不符合 Windows 系統風格。因此本系統采用 style 1 模式。

      MapInfo 允許在 VB 的窗體上顯示圖形,使用命令:

      “Set Next document parent”& Form1. hWnd &“style 1”

      Form1 是 VB 中的一個用來顯示圖形的窗體。在 VB 環境里打開 MapInfo 的地圖和數據表格。但還存在一些問題,當 VB 窗口更大化時,MapInfo 圖形不能重畫,即當用戶改變地圖窗口大小時,MapInfo 并不會依據新窗口的大小自動重新設置地圖內容以添滿窗口。為此必須利用 Windows API 函數 MoveWindow 編寫代碼來實現,使每一次窗體的大小變化時,地圖均重畫。

      ( 3) 報表輸出

      通過讀取數據庫中存儲的評價信息,按照相應的格式調用到相應的報表位置,生成報表,如圖 7. 9 所示。關鍵點是讀取數據庫和打印,下面是讀取數據庫及打印代碼:

      圖 7. 9 報表輸出打印界面

      Straql = ”select* from pingjia where name = ”’& text1. text &’””

      ExecuteSql( Strsql)

      Me. PrintForm

      求助, 利用VB開發關于gis顯示,查詢方面獨立的軟件,可以使用Mapobject或arcengine嗎?可否打包成安裝文

      MO和AE都能用

      AE除了最新的ArcGIS10不支持VB,早些時候的版本都能支持

      可以打包,但還是會依賴于AE或者MO的Runtime(運行時)。而Runtime必須單獨安裝。

      補充:

      AE必須是單獨安裝。MO似乎可以打包,但也需要注冊dll等步驟,比較麻煩。具體的過程可以在網上搜一下

      vb調用gis地圖的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于excel vba 地圖、vb調用gis地圖的信息別忘了在本站進行查找喔。

      客服微信號碼

      客服微信號碼

      客服微信號碼

      客服微信號碼

      留言咨詢
      提交留言

      您將免費獲得

      • 全面診斷

        您將獲得專家對您公司申請資質所需條件的全面診斷服務,我們不同于傳統代辦公司,僅是提供一些通用的,淺顯的建議

      • 找出疏忽點

        我們在了解您公司的基本情況之后,將挖掘出您公司目前不利于資質申請的疏忽點,還將詳細說明您在申請資質時應當改善的確切的事項。

      • 分析需求

        我們通過豐富的從業經驗,結合目前的實際情況,確認好符合您實際經營情況的資質需求。

      • 定制方案與報價

        對您的需求深入了解后,將結合您公司目前的情況,我們將為您量身定制一份資質代辦方案及報價單。

      獲取方案

      ×
      請設置您的cookie偏好
      歡迎來到資質參謀
      我們希望在本網站上使用cookie,以便保障本網站的安全、高效運轉及服務優化,有關我們使用cookie的更多信息,請點擊查看了解更多。
      接收Cookies
      決絕Cookies
      亚洲第一区香蕉_国产a| 亚洲av日韩精品久久久久久a| 亚洲AV无码乱码国产麻豆穿越 | 亚洲日本韩国在线| 久久精品亚洲AV久久久无码 | 亚洲av无码成h人动漫无遮挡| 国产AV无码专区亚洲AV蜜芽| 亚洲av产在线精品亚洲第一站| 一区二区三区亚洲| 亚洲av激情无码专区在线播放| 亚洲日韩精品一区二区三区无码| 亚洲乱码日产精品a级毛片久久| 最新亚洲人成网站在线观看 | 久久亚洲中文无码咪咪爱| 亚洲国产成人精品无码区在线网站| 久久久国产精品亚洲一区| 亚洲va在线va天堂va不卡下载| 久久久无码精品亚洲日韩蜜桃| 亚洲精品成人片在线观看精品字幕| 中文字幕一精品亚洲无线一区| 亚洲精品偷拍视频免费观看| 亚洲精品成人片在线观看| 亚洲熟伦熟女新五十路熟妇 | 男人的天堂亚洲一区二区三区 | 亚洲成人免费在线观看| 337p日本欧洲亚洲大胆色噜噜| 亚洲av无码一区二区三区不卡 | 无码乱人伦一区二区亚洲| 亚洲AV人无码综合在线观看| 亚洲一区免费观看| 亚洲的天堂av无码| 亚洲国产婷婷综合在线精品| 亚洲第一页综合图片自拍| 亚洲人午夜射精精品日韩| 国产亚洲一区区二区在线 | 在线观看亚洲成人| 久久亚洲国产午夜精品理论片| 亚洲AV无码专区电影在线观看| 亚洲自偷自拍另类12p| 亚洲国产精品综合久久久| 亚洲无mate20pro麻豆|