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
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

ST_Geometry 类型的 SQL 实现差异

Informix、DB2、Oracle、PostgreSQL 和 SQLite 的空间 SQL (ST_Geometry) 实现的差异很小。Esri(和 IBM,在使用 Informix 和 DB2 的情况下)致力于确保开放地理空间联盟 (OGC) 所制定的服务标准能够得到最广泛的应用。

但是,仍然存在两个例外。虽然这些例外在本质上没有违反 OGC 标准,但却是数据库管理系统之间的次要实现差异。

  • 谓词值

    Informix 和 PostgreSQL 中 ST_Geometry 的谓词函数返回 t 表示 true,返回 f 表示 false,而 DB2、Oracle 和 SQLite 中的 ST_Geometry 用 1 表示 true,用 0 表示 false。

    在本 Informix SQL 示例中,当 building lots 包含 building footprints 时,如果 ST_Contains 函数返回 t,select 语句才返回这些 building ID。

    select bf.building_id "Building id"
    from buildingfootprints bf, lots
    where st_contains(lot,footprint) = 't';
    
    当 lot 包含 footprint 时,如果返回 1,则 Oracle SELECT 语句中相同的 ST_Contains 函数返回同一 building ID。
    select bf.building_id "Building id"
    from buildingfootprints bf, lots
    where sde.st_contains(lot,footprint) = 1;
    

  • 限定函数

    对 Oracle 中企业级地理数据库中的表执行 SQL 语句时,必须用方案名称限定 ST_Geometry 函数。

    对 DB2、Informix 和 PostgreSQL 中具有 ST_Geometry 列的表执行 SQL 语句时,可以限定 ST_Geometry 函数,但并非必需如此。

    SQLite 不使用方案名称,所以当针对含 ST_Geometry 列的表执行 SQL 时无需限定 ST_Geometry 函数。

相关主题

  • ST_Geometry 存储类型

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

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

关于 Esri

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