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

GIS解決方案

系統(tǒng) 2768 0

WebGIS 技術(shù)解決方案

?

The GeoServer Project - the open Internet gateway for geographic data

GeoServer 項(xiàng)目 地圖數(shù)據(jù)開放接口平臺(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.

?

用戶可以通過互聯(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 類庫

Javascript+div+css

采用自己寫

控制層

MVC

struts

?

spring

?

servlet

?

?

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

開源

GeoServer

Java 開源項(xiàng)目

SharpMap

?

商用

ESRI 公司的 ArcGIS

?

MapInfo MapXtrem

?

數(shù)據(jù)層

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

oracle

?

mysql

?

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

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ù)訪問層。

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

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

? ??????? 數(shù)據(jù)層 : GeoTools2 訪問數(shù)據(jù)庫。

?

2.2.1. 表現(xiàn)層

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

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

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

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 彭山县| 邵阳县| 江油市| 中牟县| 东乡县| 山东省| 仙桃市| 台州市| 长岛县| 淮北市| 收藏| 莱阳市| 府谷县| 方城县| 铜陵市| 三原县| 福建省| 荔浦县| 冀州市| 广饶县| 巨野县| 丁青县| 和林格尔县| 饶阳县| 肇源县| 望城县| 竹溪县| 建始县| 涪陵区| 弥勒县| 柞水县| 防城港市| 乃东县| 县级市| 汝城县| 贵定县| 辰溪县| 邢台市| 怀化市| 瑞安市| 庆城县|