GeoServer學習手記(九):WMS工程分析之Java包介紹
粟衛民http://www.gisdev.cn/ http://blog.csdn.net/suen/ 日期:2009-10-28
保留所有著作權。如需轉載,請聯絡作者,並在醒目位置註明出處
前面概述了GeoServer的功能(GeoServer學習手記(一):GeoServer概述,http://blog.csdn.net/suen/archive/2009/10/25/4726204.aspx),和代碼下載及在Eclipse中載入的方法(GeoServer學習手記(二):代碼下載及在Eclipse中載入,http://blog.csdn.net/suen/archive/2009/10/25/4726733.aspx),也對Servlet及HTTP派發過程進行了介紹:
GeoServer學習手記(四):Servlet及HTTP派發過程之一:
http://blog.csdn.net/suen/archive/2009/11/02/4759332.aspx
GeoServer學習手記(五):Servlet及HTTP派發過程之二:
http://blog.csdn.net/suen/archive/2009/11/02/4759398.aspx
GeoServer學習手記(六):Servlet及HTTP派發過程之三:
http://blog.csdn.net/suen/archive/2009/11/02/4759410.aspx
GeoServer學習手記(七):Servlet及HTTP派發過程之四:
http://blog.csdn.net/suen/archive/2009/11/11/4799572.aspx
GeoServer學習手記(八):Servlet及HTTP派發過程之五:
http://blog.csdn.net/suen/archive/2009/11/11/4799587.aspx
接下來得開始正式的分析了,先分析WMS工程。
GeoServer的WMS工程的包如下所示:
org.geoserver.wms |
包含對wms請求進行響應的WebMapService介面、預設實現DefaultWebMapService、服務配置資訊WMSInfo、WMS載入類以及浮水印等相關類。DefaultWebMapService類將GetMap等操作轉寄給具體Bean組件去操作,如wmsGetMap。 |
org.geoserver.wms.kvp |
名稱-值對(kvp)相關解析類 |
org.geoserver.wms.responses |
對WMS的輸出進行加強,如metatile式輸出。 |
org.geoserver.wms.responses.decoration |
在WMS輸出上添加裝飾,例、比例尺、浮水印等。 |
org.geoserver.wms.util |
包含WMS輔助類,現只包含輔助構造WMS請求的WMSRequests類 |
org.geoserver.wms.xml |
現只包含對SLD請求XML進行讀取的類SLDXmlRequestReader。 |
org.vfny.geoserver.config |
配置模型,主要的類為WMSConfig。 |
org.vfny.geoserver.global |
儲存應用程式資訊,裡面只有一個類WMS,已被org.geoserver.wms的WMSInfo介面取代。 |
org.vfny.geoserver.sld |
現只包含對SLD異常進行處理的類SldException |
org.vfny.geoserver.sld.requests |
對WMS中SLD請求進行讀取的類 |
org.vfny.geoserver.sld.responses |
對WMS中SLD進行響應的類 |
org.vfny.geoserver.wms |
包含WMS一些操作的響應介面,其中最重要的是GetMapProducer介面,各種格式Map的產生都實現這個介面,包括AbstractGetMapProducer, AbstractRasterMapProducer, AtomGeoRSSMapProducer, DefaultRasterMapProducer, GeoTiffMapProducer, GIFMapProducer, JPEGMapProducer, KMLMapProducer, KMZMapProducer, MetatileMapProducer, OpenLayersMapProducer, PNGMapProducer, RSSGeoRSSMapProducer, SvgMapProducerProxy, TiffMapProducer等 |
org.vfny.geoserver.wms.requests |
包含對WMS請求進行讀取的類。 |
org.vfny.geoserver.wms.requests.readers |
包含WmsXmlRequestReader類。 |
org.vfny.geoserver.wms.responses |
對WMS進行響應的包,包含各種格式Map的產生類。 |
org.vfny.geoserver.wms.responses.featureInfo |
|
org.vfny.geoserver.wms.responses.helpers |
包含對WMS進行響應的一些工具類,如DescribeLayerTransformer、JAISupport、WMSCapsTransformer。 |
org.vfny.geoserver.wms.responses.legend.gif |
包含GIF格式的圖例的產生和轉換類 |
org.vfny.geoserver.wms.responses.legend.jai |
包含JAI庫支援的格式的圖例的產生和轉換類 |
org.vfny.geoserver.wms.responses.legend.png |
包含PNG格式的圖例的產生和轉換類 |
org.vfny.geoserver.wms.responses.legend.raster |
|
org.vfny.geoserver.wms.responses.map.georss |
包含GeoRSS格式的Map的產生和轉換類,如AtomGeoRSSMapProducer、RSSGeoRSSMapProducer等 |
org.vfny.geoserver.wms.responses.map.geotiff |
包含GeoTiff格式的Map的產生和轉換類GeoTiffMapProducer |
org.vfny.geoserver.wms.responses.map.gif |
包含GIF格式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.jpeg |
包含JPEG格式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.kml |
包含KML格式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.metatile |
包含瓦片形式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.openlayers |
包含Openlayers形式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.pdf |
包含PDF格式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.png |
包含PNG格式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.svg |
包含SVG格式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.map.tiff |
包含TIFF格式的Map的產生和轉換類 |
org.vfny.geoserver.wms.responses.palette |
包含與顏色盤相關的類 |
org.vfny.geoserver.wms.servlets |
對wms操作進行響應的實際servlet類,包括GetMap、Capabilities、DescribeLayer、GetFeatureInfo、GetLegendGraphic、GetMapLegacy、KMLReflector、WMService等 |