データの把握

Point In Polygon のソリューションを構築する際には、データがパフォーマンスと使用する Spectrum 操作の選択に与える影響と、データの制約事項を理解することが重要です。

データの場所ソリューションにおけるデータの場所と種類を把握することが重要です。例えば、ファイル システム上に TAB ファイルがあるのか、DBMS にデータがあるのかによって、処理のパフォーマンスは変わります。Spectrum は、一部の操作 (空間結合) の処理をデータベース (Oracle や SQL Server など) にプッシュ ダウンします。それによってパフォーマンスが向上します。例えば、次のような操作があるとします。

Select a.id, b.id from flood_plane a, customers b where MI_Contains(a.geom, b.geom)

ジオメトリ形式MapInfo のネイティブ ジオメトリ形式を使用するか、x/y 形式のファイル (緯度/経度値を含む CSV ファイルなど) を使用するかで、パフォーマンスは異なります。パフォーマンスを向上させるには、MapInfo のネイティブ ジオメトリ形式の代わりに x/y 形式を使用することを検討してください。

データは固定か可変か(すべてまたは一部の) データが変化しないことがわかっており、Query Spatial Data 処理を使用する場合に、パフォーマンスを大幅に向上させることのできる、名前付きリソース作成時の設定オプションがあります。Spectrum ではこれを、可変性と呼んでいます。デフォルトでは、すべてのリソースの可変性が true に設定されています。つまり Spectrum は、データはいつでも変更される可能性があると想定し、データにアクセスする度にそれが変更されているかどうかを確認し、新しいデータを読み込む必要があるかどうかを判断します。

可変性が Point In Polygon 処理に与える影響可変性が true に設定されている場合は、データ ソースが変更されていなくても、リソースを確認する処理だけでパフォーマンスは低下します。データが変化しないことがわかっており、パフォーマンスが求められる場合は、可変性をオフにします。パフォーマンスが重要で、変化するデータ (クライアント リストや測点) もあるが、変化しないデータ (小区画、土地、販売地域など) もあることがわかっている場合は、変化しないデータのできるだけ多くに対して、可変性をオフにします。それによってパフォーマンスは向上します。可変性と、リソースに対してこの設定を変更する方法の詳細については、「データ ソースの可変性」を参照してください。

TAB ファイルを使用するかTAB ファイルを使用する場合は、オープン ファイル ハンドルのプールを維持して、読み取る度にファイルを開き直す手間を省くことができます。Spectrum Spatial は、可変性が false に設定されたネイティブ TAB ファイルのファイル ハンドル プールを使用します。ネイティブ TAB ファイルには、ネイティブ拡張 TAB ファイル (NativeX) とシームレス TAB ファイルがあります。Spectrum Spatial リポジトリのすべてのテーブルは、デフォルトで可変である (true) と設定されます。ネイティブ TAB ファイルが可変であるということは、そのスキーマが任意の時点で変更される可能性があることを意味します。このパフォーマンス向上機能を活用するには、Spectrum Spatial™ Manager で可変性を false に設定します。一般的に、データが既知の期間にしか変更しないか、まったく変更しない場合は、可変性を False に設定することが推奨されます。ネイティブまたはシームレス TAB ファイルのファイル ハンドル プールの詳細については、『Spectrum Spatial ガイド』の「リソースとデータ」セクションのトピック (MapInfo ネイティブ TABシームレス TAB) を参照してください。