<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      編程 & 生活 -- 西西吹雪

      開心工作,快樂生活 (原創文章,轉載請注明出處)

      導航

      MO作為B/S服務器端的開發

              本人從事MO開發有近兩年,現在已經轉向ArcGis Engine和ArcGis Server的開發。MO作為引導我進入GIS殿堂這樣的一個GIS組件,我花在它上面的心血確實太多了。回憶起以前用MO實現符號化,實現自定義出圖,實現投影,實現空間分析等功能所經歷過酸甜苦辣,真是愛恨交加,感慨萬千。現在我要告別MO了,于是我陸陸續續地寫了一些小文在講述我所做過的一些東西,以便我對這一段開發的歷史還有所記憶。本文會是我寫的最后一篇關于MO的文章了。

              前面寫了一篇MO作為B/S客戶器端的開發的小文,其實MO還可以作為B/S服務器端的GIS支持平臺。要實現初級的功能如獲取地圖是比較簡單的,但要實現復雜功能的話,那就要花太多精力了,最后可能會得不償失,建議采用ArcIMS或ArcGis Server之類的平臺。好了,廢話少說,現在我們來看一看怎么樣用MO實現一個簡單的地圖獲取功能。

          原理:在服務器端運行一個服務程序,該程序要有一個地圖控件,并且設置好加載的圖層以及符號化效果,然后打開一個端口并監聽,如果收到請求,則在服務器的一個臨時目錄下生成一個臨時圖片文件。(如果各位有興趣,我想可以做成一個WebService,這樣適應能力更強,擴展性也好)。網頁是能過Asp.net生成的,網頁上有一個Image組件,現在程序要做的是只是獲取這個圖片的URL,然后將其賦給Image組件的ImageUrl屬性就可以了。

          第一步:服務程序的開發。
          開發工具:VB。
          步驟:首先在Form上放在一個Map組件和一個Winsock組件,然后在Form_Load中寫下代碼:  
          With WinSock1
                  .RemoteHost = "127.0.0.1"
                  .RemotePort = 4001
                  .Bind 4002
          End With   
          并在Form_Load中進行地圖的初始化:加載圖層,以及符號化等。
          然后在Winsock1的Data_Arrival事件中,接收客戶端的請求(實際是經過Asp.net處理過的,也就是說WinSock收到的數據是在服務器端發送的)。Data_Arrival的代碼大致是這樣的:
          Dim strData() As Byte
          Dim strRequest As String
          Winsock1.GetData strData
          strRequest = CStr(strData)
          /////下面根據strRequest對地圖進行處理,并生成圖片
         ....................
         ....................
          Dim strFile as String
          //根據需求按一定規則生成一個文件名
          ..............
          Map1.ExportJpeg(strFile);

          第二步:在網頁中,請求生成圖片,并顯示出來。
          開發工具:Asp.net,C#
          首先,發送請求,請求的內容為一個字符串:
           ShowLoading();
          UdpClient udpClient = new UdpClient();
          Byte[] sendBytes = Encoding.ASCII.GetBytes(strRequest);
          try{
              udpClient.Send(sendBytes, sendBytes.Length, HostIP, 4002);
          }
          服務器收到請求,會成一個圖片文件,假設文件的URL地址為strUrl, 現在將這個文件顯示在瀏覽器中。
         Image1.ImageUrl = strUrl;
          HideLoading();
         
         經過這幾步之后,瀏覽器就可以看到服務器端MO生成的圖片了。

         上面是一個簡單的例子,還可以擴展出比較強的功能,但工作量會比較大。如果要進行擴展,我認為還要做好以下幾個工作:
          1、定義一個服務器與客戶端交互的規范,就像ArcIMS中通過規格定式的ArcXML來交互一樣;
          2、確定服務器端的采用的技術,是DCOM,還是WebService等,確定服務該如何提供。上面例子中方式應該來說還是很不完善的;
          3、定義一種地圖的工程文件,像ArcGis Desktop的MXD文件,或是ArcIMS中的axl文件。總之這種文件能夠定義地圖的圖層及顯示效果等,你的程序必須能夠加載種文件。
          主要就是這幾條吧。我也沒有償試去做,因為我現在不需要用它了~呵呵。
         

      posted on 2005-12-21 18:04  西西吹雪  閱讀(1116)  評論(2)    收藏  舉報

      主站蜘蛛池模板: 日韩有码国产精品一区| 中文字幕无码久久精品| 免费国产女王调教在线视频| 色成人精品免费视频| 国产性生大片免费观看性| 国产91丝袜在线观看| 婷婷丁香五月深爱憿情网| 国产精品一区二区三区污| 国内自拍网红在线综合一区| 亚洲国产天堂久久综合226114| 久久人妻夜夜做天天爽| 日韩国产精品无码一区二区三区| 亚洲欧洲无码av电影在线观看| 国产成人精品18| 国产自拍一区二区三区在线| 国产精品人妻在线观看| 全免费A级毛片免费看无码| 亚洲婷婷综合色高清在线 | 性色av无码久久一区二区三区| 国产明星精品无码AV换脸| 国产69精品久久久久乱码免费| 中文字幕一区二区网站| 亚洲精品日韩在线观看| 久久无码中文字幕免费影院蜜桃 | 中文字幕人妻av第一区| 女人腿张开让男人桶爽| 超碰伊人久久大香线蕉综合| 色综合天天色综合久久网| 亚洲av永久无码精品秋霞电影影院| 在线高清免费不卡全码| av激情亚洲男人的天堂| av永久天堂一区| 人妻中文字幕精品一页| 欧美人与动牲交a免费| 亚洲区福利视频免费看| 久久99热只有频精品8| 久久亚洲av综合悠悠色| 2021av在线| 久久青草国产精品一区| 日韩av在线不卡一区二区| 国产午夜福利精品久久不卡|