AmigoCloud

2.1.0 新版功能.

司机简称

AmigoCloud

生成依赖项

利勃曲尔

这个驱动程序可以连接到AmigoCloud API服务。为了编译AmigoCloud驱动程序,必须使用Curl支持构建GDAL/OGR。

驱动程序支持读写操作。

驱动程序功能

Supports Create()

This driver supports the GDALDriver::Create() operation

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

数据集名称语法

打开AmigoCloud数据源的最低语法是:

AmigoCloud:[project_id]

可以在“:”符号后指定其他可选参数。目前支持以下功能:

  • [datasets=dataset_id1[,dataset_id2, ..]] :AmigoCloud数据集ID的列表。当您需要访问特定的AmigoCloud数据集时,这是必要的。

如果指定了多个参数,则必须用空格分隔这些参数。

如果没有提供数据集id,驱动程序将打印给定项目的可用数据集列表。

例如: “阿米戈云:1234个数据集”

List of available datasets for project id: 1234
| id        | name
|-----------|-------------------
| 5551      | points
| 5552      | lines

认证

所有的访问权限都是由AmigoCloud后端定义的。

通过指定AmigoCloud仪表板web界面中给定的API密钥,可以获得经过身份验证的访问。它是通过AMIGOCLOUD_API_密钥配置选项指定的。

几何图形

OGR驱动程序将根据RFC 41报告层中可用的尽可能多的几何字段。

过滤

驱动程序将转发任何空间过滤器集 OGRLayer::SetSpatialFilter() 到服务器。它还使属性过滤器设置为 OGRLayer::SetAttributeFilter() .

写入支持

可以创建和删除数据集。

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

AmigoCloud服务的操作与OGR概念之间的映射如下:

  • OGRFeature::CreateFeature() <==> INSERT 操作

  • OGRFeature::SetFeature() <==> UPDATE 操作

  • OGRFeature::DeleteFeature() <==> DELETE 操作

  • OGRDataSource::CreateLayer() <==> CREATE TABLE 操作

  • OGRDataSource::DeleteLayer() <==> DROP TABLE 操作

使用CreateFeature()插入新功能时,如果命令成功,OGR将获取返回的amigo_id(GUID),并将其哈希值用作OGR FID。

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

图层创建选项

以下图层创建选项可用:

  • OVERWRITE =是/否:是否用要创建的图层名覆盖现有表。默认为否。

  • GEOMETRY_NULLABLE =是/否:几何列的值是否可以为空。默认为“是”。

配置选项

The following configuration options are available:

实例

提供AmigoCloud API令牌的不同方式:

ogrinfo --config AMIGOCLOUD_API_KEY abcdefghijklmnopqrstuvw -al "AmigoCloud:1234 datasets=987"
ogrinfo -oo AMIGOCLOUD_API_KEY=abcdefghijklmnopqrstuvw -al "AmigoCloud:1234 datasets=987"
env AMIGOCLOUD_API_KEY=abcdefghijklmnopqrstuvw ogrinfo -al "AmigoCloud:1234 datasets=987"
export AMIGOCLOUD_API_KEY=abcdefghijklmnopqrstuvw
ogrinfo -al "AmigoCloud:1234 datasets=987"

显示数据集列表。

$ ogrinfo -ro "AmigoCloud:1234 datasets"
List of available datasets for project id: 1234
| id        | name
|-----------|-------------------
| 5551      | points
| 5552      | lines

从数据集列表访问数据:

ogrinfo -ro "AmigoCloud:1234 datasets=1234,1235"

从shapefile创建和填充表:

ogr2ogr -f AmigoCloud "AmigoCloud:1234" myshapefile.shp

将数据从shapefile追加到现有表(数据集id:12345):

ogr2ogr -f AmigoCloud "AmigoCloud:1234 datasets=12345" myshapefile.shp

ogr2ogr -append -f AmigoCloud "AmigoCloud:1234 datasets=12345" myshapefile.shp

用形状文件中的数据覆盖现有表(数据集id:12345)的数据:

ogr2ogr -append -doo OVERWRITE=YES -f AmigoCloud "AmigoCloud:1234 datasets=12345" myshapefile.shp

删除现有数据集(数据集id:12345)并使用形状文件中的数据创建新数据集:

ogr2ogr -overwrite -f AmigoCloud "AmigoCloud:1234 datasets=12345" myshapefile.shp

用形状文件中的数据覆盖现有表(数据集id:12345)的数据。筛选2017-08-20之后具有字段“已访问”值的唯一记录

ogr2ogr -append -doo OVERWRITE=YES -f AmigoCloud "AmigoCloud:1234 datasets=12345" -where "visited_on > '2017-08-20'" myshapefile.shp

也见