Cloudant -- Cloudant

司机简称

Cloudant

生成依赖项

利勃曲尔

Cloudant和CouchDB是API兼容的,基于相同的核心技术。Cloudant的地理空间扩展独立于Geocooch。这个驱动程序可以连接到a Cloudant服务,这可能是通过Cloudant空间扩展启用的。

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

驱动程序支持读写操作。

驱动程序功能

Supports Create()

This driver supports the GDALDriver::Create() operation

Supports Georeferencing

This driver supports georeferencing

Cloudant与OGR概念

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

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

数据集名称语法

打开Cloudant数据源的语法是:

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

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

也可以直接打开视图:

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

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

认证

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

过滤

当Cloudant扩展可用时,驱动程序将使用SetSpatialFilter()将任何空间过滤器集转发到服务器。

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

分页

默认情况下,从服务器检索的功能块为200。Cloudant使用书签对数据进行分页。

写入支持

可以创建和删除表。

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

使用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_CLOUDANT_COORDINATE_PRECISION配置选项设置为具有类似的角色。

实例

列出Cloudant存储库的表:

ogrinfo -ro "cloudant:http://some_account.some_cloudant_server.com"

从shapefile创建和填充表:

ogr2ogr -f cloudant "cloudant:http://some_account.some_cloudant_server.com" shapefile.shp