ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

ST_Geometry タイプにおける SQL 実装の違い

空間 SQL (ST_Geometry) の実装は、Informix、DB2、Oracle、PostgreSQL、および SQLite の間でほとんど違いがありません。Esri (Informix および DB2 の場合は IBM も含む) は、OGC (Open Geospatial Consortium) により決定された標準を最大限まで適用できるよう取り組んできました。

ただし、2 つの例外があります。いずれも実質的に OGC 標準に違反するものではなく、データベース管理システムの実装上の軽微な違いにすぎません。

  • 述語値

    Informix と PostgreSQL における ST_Geometry の述語関数は true の場合は t を、false の場合は f を返しますが、DB2、Oracle、および SQLite における ST_Geometry は、true の場合は 1 が false の場合は 0 が返されます。

    次の Informix SQL の例の場合、SELECT ステートメントは、建物のフットプリントを包含した建築用地について ST_Contains 関数が t を返した建物 ID だけを返します。

    select bf.building_id "Building id"
    from buildingfootprints bf, lots
    where st_contains(lot,footprint) = 't';
    
    同じ ST_Contains 関数でも、Oracle の SELECT ステートメントの場合は、用地にフットプリントが包含されており 1 が返された、同じ建物 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
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル