美文网首页开源
geoserver的探索

geoserver的探索

作者: 进击的程序源 | 来源:发表于2018-04-27 12:38 被阅读80次

    源码解读:

    1.通过wicket的id去更改节点对应的值

    image.png

    /gs-web-core/src/main/java/org/geoserver/web/GeoServerBasePage.html


    image.png

    /gs-web-core/src/main/java/org/geoserver/web/GeoServerBasePage.java

    image.png

    2.点击页面上的 服务-WCS

    请求的是org.geoserver.wcs.web.WCSAdminPage,也就是spring的配置文件里面的属性值

    image.png image.png

    同样是使用了wicket的方式去充填视图


    image.png 这里的很关键 image.png

    componentClass是对应的org.geoserver.wcs.web.WCSAdminPage类的对象

    在很多的文件中,这个类都有作为对象去创建,然后通过wicket的listview的对象去加载。这个和目前安卓里面的滑动视图Listview和adapter有些异曲同工之处。


    image.png

    3.http get的请求

    WMS的请求一般使用HTTP Get的形式直接从地址栏输入或者通过JS代码发送到服务器端。请求的格式如下所示:

    http://localhost:8080/geoserver /wms?bbox=-74.01199448397661,40.70732689845813,-74.00841053684495,40.71216558957052&styles=&Format=application/openlayers&request=GetMap&version=1.1.1&layers=tiger:poi&width=457&height=550&srs=EPSG:4326,该请求中wms是要请求的服务,version=1.1.1是请求的wms版本,GetMap是请求的服务方法,tiger:poi是要访问的地理数据。

    4.结构

    “platform”,“main”,“ows”,“wfs”,“wcs”,“wms” 个包是主要的包。它们的关系如下图


    image.png

    展现了包之间的依赖关系,下面的包依赖上面的包,最顶端是“platform”。

    “platform”,“ows”和“main”包含了GeoServer最基础最核心的类和接口,下面介绍一些重要的类和接口,“wfs”,“wcs”,“wms”将利用这些类来完成具体的功能:

    1)platform包的org.geoserver.platform.Service类代表一个具体的服务,例如WMS,它用ID和VERSION来唯一标定,每一个服务都会提供若干操作(Operation);

    2)platform包的org.geoserver.platform.Operation类代表某个服务下可以被请求的操作,例如GetCapabilities,这个类利用Java的反射机制;

    3)ows包的org.geoserver.ows.Dispatcher类处理所有OWS的请求,是需要关注的重点;

    4)main包的org.geoserver.catalog.Catalog接口包含资源访问的方法,这些资源有“Layer”,“Layer Group”,“Map”,“Namesapce”,“Resource”,“Store”,“Style”和“Workspace”,它们是组织和使用数据的关键;

    5)main包的org.geoserver.config.GeoServer接口包含访问服务器公共配置信息的方法,我们将会在很多场合看到它;

    6)main包里面还有一些描述资源的接口,例如org.geoserver.catalog.LayerInfo代表“Layer”资源。

    相关文章

      网友评论

        本文标题:geoserver的探索

        本文链接:https://www.haomeiwen.com/subject/veeblftx.html