Carto
司机简称
CARTO
生成依赖项
利勃曲尔
这个驱动程序可以连接到实现Carto API的服务。为了编译Carto驱动程序,必须使用Curl支持构建GDAL/OGR。
驱动程序支持读写操作。
驱动程序功能
Supports Create()
This driver supports the GDALDriver::Create()
operation
Supports Georeferencing
This driver supports georeferencing
数据集名称语法
打开Carto数据源的最低语法是:
Carto:[connection_name]
对于单用户帐户,连接名是帐户名。对于多用户帐户,连接名必须是用户名,而不是帐户名。可以在“:”符号后指定其他可选参数。目前支持以下功能:
如果指定了多个参数,则必须用空格分隔这些参数。
认证
大多数操作,特别是写操作,都需要经过身份验证的访问。唯一的例外是对公共表的只读访问。
通过指定Carto服务的管理接口中给定的API密钥,可以获得经过身份验证的访问。它是用CARTO_API_KEY配置选项指定的。
几何图形
OGR驱动程序将根据RFC 41报告层中可用的尽可能多的几何字段(除了“geom_webmercator”字段)。
过滤
驱动程序将转发任何空间过滤器集 OGRLayer::SetSpatialFilter()
到服务器。它还使属性过滤器设置为 SetAttributeFilter()
.
分页
Features are retrieved from the server by chunks of 500 by default. This
number can be altered with the CARTO_PAGE_SIZE
configuration option.
写入支持
可以创建和删除表。
只有在更新模式下打开数据源时才启用写支持。
Carto服务的操作与OGR概念之间的映射如下:
OGRFeature::CreateFeature()
<==>INSERT
操作OGRFeature::SetFeature()
<==>UPDATE
操作OGRFeature::DeleteFeature()
<==>DELETE
操作OGRDataSource::CreateLayer()
<==>CREATE TABLE
操作OGRDataSource::DeleteLayer()
<==>DROP TABLE
操作
插入新功能时 OGRFeature::CreateFeature()
,如果命令成功,OGR将获取返回的rowid并将其用作OGR FID。
默认情况下,上述操作与OGR API调用同步发布到服务器。但是,当由于许多客户机/服务器交换而发出大量命令时,这可能会导致性能下降。
所以,在新创建的层上 INSERT
属于 OGRFeature::CreateFeature()
操作被分组在一起,直到它们达到15 MB(可以使用CARTO_MAX_CHUNK_SIZE配置选项进行更改,值以MB为单位),此时它们被传输到服务器。通过将CARTO_MAX_CHUNK_SIZE设置为0,立即传输。
警告
不要使用 OGRDataSource::DeleteLayer()
和 OGRDataSource::CreateLayer()
覆盖表。只能打电话 OGRDataSource::CreateLayer()
覆盖=是。这将避免CARTO删除依赖于此表的地图
SQL
提供给 OGRDataSource::ExecuteSQL()
调用在服务器端执行,除非指定了OGRSQL方言。您可以使用PostgreSQL+PostGIS SQL功能的全部功能。
打开选项
以下打开选项可用:
BATCH_INSERT =是/否:是否对批次中的要素插入进行分组。默认为“是”。仅适用于创建或更新模式。
COPY_MODE =是/否:对插入和读取使用COPY可以提高性能。默认为“是”。
图层创建选项
以下图层创建选项可用:
OVERWRITE =是/否:是否用要创建的图层名覆盖现有表。默认为否。
GEOMETRY_NULLABLE =是/否:几何列的值是否可以为空。默认为“是”。
CARTODBFY =是/否:创建的图层是否应为“cartdbifi”(即在仪表板中注册)。默认为“是”。要求:
SRS :输出SRS必须是EPSG:4326。你可以用
-a_srs
或-t_srs
在导入之前分配或转换到4326。几何类型 :必须与“无”不同。你可以用
-nlt GEOMETRY
.
LAUNDER =是/否:这可能是“是”,以强制在此层上创建的新字段将其字段名“清洗”为与PostgreSQL更兼容的形式。这将转换为小写,并将一些特殊字符,如“-”和“#”转换为“#”。如果“否”,则保留准确的名称。默认值为“是”。如果启用,表(层)名称也将被清除。
配置选项
The following configuration options are available:
CARTO_API_URL
: defaults to https://[account_name].carto.com/api/v2/sql. Can be used to point to another server.CARTO_HTTPS
: can be set to NO to use http:// protocol instead of https:// (only if CARTO_API_URL is not defined).CARTO_API_KEY
: see following paragraph.CARTO_PAGE_SIZE
: features are retrieved from the server by chunks of 500 by default. This number can be altered with the configuration option.
实例
从公共表访问数据:
ogrinfo -ro "Carto:gdalautotest2 tables=tm_world_borders_simpl_0_3"
从shapefile创建和填充表:
ogr2ogr --config CARTO_API_KEY abcdefghijklmnopqrstuvw -f Carto "Carto:myaccount" myshapefile.shp
从包含EPSG:4326上几何图形的CSV创建和填充表格:
ogr2ogr --config CARTO_API_KEY abcdefghijklmnopqrstuvw -f Carto "Carto:myaccount" file.csv -a_srs 4326 -nlt GEOMETRY
备注
这个 -a_srs
和 -nlt
必须提供给CARTODBFY,因为信息不是从CSV中提取的。