ESRI ArcSDE¶
驱动简称
SDE
生成依赖项
ESRI SDE
OGR可选地支持读取ESRI ArcSDE数据库实例。ArcSDE是一种中间件空间解决方案,用于在各种后端关系数据库中存储空间数据。OGR ArcSDE驱动程序依赖于使用ESRI提供的ArcSDE客户端库构建。
ArcSDE实例使用以下表单的数据源名称进行访问。服务器、实例、用户名和密码字段是必需的。实例是SDE服务器的端口号,通常默认为5151。如果指定了layer参数,那么SDE驱动程序可以跳过读取每个层的摘要元数据;跳过此步骤可以显著节省时间。
Note :只有GDAL1.6+支持版本查询和写操作。旧版本只支持对基本版本(SDE.DEFAULT)进行查询,不支持写入操作。
SDE:server,instance,database,username,password[,layer]
要指定要查询的版本,请 * 必须 * 同时指定图层。未指定版本名时,将使用SDE.DEFAULT版本。
SDE:server,instance,database,username,password,layer,[version]
如果新版本不存在,也可以请求创建新版本。如果子版本已经存在,则将使用该子版本,除非将SDE_VERSIONOVERWRITE环境变量设置为“TRUE”。在这种情况下,版本将被删除并重新创建。
SDE:server,instance,database,username,password,layer,[parentversion],[childversion]
OGR ArcSDE驱动程序不支持读取CAD数据(视为BLOB属性)、注释特性、顶点处的测量值或栅格数据。ExecuteSQL()方法可以 not 传递到基础数据库。目前,它是由有限的OGR SQL处理程序解释的。空间索引用于加速空间查询。
该驱动程序已经过ArcSDE9.x的测试,应该可以使用较新的版本,以及ArcSDE8.2或8.3。支持二维和三维几何图形。曲线几何图形近似为线串(实际上仍然是TODO)。
ArcSDE通常对特定于大小写的完全限定表名敏感。虽然您可以在某些操作中使用短名称,但其他操作(尤其是删除)将需要完全限定的名称。因为这个事实,一般来说 总是 使用完全限定的表名。
图层创建选项¶
OVERWRITE :这可以设置为允许在图层创建过程中覆盖现有图层。如果设置了,并且该值不是“否”,则在创建与现有图层同名的新图层之前,将首先删除该图层。显式设置为“否”,或不包含将创建与同名现有层冲突的新层的尝试视为错误的选项。默认关闭。
GEOMETRY_NAME :默认情况下,OGR使用名为“SHAPE”的几何体(要素)列创建新图层。如果要使用其他名称,可以为其提供“几何体名称图层创建”选项。
SDE_FID :可以设置为覆盖要素ID列的默认名称。默认值为“OBJECTID”。
SDE_KEYWORD :用于创建层的DBTUNE关键字。默认为“默认”。
SDE_DESCRIPTION :层的文本描述。默认为“由GDAL/OGR 1.6创建”(从父版本创建新子版本时也用作版本描述)
SDE_MULTIVERSION :如果将此创建选项设置为“FALSE”,则在创建时将禁用层的多版本控制。默认情况下,在SDE数据源上创建层时创建多版本表。
USE_NSTRING :如果此选项设置为“TRUE”,则字符串字段将创建为NSTRING类型。此选项是为GDAL/OGR 1.9.0添加的。
环境变量¶
OGR_SDE_GETLAYERTYPE :这可能是“TRUE”以从数据库中确定几何图形类型。否则,SDE驱动程序将始终返回未知的几何体类型。
OGR_SDE_SEARCHORDER :这可能是“ATTRIBUTE_FIRST”,告诉ArcSDE根据属性进行筛选 * 之前 * 使用空间过滤器或“空间优先”使用空间过滤器。默认情况下,它首先使用空间过滤器。
SDE_VERSIONOVERWRITE :如果设置为“TRUE”,则指定的子版本将在重新创建之前被删除。请注意,在执行此操作之前,此操作不会协调该版本上存在的任何编辑,而实际上会将其丢弃。
OGR_SDE_USE_NSTRING :如果此选项设置为“TRUE”,则字符串字段将创建为NSTRING类型。此选项是为GDAL/OGR 1.9.0添加的。
实例¶
见 ogr_sde.py 测试脚本以获取一些示例连接字符串和驱动程序的用法。