zoukankan      html  css  js  c++  java
  • GeoServer源码解析和扩展 (四)文件系统

        上一章我介绍了GeoServer的一些重要的资源以及它们的访问接口,现在来看看它们的保存形式。GeoServer的数据没有保存到数据库,而是文件系统,这让我们的学习轻松不少。默认情况下,GeoServer的数据都会放到一个叫“data_dir”的文件夹下面,虽然你可以自己设置这个文件夹的路径,但是它的内部结果是固定的,如下图

    image

    这是2.0.2版本的data_dir,从子目录的名称基本上能够猜测它的作用。“coverages”保存的是影像数据。“data”保存了矢量数据,基本上是Shapefile。“styles”保存的是样式文件,即“*.sld”文件。“workspaces”保存的是工作空间,这是GeoServer的概念,工作空间代表一个独立的分组,它有自己的Namespace,它包含有Store,Layer和FeatureType,包含在Workspace下面的数据都需要用Namespace来引用,例如这段URL:http://localhost:8080/geoserver/wms?bbox=-130,24,-66,50&styles=population&Format=image/png&request=GetMap&layers=topp:states&width=550&height=250&srs=EPSG:4326 ,它请求一个叫“topp:states”的图层的地图,这里的“topp”就是Namespace,我们可以看到“workspaces”下面确实有一个叫“topp”的文件夹

    image

    打开“topp”我们会看到如下内容

    image

    没有看到“states”图层,这是怎么回事呢?Workspace下面的文件夹对应的是Store这个概念,而Layer和FeatureType都属于Store。下图是“states_shapefile”文件夹的内容

    image

    打开“states”文件夹可以看到

    image

    到此,我们就把资源的文件夹关系简单浏览了一遍。其中,我认为,最重要的关系就是Workspace与包含数据的关系。

        一般来说,我们不太会直接访问这些文件夹,GeoServer的资源访问接口已经为我们提供了完整的访问机制。但是,如果我们需要对GeoServer进行扩展,尤其是需要扩展概念的时候,例如,需要增加一种资源类型叫Table,代表一个表数据,也许是一个Excel表格。这时候我们就需要将它放到合适的文件夹下面,最好是和GeoServer原生的文件夹系统一致,就可以使用很多已经存在的工具。

        好了,这一章就写到这里,这也是本系列的最后一篇,谢谢观赏。时值新春佳节来临之际在这里祝福所有人:身体健康,财源广进,兔年吉祥如意。

  • 相关阅读:
    606. Construct String from Binary Tree
    696. Count Binary Substrings
    POJ 3255 Roadblocks (次短路)
    POJ 2823 Sliding Window (单调队列)
    POJ 1704 Georgia and Bob (博弈)
    UVa 1663 Purifying Machine (二分匹配)
    UVa 10801 Lift Hopping (Dijkstra)
    POJ 3281 Dining (网络流之最大流)
    UVa 11100 The Trip, 2007 (题意+贪心)
    UVaLive 4254 Processor (二分+优先队列)
  • 原文地址:https://www.cnblogs.com/sillyemperor/p/1945789.html
Copyright © 2011-2022 走看看