ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 其他...

Teradata 和 ArcGIS

  • 使用数据子集
  • 在 ArcGIS 中使用 Teradata 数据的附加原则

可从 ArcGIS 连接至 Teradata 数据仓库来执行对数据子集的复杂空间分析。还可以将数据的子集发布到 ArcGIS for Server 作为可编辑要素服务。可以将这些要素服务添加到编辑器使用的客户端应用程序用以更新数据。

注:

ArcGIS 10.3.1 新增功能:发布包含 Teradata 数据的可编辑要素服务。

要从 ArcGIS 连接到 Teradata 数据库,请在 ArcGIS 客户端计算机上安装 Teradata GSS 客户端、ICU 库和 ODBC 驱动程序。有关相关信息,请参阅连接至 Teradata。

有关受支持的 Teradata 数据仓库和客户端库版本列表,请参阅针对于 ArcGIS 的 Teradata Data Warehouse Appliance 要求。

空间数据使用 Teradata ST_Geometry 类型存储在 Teradata 中。ST_Geometry 是默认 Teradata 数据仓库安装的一部分。

使用数据子集

大多数情况下,您会在 Teradata 中存储大量数据。要从 ArcGIS 执行分析,请使用数据子集。操作方式取决于您使用数据的目的。

  • 如果要向 ArcMap 中添加数据以在地图中进行查看和分析,则添加查询图层并定义仅返回数据子集的查询图层表达式。
  • 如果要向 ArcMap 中添加数据以发布地图服务,则定义仅包含数据子集的数据库视图。数据库视图存储在数据库中。可使用创建数据库视图地理处理工具或 SQL 客户端来定义视图。
  • 如果要向 ArcMap 中添加数据以发布要素服务,则取消选中该选项以在将数据添加到地图前“默认将新添加的图层设为可见”。然后,打开查询构建器对话框并使用 SQL 定义数据的子集。限制 ArcMap 中将显示的数据量后,将图层设为可见并准备地图以供发布。
警告:

除非已对地图进行设置使数据在添加时不会自动显示,否则在尚未定义数据子集的情况下,请勿将数据直接从 ArcMap 目录窗口的数据库连接中拖动到地图。正常存储在数据仓库设备中的超大型数据集需要耗费很长时间才能显示在地图上。

在 ArcGIS 中使用 Teradata 数据的附加原则

以下列出了将 Teradata 与 ArcGIS 结合使用的准则:

  • 表中的空间列必须命名为 shape 或在视图中使用别名 shape。

    Teradata ST_Geometry 类型的基础存储是 CLOB;因此,列的名称或别名 (shape) 是 ArcGIS 确定列存储空间数据的唯一途径。

  • 您必须使用 Teradata 提供的镶嵌函数在 Teradata ST_Geometry 列上创建和维护空间索引。

    Teradata 通过一个预定义的感兴趣区域使用镶嵌空间索引。因此,基于动态输入的 ArcGIS 空间操作(如放大、缩小和平移)无法使用镶嵌索引。但如果用于定义查询图层的 SQL 语句明确使用镶嵌索引查询数据子集(基于感兴趣的区域),则可在查询图层中使用镶嵌索引。

  • ArcGIS 需要唯一的标识字段以渲染地图中的要素和发布 web 服务。ArcMap 在您将空间表添加到地图时会提示您指定此唯一 ID 字段。

    ArcGIS 工具不会将新值插入到数据库中的唯一 ID 字段中;而是依赖于数据库向字段插入值。由于 Teradata 不具备用于向 ID 字段填充值的数据类型或内置机制,Teradata 无法使用在数据库表中创建新行的 ArcGIS 工具。

  • 作为 Teradata 用户,您了解 Teradata 14.x ST_Geometry 只支持二维空间数据;因此,不能将含有 z- 或 m- 坐标的空间数据粘贴到 Teradata 14.x。Teradata 15.0 ST_Geometry 支持 z- 坐标但不支持 m- 坐标;因此,不能将含有 m- 坐标的空间数据粘贴到 Teradata 15.0。
  • 如果您使用 ArcGIS 将要素类添加到您的 Teradata 数据库,但是 Teradata 系统表中并没有您为要素类指定的空间参考,那么 ArcGIS 会将记录添加到 Teradata SPATIAL_REF_SYS 表和 GEOMETRY_COLUMNS 表。

    这允许您使用比 Teradata 默认提供的更多的空间参考。但升级为主要 Teradata 版本时可能会删除这些表并进行重建,重建后的表中只包含默认值。

    升级 Teradata 前,应始终对数据库进行备份。确保备份中含有这些表中的记录,因此在升级 Teradata 后,可在需要时恢复这些记录。在数据库升级操作期间,可按照此常规步骤来备份和恢复 SPATIAL_REF_SYS 和 GEOMETRY_COLUMNS 记录:

    1. 创建数据库备份。
    2. 连接到可在其中复制 SPATIAL_REF_SYS 和 GEOMETRY_COLUMNS 表的数据库。

      本示例中的数据库命名为 mybackupdb。

      database mybackupdb;
      

    3. 创建表的备份副本。

      本示例中的源表位于 sysspatial 数据库中。

      CREATE TABLE mybackupdb.spatial_ref_sys 
        AS sysspatial.spatial_ref_sys WITH DATA;
      
      CREATE TABLE mybackupdb.geometry_columns 
        AS sysspatial.geometry_columns WITH DATA;
      

    4. 升级 Teradata 源数据库。
    5. 连接到具有表副本的数据库。
    6. 在升级后的数据库中恢复表。

      --Restore the geometry columns table.
      INSERT INTO sysspatial.geometry_columns 
        SELECT * FROM mybackupdb.geometry_columns;
      
      --Restore the spatial_ref_sys table.
      INSERT INTO sysspatial.spatial_ref_sys 
        SELECT * FROM mybackupdb.spatial_ref_sys 
        MINUS 
          SELECT * FROM sysspatial.spatial_ref_sys;
      

    7. 恢复表内容后,便可删除表的备份副本。

      DROP TABLE mybackupdb.spatial_ref_sys;
      
      DROP TABLE mybackupdb.geometry_columns;
      

    8. 如有必要,为在数据库中创建数据的用户重新授予这些表的权限。

相关主题

  • 从 ArcGIS 连接到 Teradata
  • 用于在 ArcGIS 中使用 Teradata 的权限

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明