事务

pycsw可获取CSW和事务请求(CSW-T)。事务在默认情况下是禁用的; 要启用, manager.transactions 必须设置为值 true 。 进入事务后,功能仅可以设置IP地址,IP地址必须在 manager.allowed_ips 中。

支持的源类型

对于事务和获限,pycsw默认支持以下元数据源类型:

源类型 空间名称 订单 获取
Dublin Core http://www.opengis.net/cat/csw/2.0.2
FGDC http://www.opengis.net/cat/csw/csdgm
GM03 http://www.interlis.ch/INTERLIS2.3
ISO 19139 http://www.isotc211.org/2005/gmd
ISO GMI http://www.isotc211.org/2005/gmi
OGC:CSW 2.0.2 http://www.opengis.net/cat/csw/2.0.2  
OGC:WMS 1.1.1/1.3.0 http://www.opengis.net/wms  
OGC:WMTS 1.0.0 http://www.opengis.net/wmts/1.0  
OGC:WFS 1.0.0/1.1.0/2.0.0 http://www.opengis.net/wfs  
OGC:WCS 1.0.0 http://www.opengis.net/wcs  
OGC:WPS 1.0.0 http://www.opengis.net/wps/1.0.0  
OGC:SOS 1.0.0 http://www.opengis.net/sos/1.0  
OGC:SOS 2.0.0 http://www.opengis.net/sos/2.0  
WAF urn:geoss:urn  

其它元数据模型,请参考 配置文件的插件

注解

当使用sqlite3时,sqlite3的数据库文件(及其母目录)一定得完整可写的。例如:

$ mkdir /path/data
$ chmod 777 /path/data
$ chmod 666 test.db
$ mv test.db /path/data

对于CSW-T部署,强烈建议在此目录驻留一定区域,此区域是HTTP访问不到的。

获取

注解

你的服务器必须能够使此功能传出HTTP请求。

pycsw支持CSW-T Harvest 操作。获取的记录需要设置一个cronjob来定期刷新本地数据库记录。在 etc/harvest-all.cron 中,样本cronjob是可以利用到的,此样本cronjob指向 pycsw-admin.py (必须指定一个配置的正确路径)。如果获取请求指定为 CSW:ResponseHandler ,其获取的结果会由电子邮件(通过 mailto )或是ftp(通过``FTP://`` )发送.

注解

对于使用 mailto: 协议的 csw:ResponseHandler 值,你必须在你的 configuration 设定 server.smtp_host.

OGC Web服务

当获取OGC Web服务时,可以请求提供服务的基本URL作为获取的一部分。 pycsw将动态地创建``GetCapabilities``请求。

当获取其它CSW服务器时,pycsw页面就默认在10这个值上。可以在 manager.csw_harvest_pagesize 程序中将此值修改,请参照 configuration 选项。强烈建议使用 CSW:ResponseHandler 参数为收获大的CSW目录,以防止HTTP超时。

事务

pycsw支持 Transaction 操作( InsertUpdateDelete )的3种模式:

  • Insert:完整的XML文档可以用CSW-T插入
  • Update:针对``CSW:Constraint``,可做到完整记录的更新与记录属性的更新
  • 删除:针对``CSW:Constraint``进行删除

若事务请求指定于``csw:ResponseHandler``,可通过email ( mailto:) 或ftp(FTP://)发送事务操作的结果.

参考: 测试 ,包含有CSW-T 请求示例。