CouchDB-CouchDB/地理沙发

司机简称

库奇德

生成依赖项

小URL

这个驱动程序可以连接到CouchDB服务,这可能是通过geocooch空间扩展启用的。

为了编译CouchDB驱动程序,必须使用Curl支持构建GDAL/OGR。

驱动程序支持读写操作。

驱动程序功能

Supports Create()

This driver supports the GDALDriver::Create() operation

Supports Georeferencing

This driver supports georeferencing

CouchDB与OGR概念

CouchDB数据库被视为OGR层。CouchDB文档被视为OGR特性。

OGR最好按照GeoJSON规范处理CouchDB文档。

数据集名称语法

打开CouchDB数据源的语法是:

couchdb:http://example.com[/layername]

其中http://example.com指向CouchDB存储库的根,layername是CouchDB数据库的名称(可选)。

也可以直接打开视图:

couchdb:http://example.com/layername/_design/adesigndoc/_view/aview[?include_docs=true]

根据map()函数中emit()调用返回的值,可能需要include_docs=true。

认证

有些操作,特别是写操作,需要身份验证。身份验证可以通过 COUCHDB_USERPWD 环境变量设置为user:password或直接在URL中。

过滤

当geocooch扩展可用时,驱动程序将使用SetSpatialFilter()将任何空间过滤器集转发到服务器。对于使用SetAttributeFilter()设置的(非常简单的)属性过滤器,它也同样如此。当服务器端筛选失败时,它将默认返回到客户端筛选。

默认情况下,驱动程序将尝试以下空间过滤功能“_design/ogr_spatial/_spatial/spatial”,这是ogr创建的图层的有效空间过滤功能。如果该筛选函数不存在,但存在另一个筛选函数,则可以使用COUCHDB_space_filter配置选项指定它。

请注意,第一次发出属性请求时,可能需要数据库中的写入权限才能创建新的索引视图。

分页

默认情况下,从服务器检索的功能块为500。可以使用COUCHDB_PAGE_SIZE配置选项更改此号码。

写入支持

可以创建和删除表。

只有在更新模式下打开数据源时才启用写支持。

使用CreateFeature()插入新功能时,如果命令成功,OGR将获取返回的id和rev并使用它们。

写支持和OGR事务

默认情况下,CreateFeature()/SetFeature()操作与OGR API调用同步发布到服务器。但是,当由于许多客户机/服务器交换而发出大量命令时,这可能会导致性能下降。

可以在OGRLayer::StartTransaction()和OGRLayer::CommitTransaction()之间包围CreateFeature()/SetFeature()操作。这些操作将存储在内存中,并且仅在调用CommitTransaction()时执行。

图层创建选项

支持以下图层创建选项:

  • UPDATE_PERMISSIONS =登录用户 |ALL| 管理|函数(…)|默认值:更新新层的权限。

    • 如果设置为LOGGED_USER(默认),则只有LOGGED用户才能在层中进行更改。

    • 如果设置为“全部”,则所有用户都可以在层中进行更改。

    • 如果设置为“管理”,则只有管理员才能在层中进行更改。

    • 如果以“function(”开头,则creation选项的值将用作 validate_doc_update function .

    • 否则,将允许所有用户对非设计文档进行更改。

  • GEOJSON =YES | NO:设置为NO以避免将文档作为GeoJSON文档写入。默认为“是”。

  • COORDINATE_PRECISION =整数:小数分隔符后要写入坐标的最大位数。默认为15。”将发生“Smart”截断以删除尾随零。注意:在更新模式下打开数据集时,可以将OGR_COUCHDB_COORDINATE_PRECISION配置选项设置为具有类似的角色。

实例

列出CouchDB存储库的表:

ogrinfo -ro "couchdb:http://some_account.some_couchdb_server.com"

从shapefile创建和填充表:

ogr2ogr -f couchdb "couchdb:http://some_account.some_couchdb_server.com" shapefile.shp