SQL Serverで空間インデックスを設定し空間演算を高速化する

SQL Server

 データベースのテーブルに適切なインデックスを設定するのはクエリを高速化するうえで重要な施策である.今回,空間演算にコストがかかっていたクエリが空間インデックスの設定により高速化したので報告する.

“SQL Serverで空間インデックスを設定し空間演算を高速化する” の続きを読む

国土数値情報ダウンロードサイトから医療機関データをダウンロードし,救急告示病院をQGISで表現する

茨城県内の救急告示病院が表示される

 国土数値情報ダウンロードサイトには様々なデータが蓄積されている.医療機関の位置データもその一つである.今回は茨城県の救急告示病院をQGISで表現することにした.

“国土数値情報ダウンロードサイトから医療機関データをダウンロードし,救急告示病院をQGISで表現する” の続きを読む

国土数値情報の二次医療圏テーブルの文字化けを解決する

SQL Server

 前回の記事(国土数値情報の令和2年の医療圏データの文字化けが直っていた)では国土数値情報の医療圏データで四苦八苦した様子を掲載した.今回は二次医療圏テーブルの文字化けの解決を試みる.

“国土数値情報の二次医療圏テーブルの文字化けを解決する” の続きを読む

第 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)” の続きを読む

第 11 章 空間オブジェクトのプロパティを検査する(Begining Spatial with SQL Server 2008)

SQL Server

第 4 部 空間データの解析

 本書のこの部では,geography 型および geometry 型でデータをフィルターし解析できるメソッドを論ずる.それはアプリケーションにおいて空間データの力を開発するのに使うのに必要な主要な機能を提供してくれる.
 そのメソッドは3つのカテゴリに分類される.章ごとに一つ.第11章では個別の空間オブジェクトのプロパティについての情報を解析して返すメソッドを扱う.第12章では既存のオブジェクト間の組み合わせまたは修飾の間の新しいオブジェクトを定義するメソッドをカバーする.第13章ではオブジェクト間の関係をテストするメソッドを紹介する.例えば同一性,近接性,交差などである.

“第 11 章 空間オブジェクトのプロパティを検査する(Begining Spatial with SQL Server 2008)” の続きを読む

QGIS から SQL Server へデータをアップロードする際の勘所

 QGIS から SQL Server 2008 R2 に空間データをアップロードする際には Shape2SQL というツールを使った.便利なツールではあるが,国土数値情報の河川データの属性テーブルの日本語が文字化けするという問題を抱えており,何とかならないかと試行錯誤した結果を備忘録として投稿する.

“QGIS から SQL Server へデータをアップロードする際の勘所” の続きを読む

国土地理院の基盤地図情報のベクタデータを大量に扱いたい時

 ベクタデータは拡大しても劣化がないが,データサイズが大きいため,環境によっては動作が極端に重くなる.

 これといった決定打があるわけではないが,事前の準備があると少しは取り扱いが楽になる.

“国土地理院の基盤地図情報のベクタデータを大量に扱いたい時” の続きを読む