../_images/logo_pycsw.png ../_images/OSGeo_project.png

pycsw Quickstart

Pycsw是一个写在 Python . Pycsw允许发布和发现地理空间元数据。现有的地理空间元数据存储库可以通过ogc:csw 2.0.2或ogc:csw 3.0.0公开。

运行测试仪应用程序

  1. 在桌面上转到 Web Services --> pycsw 打开或浏览Firefox http://localhost/pycsw/tests/index.html

    ../_images/pycsw_tester_startup.png
通过选择左边的下拉列表,用户可以看到各种预定义的POST请求,这些请求编码为XML,可以发送到pycsw。
  1. 选择“apiso/DescribeRecord”,然后按“发送”按钮。右侧面板上显示了ISO应用程序配置文件记录的说明。

    ../_images/pycsw_tester_describe_apiso_record.png
  2. 选择“GetCapabilities SOAP”并按“Send”按钮。一个SOAP请求被发送到服务器以公布它们的web服务功能。

    ../_images/pycsw_tester_soap_capabillities.png
  3. 您可以在“查询”框中选择空间坐标并过滤“数据”框。

    ../_images/pycsw_tester_getrecords_bbox_filter.png

您可以浏览所有可用的请求并执行来自此测试应用程序的各种请求。

了解功能和配置

Pycsw安装的功能可以在 http://localhost/pycsw?service=CSW&version=2.0.2&request=GetCapabilities . 如果你只是使用 http://localhost/pycsw 您将获得CSW3.0.0的功能文档,因为这是支持的最新版本。

要编辑功能文档中包含的web服务元数据,可以修改该文件 /etc/pycsw/default.cfg 在标签下 [metadata:main] .

如果要启用INSPIRE Discovery Service支持,请在标记下填写元数据 [metadata:inspire] 并设置 enabled 属性到 true .

有关完整功能和配置选项,请参阅 documentation 在Pycsw网站上。

创建元数据

空间数据集或空间Web服务的元数据文件可以通过元数据的inspire指令、欧洲开放源代码元数据编辑器(euosme)的开放源代码实现来创建。此应用程序位于 http://inspire-geoportal.ec.europa.eu/editor/ . 源代码位于 https://joinup.ec.europa.eu/svn/euosme/trunk

您可以通过浏览应用程序选项卡,添加诸如数据所有者的名称、关键字、web上的资源位置、地理位置(使用边界框或国家名称)等信息来填充必需的元数据字段。

../_images/pycsw_euosme_metadata_input.png

添加所有可用信息后,按 validation 页面顶部的按钮,用于检查与INSPIRE指令的一致性。

../_images/pycsw_euosme_save_metadata.png

成功验证后,可以将XML文件保存到本地磁盘,并通过文本编辑器或浏览器进行查看。

加载元数据

Pycsw支持以下数据库:

  • 平方英寸3
  • PostgreSQL(Postgis可选)
  • MySQL

在osgeolive中,实现了一个简单的sqlite设置。数据库可以在 /usr/share/pycsw/tests/suites/cite/data/records.db

创建新数据库

为了创建新的sqlite数据库,我们需要:

  1. 编辑 /etc/pycsw/default.cfg

    [存储库]

    • 数据库: 元数据数据库的完整文件路径,采用数据库URL格式(请参阅https://docs.sqlachemy.org/en/latest/core/engines.html数据库URL)
    • 桌子: 元数据记录的表名(默认为 records
  2. 设置数据库:

    $ sudo pycsw-admin -c setup_db -f /etc/pycsw/default.cfg
    

这将为存储库创建必要的表和值。

创建的数据库是 Simple Feature Access (SFS) 兼容的数据库,可用于任何实现软件。例如,用于 OGR

$ ogrinfo /path/to/records.db
INFO: Open of 'records.db'
using driver 'SQLite' successful.
1: records (Polygon)
$ ogrinfo -al /path/to/records.db
# lots of output

导入元数据

$ sudo pycsw-admin -c load_records -f /etc/pycsw/default.cfg -p /path/to/records -r

这将导入所有 *.xml 记录来自 /path/to/records 进入新的数据库,配置存储库以根据ogc:csw的表53公开查询表。

通过QGIS元搜索插件进行数据发现

  1. 在桌面上转到 Desktop GIS --> QGIS 要启动QGIS,请单击 MetaSearch 按钮(CSW图标)
../_images/pycsw_qgis_metasearch_open.png
  1. 按添加pycsw服务器 New 按钮和输入 http://localhost/pycsw/
../_images/pycsw_qgis_metasearch_add.png
  1. 使用添加一些默认服务器 Add default servers 按钮,还可以使用 Server info 按钮
../_images/pycsw_qgis_metasearch_server_info.png
  1. 使用目录(通过字符串值或边界框)执行搜索
../_images/pycsw_qgis_metasearch_search.png

尝试的东西

  • 通过设置适当的请求尝试通过测试器应用程序发现数据,例如,任何带有字符串“images”的文本搜索都会导致发现以前由euosme创建的XML数据。
../_images/pycsw_tester_discovery.png
  • 尝试通过python发现数据 OWSLib CSW 接口。
  • 尝试从geonode中发现数据,它也包含在osgeolive中,并使用pycsw作为默认的csw引擎。

接下来呢?

有关Pycsw的更多信息,请咨询 documentation 在Pycsw网站上。