第 7 章 ジオコーディング (Beginning Spatial with SQL Server 2008)

SQL Server

 これまで数章にわたって,多くの異なる技術を紹介してきた.その技術により SQL Server 2008 内に空間データを追加できる.geometry 型および geography 型の静的メソッドを WKT, WKB および GML などのジオメトリ表現と共に直接使用する,Virtual Earth ウェブコントロール上にプロットポイントにより空間の特徴を視覚的にマークする,あるいは,様々な他の空間データフォーマットから既に存在する空間データをインポートする.本章では,SQL Server において空間情報のアイテムを定義するのを助けてくれる最後の一つの技術について考察しよう.ジオコーディングである.

注意 本章で議論しているジオコーディングの方法は .NET アセンブリの生成を必要とする.それにより SQLCLR の機能を拡張し,外部ウェブサービスとの連携が可能となる.このアセンブリを生成するのに使われたサンプルコードに従うには,Microsoft Visual Studio を使わなくてはならない.使用可能な Visual Studio には多くのエディションが存在する.本章でのコードは Microsoft Visual Basic 2008 Express Edition でも Microsoft Visual C# 2008 Express Edition でも動作し,どちらも無料で http://www.microsoft.com/express/download/ からダウンロードできる.

“第 7 章 ジオコーディング (Beginning Spatial with SQL Server 2008)” の続きを読む

第13章 空間の関係性を検査する(Begining Spatial with SQL Server 2008)

SQL Server

 空間情報を解析するとき,しばしば地球上の2つ以上の地物の関係を理解したくなる.例えば,a と b はどれだけ離れているのか?x と y との間の経路に z はあるのか?p と q は共通の境界を共有しているのか?本章では,これらの疑問に答えるためのメソッドを紹介し,空間データの2つのアイテム間の関係の異なる点から比較しよう.これらのメソッドのすべての構文は,比較のなされるインスタンスがパラメータとしてメソッドに提供され,最初のインスタンス上で次のように動作する.

Instance1.Method(Instance2)

 geometry 型および geography 型の両者が実装しているメソッドのコアセットは空間関係を比較するのに使われ,STEquals(), STIntersects(), STDistance() を含んでいる一方,geometry 型は特異的な関係を検査するのに使うもっと拡張した範囲のメソッドを実装しており,STOverlaps(), STCrosses(), および STContains() のようなものである.本章で紹介する各メソッドについて,どちらのデータ型で使われるか示そう.注意すべき点として,geometry 型および geography 型両者に実装されていても,異なるデータ型のインスタンスをそのメソッドで比較することはできないことである.例えば,STDistance() メソッドは2つの geography 型インスタンス間または2つの geometry 型インスタンス間の距離を計算することはできるが,geometry 型インスタンスと geography 型インスタンス間の距離を決定するのに使うことはできない.

“第13章 空間の関係性を検査する(Begining Spatial with SQL Server 2008)” の続きを読む

第12章 空間オブジェクトを修飾する (Begining Spatial with SQL Server 2008)

SQL Server

 本章においては,他の既存のインスタンスの一部を修飾したり,結合したり,選択したりして geography 型や geometry 型のデータの新しいアイテムを生成するのに使われる多くのメソッドを紹介しよう.これらのメソッドは静的メソッドとは異なり,ジオメトリの座標点の表現から新しいデータのアイテムを代わりに生成することを了承いただきたい.

 本章で論ずるメソッドのいくつか,例えば STBuffer(), STConvexHull() および Reduse() は,単一のインスタンス上で動作する.他のメソッド,例えば STIntersection() および STDifference() は一つ以上のジオメトリ上で動作する.SQL Server 2008 におけるすべての空間機能性の場合のように,geometry 型および geography 型は利用可能なメソッドや,同じ方法でそれらを実装する同じセットをもつ必要はない.本章で紹介する各メソッドについて,いつどのようにそれが使われるかを見せよう.

付記 本章で論ずるメソッドは,それが呼び出された元のインスタンスにいかなる変化をも与えない.むしろ,それらはそれらのインスタンスで表現されるジオメトリの修飾により新しいインスタンスを生成する.

“第12章 空間オブジェクトを修飾する (Begining Spatial with SQL Server 2008)” の続きを読む

第 4 章 空間データオブジェクトを生成する (Beginning Spatial with SQL Server 2008)

SQL Server

第 2 部 空間データを追加する

 本書のこの部では空間データを SQL Server 2008 データベースに追加する様々な方法を説明する.第 4 章では,既知の座標からいかなるアイテムをも生成するのに使われる存在する静的メソッドのそれぞれを紹介する.第 5 章では,外部資源をかぶせてそれらの座標を派生させるのを助けるための技術を解説する.Microsoft の Virtual Earth Map Control を使う.第 6 章では,空間データの蓄積される他の一般的なデータフォーマットについて議論し,これらの蓄積されたデータを SQL Server 2008 にインポートする方法についての例を提供する.最後に,第 7 章で SQL Server を拡張してジオコーディング機能を提供する方法を示す.つまり,.NET 経由で Microsoft MapPoint Web Services にアクセスして自動的に住所から座標を取得することである.

 前章では,静的メソッドの概念について紹介し,geography 型および geometry 型のオブジェクトをインスタンス化する方法について説明した.本章では各データ型で利用できる異なる静的メソッドを検査し,空間データの新しいアイテムを生成するのに使われる方法について比較する.

注記 本章でのほとんどのコードサンプルは,@Point などのローカル変数を宣言し,その結果静的メソッドにより生成されたインスタンスを蓄積する.しかし,INSERT ステートメントを呼び出すことで静的メソッドの結果をテーブルの geometry 型および geography 型の列に挿入することもできる.

“第 4 章 空間データオブジェクトを生成する (Beginning Spatial with SQL Server 2008)” の続きを読む

第 6 章 空間データをインポートする (Beginning Spatial with SQL Server 2008)

 多くの空間アプリケーションがカスタム定義の空間機能を組み合わせている.例えば顧客セットの局在と,広く受け入れられた表現の空間データ,地球上の汎用性のある特徴,例えば国や州の境界線,世界の主要都市の局在および主要な道路や鉄道の経路などである.この情報は自分自身で作成するよりも,多くの代替可能な資源が存在しており,そこから普通に使うための空間データを取得して空間アプリケーションに搭載できる.

 本章では,そこから一般公開された空間情報を取得できる資源,そこでそのデータが普通に提供されるフォーマットおよびその情報を SQL Server にインポートするのに使える技術を紹介しよう.

“第 6 章 空間データをインポートする (Beginning Spatial with SQL Server 2008)” の続きを読む