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原生的文件夹系统一致,就可以使用很多已经存在的工具。

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

  • 相关阅读:
    查看Android应用所需权限(uses-permission)
    Android Camera后台拍照
    傅里叶变换
    linux文件系统问题:wrong fs type, bad option, bad superblock
    H3 android 系统编译
    开源股票数据工具
    获取股票实时交易数据的方法
    获取历史和实时股票数据接口
    CRC在线计算工具
    硬盘自动挂载
  • 原文地址:https://www.cnblogs.com/sillyemperor/p/1945789.html
Copyright © 2011-2022 走看看