日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

GIS解決方案

系統(tǒng) 2745 0

WebGIS 技術(shù)解決方案

?

The GeoServer Project - the open Internet gateway for geographic data

GeoServer 項(xiàng)目 地圖數(shù)據(jù)開(kāi)放接口平臺(tái)

The GeoServer Project is a Java (J2EE) implementation of:

GeoServer 是用 java 實(shí)現(xiàn)的

  • The OpenGIS Consortium's Web Feature Server specification. With full transactional support!
  • ?
  • The OpenGIS Consortium's Web Map Server Specification.
  • ZServer

GeoServer is free software, available under the GPL 2.0 license.

GeoServer 是免費(fèi)軟件, GPL 2.0 授權(quán)許可 .

Users who would like to access and modify their geographic data over the Internet using flexible, industry-approved standards should take a look at GeoServer.

?

用戶可以通過(guò)互聯(lián)網(wǎng)靈活地編輯他們的地圖數(shù)據(jù),遵守工業(yè)化標(biāo)準(zhǔn)。

1. 技術(shù)選型

結(jié)構(gòu)

一級(jí)選項(xiàng)

二級(jí)選項(xiàng)

備注

選擇

表現(xiàn)層

標(biāo)準(zhǔn)的 SVG

?

?

IE vml

dojo

選用 ajax 類庫(kù)

Javascript+div+css

采用自己寫(xiě)

控制層

MVC

struts

?

spring

?

servlet

?

?

服務(wù)應(yīng)用層

開(kāi)源

GeoServer

Java 開(kāi)源項(xiàng)目

SharpMap

?

商用

ESRI 公司的 ArcGIS

?

MapInfo MapXtrem

?

數(shù)據(jù)層

普通數(shù)據(jù)庫(kù)

oracle

?

mysql

?

專業(yè)數(shù)據(jù)庫(kù)

PostGIS

?

數(shù)據(jù)格式

?

?

?

?

?

2. 技術(shù)實(shí)現(xiàn)方案

2.1. GeoServer 架構(gòu)設(shè)計(jì)

GeoServer 系統(tǒng)架構(gòu)平面圖

?

GeoServer is constructed using a Layered Design as outlined in the diagram below. There are two Layer systems in use - the classic J2EE Servlet/Handler/Request/Response and the STRUTS Framework.

采用二層結(jié)構(gòu), J2EE Servlet/Handler/Request/Response Struts MVC 平臺(tái)

?

2.2. GeoServer 分層結(jié)構(gòu)實(shí)現(xiàn)

GeoServer 結(jié)構(gòu)分為三層實(shí)現(xiàn)結(jié)構(gòu):表現(xiàn)層、控制層、數(shù)據(jù)訪問(wèn)層。

? ??????? 表現(xiàn)層:采用 Ajax 技術(shù), javascript CSS+DIV 等方式實(shí)現(xiàn)圖片的放大、縮小、平移、選點(diǎn)等方式。

? ??????? 控制層:采用 spring struts 實(shí)現(xiàn) MVC 的控制。

? ??????? 數(shù)據(jù)層 : GeoTools2 訪問(wèn)數(shù)據(jù)庫(kù)。

?

2.2.1. 表現(xiàn)層

表現(xiàn)層采用 AJAX 的技術(shù);系統(tǒng)前端的一些工具繪圖采用了 dojo 的框架來(lái)處理,現(xiàn)在瀏覽器前端的繪圖分為兩個(gè)流派: IE vml ,標(biāo)準(zhǔn)的 SVG ,如果客戶的系統(tǒng)只運(yùn)行在 IE 的話,可以考慮使用 vml ,如果想用標(biāo)準(zhǔn)的 SVG 來(lái)繪圖,那么 IE 必須安裝插件才能運(yùn)行。剛好 dojo 幫我們做了一件事情,內(nèi)部封裝了一些函數(shù),根據(jù)客戶使用的瀏覽器不同,而自動(dòng)轉(zhuǎn)換成不同的代碼來(lái)執(zhí)行。不能不說(shuō)這是一個(gè)很方便的類庫(kù),而且封裝過(guò)的類庫(kù)無(wú)論是兼容性和使用方便性方面都是不錯(cuò)。現(xiàn)在 dojo 已經(jīng)提供三維立體的函數(shù)庫(kù)了,希望 dojo 地圖處理這個(gè)模塊越做越好。如果想在 gis 分析的同時(shí)給出一些統(tǒng)計(jì)圖輔助分析是,可以考慮使用 dojo 的三維立體模塊,那將是一個(gè)全新的體驗(yàn)。

2.2.2. 控制層和應(yīng)用層

控制層的選擇跟 B/S 結(jié)構(gòu)的 J2EE MVC 結(jié)構(gòu)是一樣的,這里就可以選用 Spring struts MVC

2.2.2.1. Geoserver+Spring

2 GeoServer Platform

This section is a Short introduction to Spring, and its role in GeoServer.
Excerpt from the Spring Mission Statement .

?????????????????????????????? Spring should be a pleasure to use

?????????????????????????????? Your application code should not depend on Spring APIs

?????????????????????????????? Spring should not compete with good existing solutions, but should foster integration. (For example, JDO, Toplink, and Hibernate are great O/R mapping solutions. We don't need to develop another one.)

Spring + GeoServer

In GeoServer Spring is a container , whose job is to house and manage components inside of the container. A component in Spring is referred to as a bean . Consider the following two GeoServer components / beans called GeoServer , and Data .

Spring is used as the glue which ties together GeoServer components managing the dependencies between them.

GeoServer.java

    
      
        /**
      
    
  
    
      
         * Represents the running server as a whole.
      
    
  
    
      
         */
      
    
  
    
      
        class GeoServer {
      
    
  
    
      
        ?
      
    
  
    
      
        
          ? 
        
        GeoServer() {
      
    
  
    
      
        
          ???? 
        
        ...
      
    
  
    
      
        
          ? 
        
        }
      
    
  
    
      
        }
      
    
  

Data.java

    
      
        /**
      
    
  
    
      
         * The GeoServer catalog.
      
    
  
    
      
         */
      
    
  
    
      
        class Data {
      
    
  
    
      
        ?
      
    
  
    
      
        
          ? 
        
        /** reference to server facade */
      
    
  
    
      
        
          ? 
        
        GeoServer server;
      
    
  
    
      
        ?
      
    
  
    
      
        
          ? 
        
        Data(GeoServer server) {
      
    
  
    
      
        
          ??? 
        
      
      
        
          
            this
          
        
      
      
        .server = server;
      
    
  
    
      
        
          ? 
        
        }
      
    
  
    
      
        ?
      
    
  
    
      
        }
      
    
  

In the above, Data is dependent on GeoServer . This dependency is declared simply by adding a reference to a GeoServer to the constructor of Data. This form of dependency declaration is known as Inversion of Control (IOC).

In order for this dependency on GeoServer to be satisfied at runtime, we must describe the dependency to Spring. This is done with a Spring Context .

applicationContext.xml

    
      
        <beans>
      
    
  
    
      
        ?
      
    
  
    
      
        
          ? 
        
        <!-- declare the GeoServer component -->
      
    
  
    
      
        
          ? 
        
        <bean id=
      
      
        
          
            "geoServer"
          
        
      
      
         class=
      
      
        
          
            "org.vfny.geoserver.global.GeoServer"
          
        
      
      
        />
      
    
  
    
      
        ?
      
    
  
    
      
        font-family: Lucida Console; 
      
    
  

GIS解決方案


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 手机| 双鸭山市| 阿克| 常州市| 华亭县| 汶上县| 华阴市| 松滋市| 东台市| 九龙城区| 织金县| 枣强县| 资兴市| 托克托县| 阳春市| 抚顺县| 任丘市| 年辖:市辖区| 太仓市| 屏南县| 嘉义市| 华池县| 潼南县| 永登县| 汽车| 麟游县| 宣化县| 临泉县| 勃利县| 蒙阴县| 寿光市| 防城港市| 邓州市| 祁连县| 章丘市| 运城市| 嘉黎县| 随州市| 克什克腾旗| 濉溪县| 永平县|