

pycsw Quickstart¶
Pycsw是一个写在 Python . Pycsw允许发布和发现地理空间元数据。现有的地理空间元数据存储库可以通过ogc:csw 2.0.2或ogc:csw 3.0.0公开。
运行测试仪应用程序¶
通过选择左边的下拉列表,用户可以看到各种预定义的POST请求,这些请求编码为XML,可以发送到pycsw。
选择“apiso/DescribeRecord”,然后按“发送”按钮。右侧面板上显示了ISO应用程序配置文件记录的说明。
选择“GetCapabilities SOAP”并按“Send”按钮。一个SOAP请求被发送到服务器以公布它们的web服务功能。
您可以在“查询”框中选择空间坐标并过滤“数据”框。
您可以浏览所有可用的请求并执行来自此测试应用程序的各种请求。
了解功能和配置¶
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上的资源位置、地理位置(使用边界框或国家名称)等信息来填充必需的元数据字段。

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

成功验证后,可以将XML文件保存到本地磁盘,并通过文本编辑器或浏览器进行查看。
加载元数据¶
Pycsw支持以下数据库:
- 平方英寸3
- PostgreSQL(Postgis可选)
- MySQL
在osgeolive中,实现了一个简单的sqlite设置。数据库可以在 /usr/share/pycsw/tests/suites/cite/data/records.db
创建新数据库¶
为了创建新的sqlite数据库,我们需要:
编辑
/etc/pycsw/default.cfg
:[存储库]
- 数据库: 元数据数据库的完整文件路径,采用数据库URL格式(请参阅https://docs.sqlachemy.org/en/latest/core/engines.html数据库URL)
- 桌子: 元数据记录的表名(默认为
records
)
设置数据库:
$ 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
通过QGIS元搜索插件进行数据发现¶
- 在桌面上转到 Desktop GIS --> QGIS 要启动QGIS,请单击 MetaSearch 按钮(CSW图标)

- 按添加pycsw服务器 New 按钮和输入
http://localhost/pycsw/

- 使用添加一些默认服务器 Add default servers 按钮,还可以使用 Server info 按钮

- 使用目录(通过字符串值或边界框)执行搜索

尝试的东西¶
- 通过设置适当的请求尝试通过测试器应用程序发现数据,例如,任何带有字符串“images”的文本搜索都会导致发现以前由euosme创建的XML数据。

- 尝试通过python发现数据 OWSLib CSW 接口。
- 尝试从geonode中发现数据,它也包含在osgeolive中,并使用pycsw作为默认的csw引擎。
接下来呢?¶
有关Pycsw的更多信息,请咨询 documentation 在Pycsw网站上。