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_URL
: defaults to https://www.amigocloud.com/api/v1. Can be used to point to another server.AMIGOCLOUD_API_KEY
: see following paragraph.
实例
提供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