pycsw管理由 pycsw-admin.py
实用程序处理。 pycsw-admin.py
是作为 pycsw 安装过程的一部分安装到系统,可在你的路径中使用。
注解
运行 pycsw-admin.py -h
来查看所有的管理操作与参数
pycsw支持以下数据库:
注解
最简单快速部署 pycws 的方式是使用 SQLite3 作为数据后端。
注解
PostgreSQL支持PostGIS功能,如果启用
注解
如果在建立 pycsw/PostgreSQL 数据库之前激活PostGIS(1.×或2.x),则将启用本地PostGIS geometries 。
通过 pycsw 发布地理空间元数据,执行以下操作:
$ pycsw-admin.py -c setup_db -f default.cfg
这将为存储库创建必要的表与值。
创建的数据库是兼容 OGC SFSQL 的,此数据库可应用于任何实现(相关标准的)软件。例如, 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
注解
如检测到PostGIS, pycsw-admin.py 脚本就不会再创建 SFSQL 表,因为数据库中已经存在了。
$ pycsw-admin.py -c load_records -f default.cfg -p /path/to/records
这时所有的 *.xml
记录就会从 /path/to/records
导入到 default.cfg
中指定的数据库 (repository.database
)。将 -r
传递到脚本中, 程序 /path/to/records
就会递归运行。将 -y
传递到脚本中, 程序 /path/to/records
将强制替换现有的相同元数据标识符。请注意, -p
只能接受一个目录路径或单个文件。
注解
记录也可以使用 CSW-T导入 (请查看 事务 )。
$ pycsw-admin.py -c export_records -f default.cfg -p /path/to/output_dir
这会将 default.cfg
(repository.database
) 中指定的数据库的每项记录都以XML格式文件导出到在磁盘目录 /path/to/output_dir
下。
csw:AnyText
(任意文本)的查询。pycsw创建的tsvector栏是基于文本anytext栏。然而pycsw针对anytext_tsvector(任意文本)栏创建了GIN索引。这在 pycsw.admin.setup_db
是自动生成的。任何针对 csw:AnyText or apiso:AnyText 的查询都是使用PostgreSQL FTS处理的pycsw.admin.setup_db
一起更新)。本地geometries也必须在 WKT 中手动填充。pycsw的下一个版本就会将此过程自动化运行pycsw支持在现在的存储库中发布元数据。为了启用此功能,必须修改默认数据库映射以表示映射到抽象核心模型的现有数据库列(默认的眏射方式在 pycsw/config.py:MD_CORE_MODEL
中)
覆盖默认的配置:
etc/mappings.py
数据库映射default.cfg
中,设置 repository.mappings
为 mappings.py 文件的位置:[repository]
...
mappings=path/to/mappings.py
注意,还可以将映射作为Python对象引用为虚线路径:
[repository]
...
mappings='path.to.pycsw_mappings'
请参照 GeoNode配置 , HHypermap配置 和 开放性数据目录配置 查看更多例子.
pycsw需要在任何存储库中存在某些存储库属性和语义,以便按照以下方式操作:
pycsw:Identifier
:唯一的标识符pycsw:Typename
: 元数据的类型名;典型的根标签值(例如 csw:Record
, gmd:MD_Metadata
)pycsw:Schema
: 元数据图表;典型的目标名称空间(例如 http://www.opengis.net/cat/csw/2.0.2
, http://www.isotc211.org/2005/gmd
)pycsw:InsertDate
: 插入日期pycsw:XML
:完整的XML表现形式pycsw:AnyText
: XML元素文件值包,用于完整的文本搜索。采用以下设计模式实现:pycsw:BoundingBox
: WKT or EWKT geometry字符串如果指定了属性,则存在以下存储库语义:
pycsw:Keywords
: 以逗号分隔的关键字列表pycsw:Links
: 链接的格式结构 "name,description,protocol,url[^,,,[^,,,]]"映射值由以下的结构获得:
datetime.datetime
或 datetime.date
对象在 pycsw/config.py:MD_CORE_MODEL
中可获得更多资料。