Release Notes (Japanese)

MapXtreme 2008 v7.0.0
リリース ノート
アメリカ :
電話 : 518 285 6000
ファックス : 518 285 6070
営業部 : 800 327 8627
公共機関向け営業部 : 800 619 2333
テクニカル サポート : 518 285 7283
www.pbinsight.com
UK および EMEA :
電話 : 44 1753 848200
ファックス : 44 1753 621140
テクニカル サポート : 44 1753 848229
www.pbinsight.co.uk
アジア太平洋 :
電話 : 61.2.9437.6255
ファックス : 61.2.9439.1773
テクニカル サポート : 1800 648 899
www.pbinsight.com.au
© 2009 Pitney Bowes Software Inc.
All rights reserved.
MapInfo、Pitney Bowes Software Inc.
ロゴ、および MapXtreme 2008 は、
Pitney Bowes Software Inc. および
関連会社の商標です。
2009 年 12 月
このリリース ノートでは、MapXtreme 2008 7.0.0 に追加された拡張機能とアップ
デート機能について説明します。バグ フィックス、既知の問題、および今回の
リリースに関するその他の重要な情報についても解説します。
このドキュメントは、『MapXtreme 2008 開発者ガイド』の補足ドキュメントで
す。今回のリリースに固有の情報はこのドキュメントを参照し、製品全体に関す
る情報および使用方法については『開発者ガイド』をご覧ください。『開発者ガ
イド』は以下の 3 種類のフォーマットで提供されており、複数の方法でご利用い
ただけます。
•
•
•
HTML バージョンは Visual Studio (ヘルプ ペイン内) に組み込まれている。
[スタート]、[すべてのプログラム]、[MapInfo] の順にクリックし、
[MapXtreme 2008 7.0.0] を選択して [ラーニング リソース] ページから PDF
バージョンをダウンロードする。
MapInfo の Web サイトから PDF バージョンをダウンロードする。
印刷された開発者ガイドが必要な場合は、Pitney Bowes Business Insight の印刷版
取り扱いサイトからわずかな費用で購入できます。
トピックの一覧
Š
Š
Š
Š
Š
Š
Š
新機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
強化された機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
API の変更. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
バグ フィックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
既知の問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
システムの制限事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ドキュメントの更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
新機能
新機能
MapXtreme 2008 バージョン 7.0.0 には、以下の新しい機能が追加されています。
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
グリッドの拡張機能
SQL Server 2008 のサポート
線型リファレンスおよび動的セグメンテーション操作
Geometry モデルの拡張による M 値および Z 値のサポート
Oracle の M 値 および Z 値のサポート
Oracle 11g のサポート
ShapeFile のサポート
MapXtreme タイル ハンドラ
Popular Visualization CRS / メルカトル (EPSG:3857)
座標系のサポート
拡張可能データ プロバイダ
更新された ECW ラスタ ハンドラ
米国の住所のジオコード化
ToolStripButton とアイコン
新しいスナップ モード イベント
ローカライゼーション キット
ワークスペース マネージャの拡張
カスタム アセンブリ読み込み用の ISessionEventHandler
リモート テーブルのデフォルト ビュー
グリッドの拡張機能
今回のリリースの MapXtreme 2008 には、グリッド作成、グリッド補間クラス、グリッド API、グリッド スタイルな
ど、グリッドの操作に関する数々の新機能および拡張機能が含まれています。
グリッド作成
今回のリリースの MapXtreme 2008 には、書き込み可能グリッド ハンドラおよび補間クラスを使用した連続グリッド
作成の機能が新たに追加されています。これらのグリッドは、MapInfo.Raster.CreateGridFromFeatures クラス、Mig.ghl
グリッド ハンドラ、および用意されている 2 つの補間クラスの 1 つを使用して、プログラムによって作成されま
す。グリッドは、データ ポイントのテーブル、または選択内容から作成できます。
連続グリッドは、いくつかのセルからなる長方形のグリッドにマップを分割したものであり、各セルには、計測され
たデータ ポイント、または周囲のデータ ポイントに基づく補間値を表す、データ値が含まれています。連続グリッ
ドは、マップ上で連続的な色調の変化を使用して、変化するデータ値を表示します。
以前の MapXtreme は、グリッドの読み取りと、そのグリッド セル値の再取得だけに制限されていました。また、陰
影処理やスタイルなど、グリッドに関する情報を読み取ることもできました。ContinuousGridWrite クラスは用意され
ていましたが、補間クラスを利用してデータ ポイントをより適切に反映するようなグリッドを作成する機能はあり
ませんでした。
新しい MapInfo.Raster.CreateGridFromFeatures は、連続グリッドを作成するときに呼び出されるメイン クラスです。
このクラスは、MapInfo の書き込み可能なグリッド ハンドラおよび補間クラスを使用して、連続グリッド マップを
作成します。
MapXtreme 2008 v7.0.0 リリース ノート
2
新機能
グリッド補間クラス
MapXtreme 2008 には、連続グリッドを作成するための 2 つのグリッド補間クラス IDW および TIN があります。IDW
および TIN 補間クラスは、MapInfo.Raster.Interpolators という固有の名前空間に含まれています。
これらの補間クラスは、特定の式に従ってグリッド セル値を決定するアルゴリズムを提供します。IDW (Inverse
Distance Weighted) 補間クラスは、隣接した値に関連したり影響を受けたりするデータではなく、人口などのデータ
値や、グリッド上で任意の値を生成するデータに最も適しています。この補間方法は、限定的なデータに対しても良
く機能します。TIN (Triangulated Irregular Network) 補間クラスは、地形データに最適であり、グリッド上で線形に進
むデータ ポイントや互いに線形の関係を持つデータ ポイント (温度など) に向いています。
詳細については、開発者ガイドの第 18 章、「ラスタとグリッドの操作」を参照してください。
グリッド API
用意されている補間クラスのいずれかでニーズが満たされない場合は、新しい IInterpolator インターフェイスから派
生して独自の補間クラスを作成できます。開発者リファレンスで MapInfo.Raster.Interpolators 名前空間の説明を参照
してください。
グリッド API に対する他の強化点としては、マップ境界の輪郭に合わせてマップをクリップする機能があります。
グリッドは、ソース データの最小外接四角形に基づいて作成されます。グリッド境界がマップ境界の輪郭に沿うよう
にするには、CreateGridFromFeatures.ClippingGeometry プロパティを、クリップ対象とする Geometry に設定します。
グリッド スタイル
データ ポイントからグリッドを作成したら、新しい [グリッド スタイル] ダイアログおよびワークスペース マネー
ジャを使用して、陰影処理、スタイル、色調変化点などの特性を変更できます。
グリッド スタイルのサポートは、MapInfo.Styles.GridStyle クラスを使用し、GridStyleControl を介して、プログラムに
よって提供され、ワークスペース マネージャに組み込まれています。GridForm というサンプル アプリケーションも
この機能を提供します。色調変化値および色に対する変更は、ワークスペースに保存して後で読み込むことができます。
MapXtreme には、GridInflectionCalculator を含む C# サンプル アプリケーションが用意されています。これらのサンプ
ルは、¥Samples¥<VisualStudio2005><VisualStudio2008>¥Desktop¥Features¥GridForm にあります。
SQL Server 2008 のサポート
今回のリリースの MapXtreme 2008 では、Microsoft SQL Server 2008 からのデータの読み取り、および Microsoft SQL
Server 2008 へのデータの書き込みをサポートしています。これには、空間データ型 GEOMETRY および GEOGRAPHY
が含まれ、両方の空間形式に対して M 値と Z 値がサポートされます。SQL Server 2008 のデータ型については、SQL
Server 2008 のマニュアルを参照してください。
MapXtreme で SQL Server 2008 のデータにアクセスするには、SQL Server Native Client 10 が必要です。これにより、
データは、MapXtreme でサポートする他のリモート データベース管理システムのデータと同じように扱われます。
TableInfoServer クラスを使用して、リモート テーブルに対する接続文字列およびそのテーブルに対して実行する
SQL ステートメントを定義できます。MapXtreme は、内部的に ODBC を使用して、リモート データベースにアクセ
スします。
MapXtreme で内容を認識できるようにするため、SQL Server 2008 の空間テーブルは MapInfo_MapCatalog に登録する
必要があります。MapCatalog には、SQL Server 2008 のテーブルを表すために 4 つの新しい SpatialColumn 値が追加さ
れています。
17.x : M 値と Z 値を含まない GEOMETRY 用
18.x : M 値と Z 値を含まない GEOGRAPHY 用
20.x : M 値と Z 値を含む GEOMETRY 用
21.x : M 値と Z 値を含む GEOGRAPHY 用
MapXtreme 2008 v7.0.0 リリース ノート
3
新機能
上記の値の x は、空間オブジェクトのタイプを表し、0 はポイントのみ、1 はラインのみ、2 はリージョンのみ、3 は
空間オブジェクトのすべてのタイプを意味します。
MapInfo Professional または EasyLoader を使用してデータをアップロードできます。または、MapInfo Professional を使
用して既存のデータをマップ作成可能にすることで、MapCatalog にエントリが作成されます。
MapXtreme では、MapInfo Professional (テーブル バージョン 900、950、1000) および EasyLoader で作成された SQL
Server 2008 のテーブルをサポートしています。
MapXtreme による SQL Server 2008 のサポートの詳細については、開発者ガイドの第 12 章、「DBMS のデータへのア
クセス」を参照してください。
線型リファレンスおよび動的セグメンテーション操作
MapXtreme 2008 には、線型リファレンスおよび動的セグメンテーションを実行するための新しい操作がいくつか用意
されています。これは MapXtreme 2008 による M 値および Z 値の新たなサポートを利用したものであり、MultiCurve
フィーチャ ジオメトリの計測 (M) 値を使用して実現されています。これらのメソッドは、インスタンス化可能な
MapInfo.Geometry.LinearReferencingOperations クラスの一部として定義されています。このクラスは、必要に応じて
プロパティを追加したり動作を拡張したりできる柔軟性を提供します。
線型リファレンスの操作では、MultiCurve に対する計測値の設定および管理、特定の計測値におけるポイントの配
置、2 つの計測値間の部分曲線の抽出が行えます。これらの操作の実用的な使用法として、故障車両の位置を近辺の
距離標識から判断したり、建設または修復のさまざまな段階にある高速道路の区域を特定したりする場合が考えられ
ます。
サンプル アプリケーション
MapXtreme のインストール場所にある Samples フォルダに、線形リファレンスのサンプル アプリケーションがあり
ます。このアプリケーションは、道路の各種の特性を表す複数の平行線セグメントを生成します。この例では、舗装
状態、最高速度ゾーン、および車線数を示す道路データが、実際の道路に沿ったオフセット MultiCurve として表示
され、特定の道路セクションの状態や特性を示します。各特性または状態は、それぞれ異なるライン スタイルで表
示されます。
詳細については、開発者ガイドの第 22 章、「線型リファレンス」と、開発者リファレンスの MapInfo.LinearReferencing
名前空間を参照してください。
Geometry モデルの拡張による M 値および Z 値のサポート
MapXtreme の Geometry モデルの拡張によって、M 値および Z 値の読み書きと ジオメトリ作成のバッチ処理がサポー
トされています。
M 値と Z 値のサポート
MapXtreme 2008 では、ラインに沿ったポイントに対する M 値および Z 値がサポートされるようになりました。これ
らの属性により、計測された情報 (M) および垂直方向の情報 (Z) をノードに割り当てることができ、より精緻な表示や、
これまでの 2 次元 (X、Y) フレームワークの範囲を超えたクエリおよび分析機能が利用できるようになっています。
読み取り/書き込みのサポートは、メモリ (MemTable) 内の Oracle、SQL Server 2008、および MapXtreme テーブルで利
用可能です。
また、MapXtreme 2008 は M 値および Z 値を ESRI Shapefile から読み取ります。これまでは、Shapefile の M 値および
Z 値が無視されていました。今回の拡張は、MapInfo Professional の Shapefile 読み取り機能に匹敵するものです。
MapXtreme 2008 v7.0.0 リリース ノート
4
新機能
線形オブジェクトに対する M 値と Z 値の読み取りおよび書き込みのサポートは、MapXtreme Geometry モデルの拡張
によって実現されました。Feature ジオメトリ (Point、Multipoint、MultiPolygon、MultiCurve、および
FeatureGeometryCollection) は、オブジェクト内のそれぞれのノードに対する X、Y、Z、および M の各値を保持でき
るようになりました。MapInfo.Data.GeometryColumn のプロパティである Is3D または IsMeasured により、オブジェク
トが Z 値または M 値を持つかどうかを判断できます。M 値と Z 値の最小および最大範囲も取得できます。それぞれ
のノードの M 値や Z 値を読み取ったり変更したりするために、各ジオメトリ型のさまざまな GeometryEditor クラス
によって追加のプロパティおよびメソッドが提供されています。
詳細については、開発者ガイドの第 17 章、「空間オブジェクトと座標系」と、開発者リファレンスの MapInfo.Geometry
名前空間を参照してください。
バッチによるジオメトリ作成のサポート
ジオメトリ モデルの拡張によって、バッチによるジオメトリ作成のためのより強力でスケーラブルなオプションが
使えるようになりました。
新しいコンストラクタと Add シグネチャが MultiPolygon、MultiCurve、および MultiPoint クラスに追加され、入力配
列と共にノード数を与えることが可能になっています。こうした新たな項目が用意されたことにより、一度インスタ
ンス化した配列を新しいジオメトリの作成に再利用することができます。
MultiPolygon および MultiCurve クラスには Clear メソッドが 追加され、MultiPoint クラスでは ReplaceAll メソッドの
オーバーロードに 入力配列と共にノード数が用意されています。
また、MultiPolygon クラスには、EditingComplete のオーバーロードが追加されています。
このようなジオメトリ モデルの拡張により、バッチによるジオメトリ作成のための強力なオプション群が提供され
ます。このことは、拡張可能データ プロバイダの一部としてカーソルを実装する場合に特に重要な意味を持ちま
す。拡張可能データ プロバイダ モデルについては、開発者ガイドで説明しています。付録 E、「拡張可能データ プ
ロバイダ」を参照してください。
これらの拡張されたクラスの詳細については、開発者リファレンスの MapInfo.Geometry 名前空間を参照してください。
M 値と Z 値のテーブル フィールド メタデータのサポート
MapXtreme 2008 では、M 値と Z 値のテーブル フィールド メタデータをサポートしています。あるデータ プロバイ
ダのジオメトリが 3D および計測値をサポートできるかどうかを、個々のジオメトリを評価せずに知りたい場合に、
この機能は役立ちます。テーブルのメタデータには、テーブルの TableInfo プロパティからアクセスします。このプ
ロパティでは、テーブルが M 値または Z 値をサポートしているかどうか、またそのテーブルの値の範囲が既知であ
ればその範囲もわかります。
詳細については、開発者ガイドの第 10 章、「データでの作業」と、開発者リファレンスの MapInfo.Data.TableInfo ク
ラスを参照してください。
MapXtreme 2008 v7.0.0 リリース ノート
5
新機能
Oracle の M 値 および Z 値のサポート
MapXtreme では、M 値および Z 値を持つ Oracle GTYPE の読み取りおよび書き込みをサポートしています。M 値と Z
値が存在するかどうか、およびそれらの順序は、USER_SDO_GEOM_METADATA 内の DIM_INFO 配列を調べること
でわかります。MapXtreme では、以下の次元名を確認します (大文字と小文字は区別しません)。
•
•
M 次元 : "M"、"Measure"、"M Dimension"
Z 次元 : "Z"、"Elevation"、" Depth"、"Z Dimension"
M 値または Z 値を含むテーブルは、存在する次元のデータを含む FeatureGeometry オブジェクトを返します。Oracle
テーブルに対して挿入または更新が行われたジオメトリは、そのテーブルがサポートする新しいジオメトリの次元を
保存します。次元 X、Y、および Z を持つ Oracle テーブルに X、Y、Z、および M 値を持つジオメトリが挿入された
場合、Z 値は保存されますが、M 値は保存されません。Oracle テーブルに必要な次元が与えられなかった場合は、
NULL 値が格納されます。たとえば、次元 X、Y、および M が定義されたテーブルに、M 値も Z 値も含まないジオ
メトリを挿入すると、テーブルに格納される M 値は NULL となります。
Oracle 11g のサポート
MapXtreme 2008 になって Oracle Database11g (具体的には 11.1.0.6.0 および 11.1.0.7.0) がサポートされるようになりま
した。この拡張後の Oracle サポート範囲には、9i、10g、10gR2 も含まれています。
ShapeFile のサポート
M 値と Z 値
MapXtreme 2008 では、ESRI Shapefile に格納された 3 次元ジオメトリの読み取りをサポートしています (X、Y、M、
および Z)。
キャッシュ
MapXtreme は、パフォーマンス向上のために Shapefile データをキャッシュするようになりました。データは MapInfo
MAP ファイルにキャッシュされます。このファイルは、一時的なものであっても複数の MapXtreme セッション間で
保持されるものであっても構いません。一時ファイルの場合、キャッシュは temp ディレクトリに作成され、テーブ
ルが閉じられたときに削除されます。キャッシュの保持を指定した場合、キャッシュは TAB ファイルと同じディレ
クトリに置かれ、テーブルが閉じられても削除されません。保持用のキャッシュは、MapInfo Professional と共有さ
れ、TableInfoShapefile クラスの PersistentCache プロパティによって制御されます。キャッシュ保持のオプションを使
用するには、ユーザがテーブル パスへの書き込みアクセス許可を持っている必要があります。
キャッシュ保持の設定方法については、開発者リファレンスの MapInfo.Data.TableInfoShapefile.PersistentCache プロパ
ティの説明にあるサンプル コードを参照してください。
MapXtreme 2008 v7.0.0 リリース ノート
6
新機能
MapXtreme タイル ハンドラ
MapXtreme 2008 には、マップ タイルおよびマップ情報をリクエストする際に使用される、REST ベースのタイル ハ
ンドラとパブリック URL があります。REST ベースのハンドラを使用すると、マップ リクエストのすべての引数を
1 つの URL に埋め込むことができます。
MapXtreme 2008 タイル ハンドラは、以下の操作をサポートしています。
•
•
•
•
マップ内の行と列の位置によるタイルのリクエスト
利用可能なマップのリストのリクエスト
マップの説明のリクエスト
タイル パフォーマンスを向上するキャッシュ手順の指定
MapXtreme タイル ハンドラを利用する Web アプリケーションの例については、MapInfo 開発者向けのコード変換の
フォーラムにある、MapXtreme タイル ハンドラの例を参照してください。
MapXtreme タイル ハンドラ API は、MapInfo.WebControls.Tiling 名前空間に含まれています。詳細については、『開
発者リファレンス』を参照してください。タイル ハンドラのソース コードは ¥Samples¥WebControlsSourceCode フォ
ルダに格納されています。
Popular Visualization CRS / メルカトル (EPSG:3857)
MapXtreme 2008 は、Web マッピングや可視化アプリケーションで使用されているメルカトル座標リファレンス シス
テムの修正版をサポートしています。
"Popular Visualization" または "Spherical Mercator" と呼ばれるこの座標系は、新たな楕円体を使用して地球を擬似的に
球体として扱うメルカトル図法の派生版です。これにより、マップ データを Microsoft Bing Maps や Google Maps な
どの Web および可視化アプリケーションのマップ タイルに適切に配置することができます。WGS84 ベースのメルカ
トル図法そのものは、こうした適切な配置に対応していません。
Popular Visualization 座標系は、EPSG コード 3857 の下で EPSG Geodetic Parameter Registry に採用されています。適用
可能な場合は、GIS の投影法がその EPSG コードによって一般的に参照されます。詳細については、
http://www.epsg-registry.org を参照してコード番号 3857 で検索してください。
MapXtreme 2008 の EPSG:3857 サポートには、MapInfo.Geometry 名前空間の新しい WGS84 Sphere 楕円体および測地
系 (Ellipsoid.PopularVisualization および DatumID.PopularVisualization) が含まれています。
座標系のサポート
New Zealand Geodetic Datum 1949
MapXtreme 2008 では、New Zealand Geodetic Datum 1949 の 3 パラメータ版 (列挙値 31) と 7 パラメータ版 (列挙値
1010) に同じ NTv2 の測地系の変換を適用しています。
ニュージーランド用の NTv2 グリッドによる測地系の変換は、New Zealand Geodetic Datum 1949 (NZGD49) と New
Zealand Geodetic Datum 2000 (NZGD2000) の間の変換で使用されます。今後、NZGD49 の 3 パラメータおよび 7 パラ
メータ版は、NTv2 を使用して NZGD2000 に適切に変換されることになります。
National Transformation v.2 (NTv2) は、Geomatics Canada の Geodetic Survey Division によって開発されたアルゴリズム
およびグリッド シフト ファイル形式です。NTv2 を使用すれば、NAD 27 リファレンス システムと NAD 83 リファレ
ンス システムとの間のデータ変換が可能になります。アルゴリズムで使用されるグリッド シフト ファイルには、
NAD 27 と NAD 83 の間の座標の差を表す、1 つ以上の長方形のグリッドが保存されています。
National Transformation は当初、カナダの地理データを NAD 27 から NAD 83 に変換するために作成されました。
NTv2 グリッドは、GRS80 楕円体に基づいた 1 次点と 2 次点を補正するための拡張でした。その後、オーストラリ
ア、ニュージーランド、ドイツの測地系の変換に採用されています。
MapXtreme 2008 v7.0.0 リリース ノート
7
新機能
NTv2 による測地系の変換は MapXtreme v 6.8 で導入されました。開発者ガイドの第 17 章、「空間オブジェクトと座
標系」には、その他の測地系の変換における (新しいグリッド シフト ファイルの追加による) NTv2 の修正方法と、
特定のグリッド シフト ファイルでの NTv2 のオン/オフ切り替え方法が説明されています。
Irish Transverse Mercator
MapXtreme 2008 では、Irish Transverse Mercator 座標系をサポートしています。この座標系は、GPS の採用と普及がも
たらした新たなニーズに対応するために、2001 年に Ordnance Survey of Ireland (OSI) と Ordnance Survey of Northern
Ireland (OSNI) が共同で導入したものです。その名が示すように、この座標系は横メルカトル図法にならって作られ、
アイルランド用に最適化されています。この座標系の詳細については、「ITM への移行」を参照してください。
MapXtreme でサポートされているすべての座標系に関する情報は、¥Program File または ¥Program Files (x86 の場合)
の ¥Common Files¥MapInfo¥MapXtreme¥7.0.0 にあります。 以下に、Irish Transverse Mercator に関する値を示します。
<srsName>Irish Transverse Mercator (ITM)</srsName>
<srsID>
<code>coordsys 8,115,7,-8,53.5,0.99982,600000,750000</code>
<codeSpace>mapinfo</codeSpace>
<remarks>Irish Coordinate Systems</remarks>
</srsID>
<baseCRS />
<definedByConversion />
<usesCartesianCS />
</ProjectedCRS>
<ProjectedCRS>
ハワイ用の NADCON 変換
MapXtreme 2008 はハワイ用の測地系変換を実行できるようになり、以前は 500 メートルを超えていた変位量が 3
メートル未満に収まるようになりました。MapXtreme では、これを実現するために Old Hawaiian 測地系の変換に
NADCON (North American Datum Conversion) ユーティリティを利用しています。これまで、こうした変換では Old
Hawaiian 測地系に NADCON を利用していませんでした。
ハワイのデータでは、通常 Old Hawaiian 測地系がリファレンス システムとして使用されます。このように変換が変
更された結果として、ハワイのデータを含むマップは、以前よりもずっと小さな変位量で Lat/Long NAD27 から Lat/
Long NAD83 または WGS84 に再投影できるようになっています。
MapXtreme 2008 v7.0.0 リリース ノート
8
新機能
拡張可能データ プロバイダ
MapXtreme 2008 には、独自のデータ形式を MapXtreme 内に取り込みたいという開発者のために拡張可能なデータ プ
ロバイダのモデルが導入されています。このデータ プロバイダは、テーブルのオープンやカーソルを使用した検索
結果行の読み取りなど、MapXtreme の中核となるデータ アクセス エンジンの機能を実装するインターフェイスとサ
ポートしているクラスの集まりを表しています。
MapXtreme 2008 は、TableInfo クラスによって幅広いデータ ソースをサポートしています。また、MapXtreme は、別
の TableInfo データ ソースからは直接アクセスできないデータのために、TableInfoAdoNet クラスで Microsoft の
ADO.NET もサポートしています。
サポートされているデータ ソースへの拡張可能データ プロバイダの追加は、MapXtreme の中核となるデータ アクセス
エンジンを ADO.NET から間接的に利用するのではなく直接利用したいという熟練 .NET 開発者にとって有効です。
新しい名前空間 : MapInfo.Data.Provider
先に述べた MapXtreme 2008 の拡張可能データ プロバイダは、MapInfo.Data.Provider という新しい名前空間で構成さ
れます。この名前空間には、独自のデータ プロバイダの構築に使用されるいくつかの新しいインターフェイスが含
まれています。
•
•
•
•
•
•
•
•
IDataProvider - このプロバイダによって提供されるテーブル形式や (可能な場合には) そうしたテーブルを管理する
データ ソースを公開することにより、カスタムのデータ プロバイダ インプリメントの基盤を提供します。
IDataSource - データ ソースのインターフェイスと、データ テーブルへのアクセスを管理するエンティティを定義
します。
IDataSourceDefinition - 特定のデータ プロバイダの IDataSource をインスタンス化するのに必要なプロパティを定
義します。
ITable - テーブルのインターフェイスと、MapXtreme による読み取り、クエリ、およびマップ表示が可能な情報の
コンテナを定義します。
ITableDefinition - 特定のデータ プロバイダの ITable をインスタンス化するのに必要なプロパティを提供します。
ITableMetadata - 開いているテーブルのプロパティとサポートされている機能に関する重要な情報の伝達に使用され
ます。
IFeature - フィーチャの定義に使用されるプロパティおよびメソッドを提供します。
ICursor - クエリから返されるフィーチャのリストに対する反復処理に使用されるクラスを定義します。
また、MapInfo.Data.Provider 名前空間には、新しいデータ プロバイダを作成するためのオプションの開始点として使
用されるいくつかの抽象クラスのインプリメントも含まれています。
MapXtreme 2008 v7.0.0 リリース ノート
9
新機能
MapXtreme 2008 の拡張可能データ プロバイダは現在、テーブルのオープン、テーブルの内容と関連するメタデータ
の読み出し、複数の手法を用いたテーブル内容の検索、および挿入、更新、削除操作によるテーブル内容の変更をサ
ポートします。
MapInfo.Data.Provider 名前空間の追加サポートは、MapInfo.Data 名前空間の新しいインターフェイスによって提供さ
れます。詳細については、『MapXtreme 開発者リファレンス』を参照してください。
拡張可能データ プロバイダ SDK
MapXtreme 2008には、必須およびオプションのインターフェイス、使い始めるための抽象基底クラスおよびユー
ティリティの構築ブロック、開発の参考になるガイダンスなどが含まれた、拡張可能データ プロバイダ用のソフト
ウェア開発キット (SDK) が用意されています。開発者ガイドの付録 E、「拡張可能データ プロバイダ」を参照して
ください。
拡張可能データ プロバイダ SDK には、拡張可能データ プロバイダ アーキテクチャの多くの機能を実現した、デー
タ プロバイダのサンプル インプリメントが含まれています。MapInfo.SpatiaLite.sln は、SQLite3 ADO.Net データ プロ
バイダを使用して、基盤となる SQLite3 データベースへの接続を確立し、MapXtreme アプリケーションにおいてテー
ブルを開く、Visual Studio ソリューションです。
このサンプル インプリメントは、セッション初期化時のカスタム コードの自動読み込みや、ワークスペース マネー
ジャの機能の拡張など、MapXtreme のその他の拡張可能な側面も示すものとなっています。このサンプルは、
MapXtreme インストール ディレクトリの下の ¥Samples¥DataProviders フォルダにあります。詳細については、開発者
ガイドの付録 E を参照してください。
更新された ECW ラスタ ハンドラ
今回のリリースの MapXtreme 2008 には、ECW イメージや JPEG2000 形式のイメージを読み取るための更新された
ECW ラスタ ハンドラが含まれています。ハンドラのファイル名は、ECW.RHY でこれまでと同じです。
ただし、JPEG2000 イメージはこれまでどおりに最初に LeadTools ラスタ ハンドラ LEADTOOL.RHX によって読み取
られます。これは、MapXtreme がそれぞれのラスタ ハンドラの適合性をファイル拡張子のアルファベット順に評価
するためです (.RHX は .RHY より先に評価されます)。
こうした JPEG2000 イメージのうち、LeadTools が読み取れないものだけが ECW.RHY によって読み取られます。ラ
スタ ハンドラの順序を調整したい場合は、ファイル拡張子の最後の文字を変更するとよいでしょう。たとえば、
ECW ラスタ ハンドラによるイメージの読み込みを LeadTools ラスタ ハンドラよりも先に行わせるには、それぞれの
ファイル名を ECW.RHW と LEADTOOL.RHX にします。ラスタ ハンドラは、デフォルトで
¥Program Files¥Common¥MapInfo¥MapXtreme¥7.x.x¥RasterGridHandlers フォルダにあります。
詳細については、開発者ガイドの第 18 章、「ラスタとグリッドの操作」を参照してください。
米国の住所のジオコード化
今回のリリースは、米国の住所をジオコード化するために MapMarker US の最新版 (v. 22) をサポートしています。米
国を対象としたジオコード化のためにサポートされている MapMarker Plus のすべてのバージョンは、依然として
MapXtreme 2008 からアクセスできます。
米国以外の住所に関しては、MapMarker のバージョンに対する変更はありません。
MapMarker は、MapXtreme 2008 とは別売りになっています。
MapXtreme 2008 v7.0.0 リリース ノート
10
新機能
ToolStripButton とアイコン
今回のリリースの MapXtreme 2008 には、MapXtreme 2008 MapForm アプリケーション内の MapControl で使用できる
新しいツール ボタンが含まれています。ToolStripButton と呼ばれるこれらのボタンは、MapForm のデザインに柔軟
性を与えるために .NET の ToolStrip または StatusStrip に追加されます。
ToolStripButton は、以前のバージョンの MapXtreme 2008 で MapControl 用の現在のツールを管理していた MapToolBar
内にはありません。ツールのアクティビティおよびプロパティを制御するロジックは、それぞれの ToolStripButton に
含まれるようになっています。基本的なマッピング ツールのデフォルト コレクションを備えた MapToolBar は、旧
バージョンとの互換性と今後の選択的使用のために残されており、これまでどおり Visual Studio ツールボックス内に
あります。
メモ
Toolbar から ToolStripButton への変更は、v 7.0.0 へのアップグレードが望まれるあらゆるデスクトップ アプリ
ケーションの互換性に影響する変更点です。
新しいアイコン
新しい ToolStripButton をサポートするために、アプリケーション内で自由に使える一連のアイコンが用意されていま
す。こうした 90 のイメージは、マッピングおよびデータ アクセスの機能、描画の操作、ファイル管理などを表して
います。それらは、MapXtreme 2008 のインストール場所の ¥Samples¥Icons フォルダの下に置かれています。各イ
メージには 2 とおりのサイズ (16x16 ピクセルと 24x24 ピクセル) があります。サムネイル表示については、開発者ガ
イドの付録 G を参照してください。これらのアイコンの一部は、LayerControl およびワークスペース マネージャに
も使用されています。
新しいスナップ モード イベント
今回のリリースの MapXtreme 2008 には、デスクトップ アプリケーション用の 2 つの新しいスナップ モード イベン
トが含まれています。これらのイベントは、マップ上のスナップ ノード付近で動かしているツール カーソルの正確
な位置を知る必要があるときに便利です。
MapInfo.Tools.MapTools.SnappedToNode イベントは、スナップ モードが有効な場合にツール カーソルがオブジェクト
のノードに吸い寄せられてスナップ許容値の範囲内に入ったときに発生します。
MapInfo.Tools.MapTools.UnsnappedFromNode イベントは、カーソルが所定のノードのスナップ許容値範囲内の領域か
ら出たときに発生します。
どちらのイベントも、画面座標に加えて、カーソルの位置を示すマップ座標を返します。それぞれのイベントから
マップ座標を返すことにより、カーソルの位置を正確に伝えることができます。これが便利なのは、別のフィーチャ
との距離の算出など、ほかのマップ計算のためにこれらの座標が必要になる場合です。
互いにオーバーラップしているスナップ許容値の領域がある場合、どちらの領域も通るようにカーソルを移動する
と、双方のイベントが連続して発生し、それぞれのカーソルの位置を取得できます。
スナップ モードを有効にするには、MapInfo.Tools.IMapToolProperties.SnapEnabled プロパティを設定するか、ツリー
ビュー内でのマップの選択時にワークスペース マネージャの [ツール] タブで設定を行います。また、あるレイヤの
ノードを表示するには、MapInfo.Mapping.FeatureLayer の ShowNodes プロパティを設定します。
MapXtreme 2008 v7.0.0 リリース ノート
11
新機能
ローカライゼーション キット
MapXtreme 2008 には、エラー メッセージおよびダイアログ/コントロール テキスト要素を翻訳して、それを各自が開
発する MapXtreme ベースのアプリケーションで使用したいと考えている開発者用に、Visual Studio ソリューションが
用意されています。
この "ローカライゼーション キット" には、MapXtreme 2008 のすべての実行時コンポーネントのリソース プロジェク
トが含まれています。ローカライゼーション キットは Visual Studio ソリューションとして構成されているため、リ
ソース文字列の編集やアセンブリのビルドを簡単に行えるほか、リソース管理処理の多くがバックグラウンドで行わ
れます。ソリューションは、Visual Studio 2008、Visual C# 2008 Express Edition、および MSBuild コマンド ライン ビル
ド ユーティリティで使用できます。
それぞれのプロジェクトには、翻訳のための英語のリソース文字列と、MapXtreme アプリケーションへの統合が可能
なサテライト アセンブリにコンパイルされる厳密名キー (.snk) ファイルが含まれています。
サテライト アセンブリは、(キットに含まれる) 厳密名の公開鍵によって署名されます。
MapInfo.CoreEngine.Public.Snk は、独自の公開鍵を持つ MapInfo.Ogc.resources および MapInfo.WebControls.resources 以
外の、すべてのアセンブリの公開鍵です。これらの公開鍵でサテライト アセンブリに署名すると、テストとデバッ
グでアセンブリを使用できます。これらのアセンブリを使用して MapXtreme を実行するためには、これらをグロー
バル アセンブリ キャッシュ (GAC) に配置する必要があります。署名済みのアセンブリのみ、GAC に配置できま
す。ローカライズされたアセンブリをいつでも展開できるようにするには、Pitney Bowes Business Insight による公開
鍵を用いて署名する必要があります。詳細については、開発者ガイドの付録 K、「ローカライゼーション キット」
を参照してください。
ワークスペース マネージャの拡張
ワークスペース マネージャは、マップおよび凡例に関する複数のタブや、独自の拡張子の追加機能など、新たな機
能によって拡張されています。ユーザ インターフェイスは新しいツールバー アイコンによって更新され、一部のメ
ニューはツールやコマンドが使いやすくなるように再構成されています。
以下に、ワークスペース マネージャの変更点を示します。
•
•
•
それぞれのマップは、マップ間の移動を容易にするために、タブ化されたマップ ウィンドウに収められます。
マップに凡例を含める場合は、専用のタブに凡例を表示できます。
ワークスペース マネージャの機能を拡張するために書かれた機能拡張の読み込みおよび管理のために、新たな [機
能拡張] コマンドが用意されています。ワークスペース マネージャ機能拡張は .NET アセンブリです。[機能拡張] >
[機能拡張の読み込み] コマンドを選択すると、デフォルトのファイルの種類が機能拡張 (*.dll) になった状態で [開
く] ダイアログが表示されます。[機能拡張] > [機能拡張の管理] を選択すると、[機能拡張の管理] ダイアログが表
示され、そこで機能拡張の読み込みおよびアンロードやプロパティの設定が行えます。
マップの追加、削除、表示/非表示の制御を行うために、新たに [ワークスペース マップの管理] ダイアログが用
意されています。
ワークスペース マネージャの詳細については、開発者ガイドの第 24 章、「ワークスペース マネージャ」を参照して
ください。
MapXtreme 2008 v7.0.0 リリース ノート
12
新機能
カスタム アセンブリ読み込み用の ISessionEventHandler
MapXtreme には、MapXtreme の機能を拡張するカスタム DLL を読み込むための MapInfo.Engine.ISessionEventHandler
インターフェイスが用意されています。このインターフェイスを使用して、拡張可能なデータ プロバイダ、永続化
プロバイダ、デフォルトのワークスペースで使用するスタイルなど、アプリケーションに必要な任意の拡張 DLL を
自動的に読み込むことができます。MapXtreme は、起動時にこれらのアセンブリを初期化し、必要な手順を実行し
ます。
SessionEventHandler アセンブリが起動時に初期化されるようにするには、
¥Common Files¥MapInfo¥MapXtreme¥7.x.x¥SessionEventHandlers フォルダに格納しておく必要があります。実際には、
このフォルダ内で .SessionEventHandler.DLL というファイル接尾辞を持つアセンブリが読み込まれます。
詳細については、開発者ガイドの第 9 章、「中核 MapXtreme クラスでの作業」を参照してください。
リモート テーブルのデフォルト ビュー
MapXtreme 2008 には、関心のあるデータだけをマップやブラウザで開けるように、リモート データベース テーブル
用の設定可能なデフォルト ビューが用意されています。この機能は、リモート テーブルが最初に開かれたテーブル
である場合に適用されます。これまでの MapXtreme 2008 では、ビューのためにテーブルの境界全体を取得していた
ため、大きなテーブルのデータ アクセスに時間がかかっていました。
デフォルト ビューは、MAPINFO_MAPCATALOG 内の、境界を保持する 4 つの新しいフィールド (VIEW_X_LL、
VIEW_Y_LL、VIEW_X_UR、および VIEW_Y_UR) に格納されています。MapCatalog は、リモート テーブルに関す
るメタデータが含まれるサーバ テーブルです。テーブルの MapCatalog にエントリが存在しない場合、MapXtreme
2008 はすべての境界を取得します。
リモート テーブルのデフォルト ビュー エントリが MAPINFO_MAPCATALOG にない場合、(データベース接続にお
いて識別されている) リモート データベース ユーザは、デフォルト ビューの元の設定を変更するために MapCatalog
に対する ALTER アクセス権限を持っている必要があります。この権限がなければ、警告メッセージが表示され、デ
フォルト ビューの変更は失敗します。
デフォルト ビューの設定機能は、EasyLoader および MapInfo Professional v 10.0 でも利用できます。
MapXtreme 2008 v7.0.0 リリース ノート
13
強化された機能
強化された機能
•
•
互換性に影響する変更点
API の変更
互換性に影響する変更点
以下に示す MapXtreme 2008 における変更点は、以前のバージョンで作成されたアプリケーションの互換性に影響を
与えます。
•
•
修飾子主題図のシリアライゼーション/デシリアライゼーションの変更
LayerControl および ToolStrip クラス
修飾子主題図のシリアライゼーション/デシリアライゼーションの変更
MapXtreme 2008 v7.0 では、パフォーマンス向上のために、修飾子主題図のシリアライズおよびデシリアライズの方
法が根本的に変更されています。
影響を受ける主題図は IModifierTheme インターフェイスを実装しているもの、すなわち、RangedTheme、
RangedLabelTheme、IndividualValueTheme、および IndividualValueLabelTheme です。
変更により、主題図のシリアライゼーションの中で、主題図の Bin またはカテゴリのレコード カウントがシリアラ
イズされます。デシリアライゼーションの際は、レコード カウントは再計算されなくなり、シリアライズされたレ
コード カウントが主題図に適用されます。この変更は、シリアライゼーション/デシリアライゼーションのパフォー
マンスを向上するために行われました。
デシリアライゼーション時に主題図のレコード カウントを更新することが期待されるアプリケーションの場合、デ
シリアライゼーション後に主題図の Bin またはカテゴリのレコード カウントを更新するためのロジックを追加する
必要があることに注意してください。RangeTheme および RangeLabelTheme の場合、
MapInfo.Mapping.Thematic.IRangedTheme.Recompute メソッドの呼び出しがこれに当たります。IndividualValueTheme
および IndividualValueLabelTheme の場合、MapInfo.Mapping.Thematic.IModifierTheme.RecomputeBins メソッドの呼び
出しがこれに当たります。
LayerControl および ToolStrip クラス
MapInfo.Windows.Dialog.LayerControl は、Microsoft の ToolStrip を利用するために変更されており、その結果として
ツールの追加先が ToolBar ではなく ToolStrip になっています。ToolStripButton とアイコン (11 ページ) を参照してくだ
さい。
MapXtreme 2008 v7.0.0 リリース ノート
14
強化された機能
API の変更
以下に、MapXtreme 2008 API に対する変更のうちで注意すべきものを示します。
•
•
•
MapInfo.Data.Feature 属性における null 値の扱い
IndividualValueTheme のコンストラクタ
IFeatureEnumerator
•
•
•
•
WFS クライアント
MapInfo.Geometry.Ring.IsClockwise プロパティ
廃止された名前空間 : MapInfo.Web.UI.WebControls
廃止されたメソッドおよびプロパティ
MapInfo.Data.Feature 属性における null 値の扱い
MapInfo.Data.Feature クラス内で互換性に影響する可能性がある変更点
v 7.0.0 から MapInfo.Data.Feature 属性の null 値は、null 参照としてではなく、System.DBValue.Null オブジェクトとして扱
われるようになりました。つまり、初期化されていない属性値に対する Feature ゲッター インデックス演算子の戻り値
に関する動作が変更され、明示的に null 指定された値に関する戻り値が変わる可能性があります。MapInfo.Data.Feature
インデックス演算子の戻り値として null を確認するクライアント コードは、DBValue.Null の確認をサポートするよ
うに変更する必要があります。
Feature インデックス セッター演算子は、DBValue.Null だけでなく、null 参照も引き続き受け取ります。
Feature.Geometry プロパティは、Feature に Geometry フィールドの定義がない場合、引き続き null 参照を返します。
それ以外の場合、DBNull.Value の戻り値は、定義されているジオメトリ フィールドの null 値を示します。
Feature.Style プロパティは、Feature に Style フィールドの定義がない場合、引き続き null 参照を返します。それ以外
の場合、DBNull.Value の戻り値は、定義されているスタイル フィールドの null 値を示します。
MIDataReader.GetValue() はこれまでどおり、null を表す DBNull.Value を返します。
IndividualValueTheme のコンストラクタ
MapInfo.Mapping.Thematics.IndividualValueTheme クラスは、作成する主題図用カテゴリの数を指定するためのパラ
メータ categoryCount を含む新しいパブリック コンストラクタを提供します。これは、そうした機能がなかった元の
コンストラクタへの機能の追加にあたります。
IndividualValue 主題図を含む修飾子主題図のカテゴリ数のシリアライゼーションに関する情報については、修飾子主
題図のシリアライゼーション/デシリアライゼーションの変更 (14 ページ) も参照してください。
IFeatureEnumerator
MapInfo.Data.IFeatureEnumerator は、System.IDisposable を継承するようになりました。そのため、IFeatureEnumerator
をインプリメントするオブジェクトの使用時には Dispose() を呼び出す必要があります。
この変更は、シームレス テーブルの使用に伴う問題の修正と FeatureCollections のパフォーマンス向上のために行わ
れました。今後は、必ず Dispose() の呼び出しが必要になります。
C# や VB.NET の foreach 構文を使用すると、Dispose() が自動的に呼び出されます。
IDisposable インターフェイスの呼び出し
System.IDisposable インターフェイスを実装したクラスの呼び出し時には、たとえ例外によってアプリケーションが
中断される場合であっても、try/finally パターンを使用してアンマネージド リソースを必ず破棄するようにしてくだ
さい。
また、try/finally パターンの代わりにステートメントを使用することもできます。
MapXtreme 2008 v7.0.0 リリース ノート
15
強化された機能
WFS クライアント
MapInfo.Wfs.Client PropertyName および TypeName コンストラクタにパラメータが追加されました。これらのパラ
メータを使用することで、ユーザはフィーチャが存在する名前空間や、その名前空間の xmlns 接頭辞を指定できます。
MapInfo.Geometry.Ring.IsClockwise プロパティ
MapInfo.Geometry.Ring クラスに IsClockwise という新しいプロパティが追加されました。これにより、MapXtreme は
FeatureGeometry からの適切な方向を使用して SQL ジオメトリを作成できるようになります。
廃止された名前空間 : MapInfo.Web.UI.WebControls
MapInfo.Web.UI.WebControls 名前空間内にある古い Web コントロールを非推奨にする過程で、デフォルトのインス
トール (SDK、ランタイム、マージ モジュール) によって仮想ディレクトリ MapXtremeWebResources_7_0_0 が作成さ
れることはなくなりました。MapXtreme Web サイト テンプレートでは、サブディレクトリ MapXtremeWebResources
にリソースが格納されます。
推奨されていない Web コントロールを使用して古い Web アプリケーションをアップグレードする場合は、
Program Files¥Common Files¥MapInfo¥MapXtreme¥7.0.0¥MapXtremeWebResources を MapXtremeWebResources_7_0_0 と
いうエイリアス で参照する仮想ディレクトリを手動で作成する必要があります。リソースを変更している場合は、
IIS エイリアスである MapXtremeWebResources_7_0_0 を作成し、既存の変更済み webresources ディレクトリを参照す
る必要があります。
廃止されたメソッドおよびプロパティ
以下の表の左側の列に記載されているメソッドとプロパティは、MapXtreme 2008 オブジェクト モデルから削除され
ています。なお、2 番目の列には、使用すべき現行のメソッドまたはプロパティが記載されています。
廃止されたメソッドおよびプロパティは、2 年後に API から削除されます。以下のリストには、MapXtreme 2008 v
6.8 以前で廃止されたメソッドおよびプロパティが含まれています。
廃止されたメソッドまたはプロパティ
現行のメソッドまたはプロパティ
MapInfo.Data.GeoDictionary.GeoDictionary.DefaultMatchThr
eshold
MapInfo.Data.GeoDictionary.DefaultMatchThreshold
MapInfo.Engine.ISession.Reset
MapInfo.Engine.ISession.Clear
MapInfo.Geocoding.GeocodeClientFactory.GetMiAwareGeoc
odeClient(string url)
MapInfo.Geocoding.GeocodeClientFactory.GetEnvinsaLocatio
nUtilityService(string)
MapInfo.Geocoding.GeocodeClientFactory.GetMiAwareGeoc
odeClient(string,string,string)
MapInfo.Geocoding.GeocodeClientFactory.GetEnvinsaLocatio
nUtilityService(string,string,string)
MapInfo.Geometry.Curve.CurveEditor
MapInfo.Geometry.Curve.GetCurveEditor()
MapInfo.Geometry.CurveSegment.CurveSegmentEditor
MapInfo.Geometry.CurveSegment.GetCurveSegmentEditor()
MapInfo.Geometry.Ellipse.EllipseEditor
MapInfo.Geometry.Ellipse.GetEllipseEditor()
MapInfo.Geometry.Envelope.EnvelopeEditor
MapInfo.Geometry.Envelope.GetEnvelopeEditor()
MapInfo.Geometry.FeatureGeometryCollection.FeatureGeome MapInfo.Geometry.FeatureGeometryCollection.GetFeatureGeo
tryCollectionEditor
metryCollectionEditor()
MapInfo.Geometry.Geometry.GeometryEditor
MapInfo.Geometry.Geometry.GetGeometryEditor()
MapInfo.Geometry.LegacyArc.LegacyArcEditor
MapInfo.Geometry.LegacyArc.GetLegacyArcEditor()
MapXtreme 2008 v7.0.0 リリース ノート
16
強化された機能
廃止されたメソッドまたはプロパティ
現行のメソッドまたはプロパティ
MapInfo.Geometry.LegacyText.LegacyTextEditor
MapInfo.Geometry.LegacyText.GetLegacyTextEditor()
MapInfo.Geometry.LineString.LineStringEditor
MapInfo.Geometry.LineString.GetLineStringEditor()
MapInfo.Geometry.MultiCurve.MultiCurveEditor
MapInfo.Geometry.MultiCurve.GetMultiCurveEditor()
MapInfo.Geometry.MultiPoint.MultiPointEditor
MapInfo.Geometry.MultiPoint.GetMultiPointEditor()
MapInfo.Geometry.MultiPolygon.MultiPolygonEditor
MapInfo.Geometry.MultiPolygon.GetMultiPolygonEditor()
MapInfo.Geometry.Point.PointEditor
MapInfo.Geometry.Point.GetPointEditor()
MapInfo.Geometry.Polygon.PolygonEditor
MapInfo.Geometry.Polygon.GetPolygonEditor()
MapInfo.Geometry.Rectangle.RectangleEditor
MapInfo.Geometry.Rectangle.GetRectangleEditor()
MapInfo.Geometry.Ring.RingEditor
MapInfo.Geometry.Ring.GetRingEditor()
MapInfo.Geometry.RoundedRectangle.RoundedRectangleEdit
or
(MapInfo.Geometry.RoundedRectangle.GetRoundedRectangle
Editor);
MapInfo.Routing.RouteClientFactory.GetMiAwareRouteClien
t(string url)
MapInfo.Routing.RouteClientFactory.GetEnvinsaRoutingClien
t(string url)
MapInfo.Routing.RouteClientFactory.GetMiAwareRouteClien
t(string url, string username, string password)
MapInfo.Routing.RouteClientFactory.GetEnvinsaRoutingClien
t(string url, string username, string password)
MapInfo.Routing.RoutePlan.RoutePreference
MapInfo.Routing.RoutePlan.RoutePreferences.RouteMethod
MapInfo.Routing.WayPointList.WayPointList(DPoint
startPoint, DPoint endPoint)
MapInfo.Routing.WayPointList(MapInfo.Geometry.Point,
MapInfo.Geometry.Point)
MapInfo.Routing.WayPointList.WayPointList(DPoint
startPoint, DPoint endPoint, DPoint[] viaPoints)
MapInfo.Routing.WayPointList(MapInfo.Geometry.Point,
MapInfo.Geometry.Point, MultiPoint) または
MapInfo.Routing.WayPointList(MapInfo.Geometry.Point,
MapInfo.Geometry.Point, ViaPointList)
MapXtreme 2008 v7.0.0 リリース ノート
17
MapXtreme 2008 v7.0.0 へのアップグレード
MapXtreme 2008 v7.0.0 へのアップグレード
MapXtreme 2008 は、<インストール ディレクトリ>¥MapInfo¥MapXtreme¥7.x.x という形式を使用して、独自のディレ
クトリにインストールされます。X.x.x は現行バージョンを表します。前のバージョンが上書きされることはありま
せん。これにより、同じ製品の複数の異なるバージョンを共存させることができます。
7.0.0 はメジャー リリースなので、v6.x.x のライセンスを 7.0.0 のインストールにコピーすることはできません。
v6.x.x のライセンスをコピーできるのは、他の v6.x.x インストールに対してだけです。Pitney Bowes Business Insight
のカスタマ サービスから新しいライセンスを入手してください。ライセンスの詳細については、『開発者ガイド』
の第 2 章、「はじめに」を参照してください。
メモ
1 つのマシンで異なるバージョンを使用している場合、異なるバージョンのプロジェクトを開くときは、その
前に必ず Visual Studio を終了しておきます。Web アプリケーションの場合は、インターネット インフォメー
ション サービス (IIS) をリセットする必要もあります。この作業を行うには、コンソール ウィンドウで、また
は [スタート] メニューの [ファイル名を指定して実行] から iisreset.exe コマンドを実行します。
ここでは、次の項目について説明します。
•
•
•
既存の Web サイトのアップデート
既存のデスクトップ アプリケーションのアップデート
ポスト バック Web コントロール
既存の Web サイトのアップデート
旧バージョンの MapXtreme で作成した Web サイトを実行するには、アプリケーションの Web.config ファイルを編集
し て、新し い バ ー ジ ョン の ア セ ン ブリ を指定する必要があります。次の例には、追加する必要があ る 4 つの
MapXtreme アセンブリが示されています。アセンブリの 1 つである MapInfo.CoreEngine.Wrapper は、MapXtreme 2008
v6.8.0 から追加されました。MapXtreme v6.7.1 以前のバージョンで作成した Web アプリケーションをアップデートす
るには、このアセンブリを追加する必要があります。
MapXtreme 2008 v7.0.0 リリース ノート
18
MapXtreme 2008 v7.0.0 へのアップグレード
上の図に従って、Web.config ファイルを編集し、MapXtreme アセンブリのバージョン番号と公開キー トークンを追
加してください。バージョン番号と公開キー トークンを調べるには、[スタート] メニューの [ファイル名を指定して
実行] ダイアログ ボックスに「assembly」と入力します。グローバル アセンブリ キャッシュ (GAC) ツールによっ
て、システムのすべてのアセンブリが表示されます。
Assembly ウィンドウは、[スタート] > [すべてのプログラム] > [コントロール パネル] > [管理ツール] > [Microsoft .NET
Framework 2.0 構成] を選択し、[アセンブリ キャッシュの管理] を選択して、表示することもできます。
編集が終わったら、Web.config ファイルを保存して Web サイトを再構築します。
既存のデスクトップ アプリケーションのアップデート
旧バージョンの MapXtreme で作成したデスクトップ アプリケーションを再コンパイルできます。このとき、コント
ロールをフォームに追加し直すことが必要な場合があります。
その前に、いくつかの作業を行う必要があります。
•
[ローカル コピー] プロパティを "False" に設定する
•
新しいアセンブリをプロジェクトに追加する
•
アセンブリを新しいアセンブリにリダイレクトする
[ローカル コピー] プロパティを "False" に設定する
コントロールの [ローカル コピー] プロパティが "False" に設定されていることを確認します。MapXtreme デスクトッ
プ コントロールを Windows フォームにドラッグすると、[ローカル コピー] プロパティが "True" に設定されている参
照が読み込まれるという既知の問題があります。MapXtreme の参照では、グローバル アセンブリ キャッシュ (GAC)
内にあるアセンブリを指定する必要がありますが、[ローカル コピー] が "True" に設定されているとローカル bin パス
が指定されます。
ASP.NET Web アプリケーションでも、MapXtreme Web コントロールをフォームにドラッグ アンド ドロップした場合
や、MapXtreme テンプレートに基づいていないコンソール アプリケーションを作成する場合には、同じ動作が行わ
れます。この場合も同じ方法で回避します。[ローカル コピー] プロパティを FALSE に設定します。
MapXtreme Web サイト テンプレート、または MapXtreme Web サイト テンプレートに基づくサンプル アプリケー
ションを使用している場合は、この問題は発生しません。
新しいアセンブリをプロジェクトに追加する
MapXtreme v6.7.1 以前のバージョンで作成したアプリケーションの場合、MapInfo.CoreEngine.Wrapper.dll と
MapInfo.CommonDialogExt.dll の 2 つのアセンブリを追加する必要もあります。
MapInfo.CoreEngineWrapper.dll は、MapXtreme Web サイト アプリケーションに必要です。どちらのアセンブリも、デ
スクトップ アプリケーションに必要です。
MapXtreme 2008 v7.0.0 リリース ノート
19
MapXtreme 2008 v7.0.0 へのアップグレード
MapXtreme アセンブリを新しいバージョンにリダイレクトする
現在のバージョンのアセンブリを使用するようにアプリケーションをリダイレクトする必要があります。Microsoft
では、アセンブリをリダイレクトする複数の方法を提供しています。詳細については、Microsoft の .NET Framework
に関するデベロッパー センターを参照してください。
アプリケーション構成ファイル
アプリケーション構成ファイルを使用してアセンブリのリダイレクトを行うことをお勧めします。構成ファイルは、
アプリケーションと同じディレクトリに配置し、アプリケーションの名前に基づく名前にする必要があります。たと
えば、myApp.exe というアプリケーションの構成ファイルの名前は myApp.exe.config とします。
アプリケーション構成ファイルの設定は、発行者ポリシー ファイルの設定より優先されます。
アセンブリをリダイレクトするには、現行バージョンのバージョン番号と公開キー トークンを調べて、これをアプ
リケーション構成ファイルに追加する必要があります。バージョン番号の形式は X.x.x.x です。たとえば、7.0.0.532
などとなります。
この情報を調べるには、[スタート] メニューの [ファイル名を指定して実行] ダイアログ ボックスに、「assembly」
と入力します。グローバル アセンブリ キャッシュ (GAC) ツールによって、システムのすべてのアセンブリが表示さ
れます。Assembly ウィンドウは、[スタート] > [すべてのプログラム] > [コントロール パネル] > [管理ツール] >
[Microsoft .NET Framework 2.0 構成] を選択し、[アセンブリ キャッシュの管理] を選択して、表示することもできま
す。アプリケーション構成ファイルが存在しない場合、このツールはアプリケーション構成ファイルの作成も行います。
下の図では、MapXtreme v6.7.1 以前のバージョンを使用して作成されたデスクトップ アプリケーションに追加する必
要のある 2 つのアセンブリが強調表示されています。
発行者ポリシー ファイル
リダイレクト設定を含む発行者ポリシー ファイルをアセンブリと一緒に GAC にインストールすることは可能です。
ただし、MapInfo ではこの構成はサポートされていません。
マシン構成ファイル
Microsoft .NET Framework 2.0 構成ツールを使用して、Windows のインストール ディレクトリ内の
¥Microsoft.NET¥Framework¥v2.0.50727¥Config にあるマシン構成ファイルをアップデートできます。
この方法でリダイレクト設定を指定すると、アセンブリを参照するすべてのアプリケーションが新しいアセンブリ
バージョンを使用するようになります。マシン構成ファイルの設定は、アプリケーション構成ファイルと発行者ポリ
シー ファイルの両方の設定より優先されるので、この方法でリダイレクトを行う場合は注意が必要です。
MapXtreme 2008 v7.0.0 リリース ノート
20
MapXtreme 2008 v7.0.0 へのアップグレード
ポスト バック Web コントロール
MapXtreme v6.5 以前で使用されていたポスト バック スタイルの Web コントロールは廃止され、MapInfo.WebControls
名前空間では JavaScript 対応の Web コントロールが使用されるようになっています。Web アプリケーションをアップ
グレードし、引き続きポスト バック Web コントロールを使用する場合の重要な情報については、廃止された名前空
間 : MapInfo.Web.UI.WebControls (16 ページ) を参照してください。
MapInfo.Web.UI.WebControls 名前空間内の古い Web コントロールを廃止する過程で、デフォルトのインストール
(SDK、ランタイム、マージの各モジュール) では仮想ディレクトリ MapXtremeWebResources_7_0_0 が作成されなく
なっています。MapXtreme Web サイト テンプレートでは、サブディレクトリ MapXtremeWebResources にリソースが
格納されます。廃止された Web コントロールを使用する古い Web アプリケーションをアップグレードする場合は、
既存の仮想ディレクトリ MapXtremeWebResources_6_x[_x] と同じ内容の IIS 仮想ディレクトリ
MapXtremeWebResources_7_0_0 を手動で作成する必要があります。
MapXtreme 2008 v7.0.0 リリース ノート
21
バグ フィックス
バグ フィックス
製品の次の部分に関する問題は、MapXtreme 2008 v7.0.0 の開発過程で解決されました。
•
•
•
•
•
•
•
•
•
•
データ アクセス
マッピング
グリッド
WMS、WFS
Web ツール、アプリケーション
デスクトップ ツール、アプリケーション
テーブル
オブジェクトの編集
永続化
シームレス、ラスタ
データ アクセス
Oracle シームレス テーブル (T23931)
Oracle データベースからシームレス テーブルを開くときの問題は解決されました。
MS Access での UpdateFeature (UC11031)
Microsoft Access のテーブルのレコードを更新するための UpdateFeature メソッドが修正されました。
MS Access のテーブル (UC11048)
MS Access の名前にスペースを含むテーブルが正しく開くようになりました。
MultiPolygon での SearchNearest (UC11024)
MultiPolygon を含む FeatureGeometryCollection に対するポイントを使用する SearchNearest が、意図したとおりのコレ
クションを返すようになりました。
MISQL のカウント (T27778)
MISQL の "is not null" を使用する select クエリが、正しいレコードを返すようになりました。
特定の OrderBy によるメモリ リーク (T27107)
クエリ定義で特定の OrderBy を使用すると発生したメモリ リークが解決されました。
AccessViolationException (S10041)
複数の更新を実行しても、AccessViolationException がスローされなくなりました。
MapXtreme 2008 v7.0.0 リリース ノート
22
バグ フィックス
マッピング
MapInfo Professional での湾曲ラベル (T23821)
MapInfo Professional で作成し、MapInfo ワークスペース (.MWS) として保存した湾曲ラベルが、MapXtreme 2008 で開
いたときに正しい位置に表示されるようになりました。
LegacyText の回転 (T26820)
LegacyText に関する『開発者リファレンス』での説明がわかりやすくなりました。LegacyText オブジェクトの回転の
中心は右上です。
MapBasic の Brush と Font (N15523 および N15525)
StyleFactory.FromMBString() メソッドが、MapBasic の Brush 句と Font 句を正しく認識するようになりました。さら
に、Brush 句の前には Pen 句が必要になりました。サポートが Font 句および Font + Pen 句に追加されました。
null スタイルの MapBasic シンボル (N15526)
マップに追加されたフィーチャのスタイルが StyleFactory.FromMBString() で null シンボル スタイルに定義されている
場合、MapXtreme 2008 ではデフォルトのシンボル スタイルが挿入されるようになりました。以前は、このような場
合は System.AccessViolationException が発生しました。
MapBasic 文字列からの複合スタイル (T21859)
複合スタイルに対する MapBasic 文字列は、関連付けられているすべてのテキスト スタイル コンポーネントを無視
し、残りのスタイル コンポーネントを正しくレンダリングするようになりました。
LabelSource エイリアス (UC11051)
LabelSource エイリアスが、LabelSource タグ内の属性としてワークスペースに保存されるようになりました。たとえ
ば、次のようなケースが考えられます。
<LabelSource maxLabels="2147483647" name="USA" alias="Eif">
アンチエイリアス処理/透過性のメモリ リーク (UC11050)
アンチエイリアス処理および透過性が有効なラスタ レイヤと対話するときに発生する可能性があることが報告され
ていたメモリ リークが修正されました。
凡例のフォント (UC11045)
TextEffect.Box を使用し透過性がオンのときに発生した主題図の凡例の重なりが解決されました。
グレーとしてレンダリングされる白いシンボル スタイル (T25277)
白いフィルのシンボルがグレーとしてレンダリングされる問題が解決されました。
RDBMS でのスタイル フィールドの更新 (T29012)
リモート データベース管理システムでのスタイル フィールドが、正しく更新されるようになりました。この問題
は、SQL Server 2008 において、スタイル フィールドのフィールド序数がキー フィールドのフィールド序数として
誤って解釈され、そのために更新の際にスキップされたことにより発生しました。データベース管理システムでのス
タイル フィールドの更新は、フィールド スキーマの順序に依存します。
MapXtreme 2008 v7.0.0 リリース ノート
23
バグ フィックス
JPEG2000、WBMP、および PSD へのエクスポート (T26580)
マップまたは凡例を JPEG2000、WBMP、または PSD のイメージにエクスポートすると、MapXtreme 2008 では、形
式が System.Drawing.Image オブジェクトでサポートされていないことを示す明示的な例外がスローされるようになり
ました。
グリッド
グリッド テーブル パス (T27616)
MapXtreme 2008 では、グリッド テーブルを開くために関連付けられた .TAB ファイルが必要ではなくなりました。
.MWS でのグリッドの屈折 (T27391)
MapXtreme 2008 では、MapInfo Professional によって .MWS ワークスペースに保存されたグリッド屈折情報を、読み
取ることができるようになりました。以前は、ワークスペースをワークスペース マネージャで開き、[グリッド スタ
イル] ダイアログ ボタンをクリックすると、MapXtreme から例外がスローされました。
WMS、WFS
WMS TableInfo フィールドの型 (T27218)
WmsClient のフィールドの定義と、MI DataReader で作成されたフィーチャの属性のデータ型が、同期されるように
なりました。以前は、MIDataReader は RasterInfo から作成された属性を、TableInfo のフィールドの型に設定していま
した。
WMS FeatureLayer エイリアス (T26571)
WMS FeatureLayer のエイリアスが DataSourceRef 属性と異なる GetFeatureInfo リクエストから、"オブジェクトのイン
スタンスに設定されていないオブジェクト参照" が返らなくなりました。MapXtreme 2008 では、テーブル エイリア
スには関連付けられた DataSourceName が設定され、FeatureLayer エイリアスは WMS サーバの構成ファイルで指定さ
れている値のままになります。
WMS と FeatureInfo (UC11049)
MapXtreme 2008 では、WMSClient で選択されている 1 つのフィーチャに対する FeatureInfo が正しく返るようになり
ました。以前は、MBR 内のすべてのフィーチャの FeatureInfo が返されました。
MapXtreme WFS サーバと MapInfo Professional
このリリースの MapXtreme 2008 では、MapXtreme の WFS サーバの実装とクライアントとしての MapInfo Professional
の間にあった相互運用性の問題が解決されています。以前のバージョンの MapXtreme では、OGC 準拠テストに合格
するための変更が行われましたが、MapInfo Professional はそれを MapXtreme WFS サーバとして認識しませんでし
た。フィーチャに対応する名前空間を指定するための新しい XML リーダー メソッドが導入されました。MapXtreme
WFS サーバに対する GetFeature リクエストの場合、名前空間が指定されていないプロパティ名にはフィールドの名
前空間が使用されるようになります。以前は、名前空間が指定されていない場合は例外がスローされました。
WFS と名前空間 (T26573 および T27523)
MapXtreme 2008 では、WFSClient に対する PropertyName および TypeName コンストラクタに、新しい名前空間接頭
辞パラメータが追加されました。これは、MapInfo Professional では正常に動作する特定のリクエストが MapXtreme
v6.8 では動作しないという問題への対応です。
MapXtreme 2008 v7.0.0 リリース ノート
24
バグ フィックス
Web ツール、アプリケーション
Firefox での Web ツール (T24307)
Web ツールのカーソルが、Firefox でも意図したとおりに動作するようになりました。
Web コントロールに対する JavaScript の更新
MapXtreme Web コントロールの JavaScript (*.js) 部分が更新され、異なるブラウザ (つまり IE7、IE8、Firefox 3) 間の互
換性のサポートが向上しました。
Web アプリケーションでの Pan ツール (T23676)
他のコントロールを自動的に更新する問題を修正するため、Web アプリケーション用の Pan ツールが変更されまし
た。意図したとおりに動作するようになりました。
移動のパフォーマンス (N15438)
ファイル サーバ上のデータを含むマップの移動が、期待したとおりに動作するようになりました。以前は、マウス
クリックが終了する前に再描画動作が何回も停止しました。
Web サンプル アプリケーションと状態管理 (T27953)
Web サンプル アプリケーションでのレイヤの設定が、AppStateManager によってレイヤ管理で正しく維持されるよう
になりました。この問題により、別のユーザが行ったレイヤ表示などの変更が表示されていました。この動作は、
HelloWorld サンプル アプリケーションで発生しました。
デスクトップ ツール、アプリケーション
デスクトップ Select ツール (UC11033)
デスクトップ Select ツールを使用すると、NodeChanged イベントが正しく発生するようになりました。
スナップ カーソル (T28357)
デスクトップ選択ツールで、スナップ カーソルの断片が画面に残らなくなりました。
MapFactory と AddTextMapTool (UC11022)
MapFactory がクリアされた後も、AddTextMapTool は引き続き Legacy Text オブジェクトを編集できます。MapControl
の関連付けられたマップが変化すると、AddTextMapTool の "SelectToolData" も更新されて新しいマップを反映するよ
うになりました。以前は、存在しなくなったテキストをマップで検索していました。
MapControl のメモリ リーク (T29352)
Windows フォームの表示と非表示を何回も行うと発生していた MapControl のメモリ リークが解決されました。
テーブル
ビュー テーブルの保存 (T26110)
MI SQL の集計を使用して定義されたビュー テーブルを含むワークスペースが、正しく保存されるようになりました。
SpatialWare 結合クエリ (T27411)
文字列リテラルを含む SpatialWare 結合クエリで例外がスローされなくなりました。
MapXtreme 2008 v7.0.0 リリース ノート
25
バグ フィックス
CSV ファイル (T15522)
MapXtreme は、.TXT ファイルだけでなく .CSV ファイルも開くことができるようになりました。他の種類の ASCII
ファイルを開くことはできません。
インデックスが定義されているフィールドと更新 (T28099)
インデックスが定義されたフィールドを where 句で使用する更新関数に関する問題が解決されました。
テキスト TAB ファイル (T28422)
MapXtreme 2008 では、テキスト ファイルと .TAB のファイル名が異なるときに、テキスト .TAB ファイルを開くこと
ができるようになりました。
オブジェクトの編集
FeatureGeometry.Distance (T28336)
FeatureGeometry.Distance メソッドは、カッター オブジェクトに内側のリングが含まれる場合でも正しい結果を生成
するようになりました。この修正の制限事項として、線形カッター オブジェクトはサポートされません。カッター
オブジェクトが線形の場合、例外がスローされます。
永続化
ワークスペース (T26915)
MapXtreme 2008 では、MapWorkspaceLoader または MapGeosetLoader を使用して無効なワークスペースまたは Geoset
を検出したときのエラー メッセージがわかりやすくなっています。
MapXtreme は、使用されているファイル拡張子には関係なく (無効なファイル システム文字でない限り)、任意の有
効なワークスペースまたは Geoset を受け入れます。MapXtreme では MapInfo Professional で作成された .WOR を開け
ませんが、ワ ークス ペー スが 拡張子 .WOR の有効な MapXtreme ワークスペースまたは Geoset である場合は、
MapXtreme で開くことができます。
シームレス、ラスタ
シームレス レイヤの純粋な仮想関数呼び出しエラー (UC11041)
Select ツールでシームレス レイヤからオブジェクトを選択すると R6025 仮想関数呼び出しエラーが発生する問題が
解決されました。
メモ
この修正により、パブリック API が変更されました。IFeatureEnumerator は System.IDisposable から継承される
ようになりました。IFeatureEnumerator を実装するオブジェクトを使用するときは、Dispose を呼び出す必要が
あります。廃止されたメソッドおよびプロパティ (16 ページ) を参照してください。
シームレス ラスタのベース テーブル (T26909)
(数字で始まる) 同じ名前のシームレス ベース テーブルを 2 つ開くと、最初のベース テーブルのラスタ イメージのみ
が認識される問題が、解決されました。2 番目のベース テーブルは完全には開かれず、シームレス コンポーネント
は 1 番目のテーブルを参照していました。
MapXtreme 2008 v7.0.0 リリース ノート
26
既知の問題
既知の問題
MapXtreme 2008 の開発とテストの間に明らかになった問題を次に示します。
•
•
•
•
•
•
•
•
•
•
•
64-bit システムおよび Platform Target x86
64-bit Windows システムでの .NET Framework 1.1 と 2.0 の切り替え
ADO.NET のシリアライゼーション
データ アクセス
拡張レンダリング
ライセンス
線形リファレンス
マッピング
オブジェクトの編集
スタイル
Visual Studio
•
•
•
Web アプリケーション
Web コントロール
WMS
•
ワークスペース マネージャ
64-bit システムおよび Platform Target x86
64-bit マシンで MapXtreme 2008 デスクトップ アプリケーションを実行すると、BadImageFormatException を受け取る
場合があります。MapXtreme は 64-bit システムの 32-bit エミュレーション モード (WoW64) で実行されるので、
Platform Target に x86 を使用するように、Visual Studio でビルドしているアプリケーションを割り当てる必要がありま
す。プロジェクトのプロパティで、[ビルド] タブをクリックして [Platform Target] に x86 を選択してください。
64-bit Windows システムでの .NET Framework 1.1 と 2.0 の切り替え
MapXtreme 2008 は 32-bit アプリケーションであり、64-bit システム上では Microsoft の Wow64 テクノロジを介して動
作します。また、.NET Framework 2.0 上に構築されています。MapXtreme および ASP.NET の Web サイトやアプリ
ケーションは、ASP.NET 2.0 で動作します。 .NET Framework 1.1 で動作する必要がある、複数の異なるバージョンの MapXtreme (v6.6 以前) をインストールしてい
る場合は、次の手順に従ってフレームワークを切り替えてください。詳細については、
http://support.microsoft.com/kb/894435 および http://support.microsoft.com/kb/911720 を参照してください。
64-bit システム上の .NET Framework 1.1 で MapXtreme (v6.6 以前) を使用する
1. 次のスクリプトを実行して、32-bit モードを有効にします。
cscript %SYSTEMDRIVE%¥inetpub¥adminscripts¥adsutil.vbs SET W3SVC/AppPools/
Enable32bitAppOnWin64 1
2. 次のコマンドを実行して、ASP.NET 1.1 をインストールし、IIS のルート以下にスクリプト マップをインストール
します。
%SYSTEMROOT%¥Microsoft.NET¥Framework¥v1.1.4322¥aspnet_regiis.exe -i
3. IIS マネージャの [Web サービス拡張] で、ASP.NET version 1.1.4322 が [許可] にセットされていることを確認します。
64-bit システム上の .NET Framework 2.0 で MapXtreme (v6.7 以降) を使用する
1. 次のスクリプトを実行して、32-bit モードを有効にします。
cscript %SYSTEMDRIVE%¥inetpub¥adminscripts¥adsutil.vbs SET W3SVC/AppPools/
Enable32bitAppOnWin64 1
MapXtreme 2008 v7.0.0 リリース ノート
27
既知の問題
2. 次のコマンドを実行して、ASP.NET 2.0 (32-bit) をインストールし、IIS のルート以下にスクリプト マップをインス
トールします。
%SYSTEMROOT%¥Microsoft.NET¥Framework¥v2.0.50727¥aspnet_regiis.exe -i
3. IIS マネージャの [Web サービス拡張] で、ASP.NET version 2.0.50727 (32-bit) が [許可] にセットされていることを
確認します。
ADO.NET のシリアライゼーション
共有 DataTable インスタンスへの参照を再確立する機能が安定しない (disjoint なコピーが作成される) という問題があ
るため、TableInfoAdoNet をベースとしたテーブルの自動シリアライゼーションは、現在サポートされていません。
『MapXtreme 2008 開発者ガイド』の第 10 章では、この機能が安定してサポートされるまでの間使用できる手動の手
順について解説されています。
データ アクセス
Oracle の GroupBy とビュー (T26413)
MapXtreme は、DISTINCT または GroupBy 句を使用して定義されている Oracle ビューを開くことができません。こ
の問題を回避するコードを次に示します。KeyType プロパティには Explicit を設定し、KeyColumns コレクションの
StringCollection を使用して、テーブルのキーとして使用できる結果セット内のフィールドの名前を提供します。以下
のコードの代替手段としては、KeyType.Explicit を MapInfo ワークスペース (.MWS) で保持できます。
Catalog c = Session.Current.Catalog;
TableInfoServer tis = new TableInfoServer("foo");
tis.Toolkit = ServerToolkit.Oci;
tis.ConnectString = @"srvr=ORA10GR2;uid=atsmipro;pwd=atsmipro";
tis.Query = @"select * from ATSMIPRO.T26413";
tis.KeyType = KeyType.Explicit;
StringCollection sc = new StringCollection();
sc.Add("STATE");
tis.KeyColumns = sc;
tis.CacheSettings.CacheType = CacheOption.Off;
Table t = c.OpenTable(tis);
ストアド プロシージャを使用したときのデータ リーダーの例外 (T24303)
XY データベースでストアド プロシージャを使用してテーブルに対してデータ リーダーを実行すると、エラーがス
ローされます。この問題を回避するには、SpatialSchemaXY を TableInfoServer に適用します。
MS Access での接続エラー
Microsoft Access データベースにアクセスする MapXtreme Web アプリケーションが、接続を試みてエラーになる場合
があります。24 時間 365 日稼動する高負荷対応のサーバ環境における、Microsoft Jet データベース エンジンの制限に
よるものです。Jet データベース エンジン (MS Access のバックグラウンドのエンジン) では、同時に接続できる数は
64 に限られています。これには、スレッドすべてのテーブルの数が含まれます。高負荷の Web 環境では、同時接続
できる実際の数はもっと少ないでしょう。詳細については、Microsoft 技術文書 「IIS と共に Microsoft Jet を使用する
方法」を参照してください。Microsoft では、高いレベルでのデータ保全性または同時実行性を必要とする Web アプ
リケーションの場合は、IIS とともに MS SQL Server を使用することを推奨しています。
MapXtreme 2008 v7.0.0 リリース ノート
28
既知の問題
拡張レンダリング
拡張レンダリング (アンチエイリアスおよび透過性) については、『MapXtreme 2008 開発者ガイド』の第 24 章「ワー
クスペース マネージャ」の「ワークスペース マネージャの機能の使用」で詳しく解説されています。
透過性のスライダ コントロール (T22617)
スタイル ダイアログにある透過性のスライダ コントロールは、拡張レンダリング (透過性) が有効になっていなけれ
ば効果がありません。拡張レンダリングが無効の場合、スタイル ダイアログ内の透過性のスライダ コントロールは
有効になっているように見えますが、実際には無効です。
ワークスペース マネージャで透過性を有効にするには、[スタイル] タブで、[透過性を有効化] をオンにします。プ
ログラムから、MapInfo.MapInfo.DrawingAttributes.EnableTranslucency プロパティを設定します。
アンチエイリアスと透過性 (T23343)
透過性と一緒にアンチエイリアス処理を使用すると、移動したときにラベル付けが一時的にゆがみます。
レンジ主題図およびドット密度の色選択ダイアログ (T22856)
レンジ主題図およびドット密度主題図で使用される色選択ダイアログは、透過性をサポートしていません。つまり、
このダイアログを使用しているときは、レンジ主題図の屈折点に透過色値を指定したり、ドット密度主題図に透過
ドットを指定したりできません。ただし、プログラムからは指定できます。
メモ
LineStyle、AreaStyle、TextStyle、SymbolStyle など、MapXtreme 2008 の他のスタイル ダイアログでは、透過性
をサポートしない別の色選択ダイアログを使用します。
ライセンス
Web サービス (T16917)
MapXtreme 2008 のライセンス検証機能では、アプリケーションが Web サービスとして配布されている場合、それが
デスクトップ アプリケーションとして実行されるのか、Web アプリケーションとして実行されるのか、判別できま
せん。Web アプリケーションの場合は、Web ランタイム ライセンスだけでなくデスクトップ ランタイム ライセンス
も使用してください。
線形リファレンス
PerpendicularOffset (IN14828 および IN14832)
線形オブジェクトに複数の交差または自己交差が含まれる場合、線形参照操作 PerpendicularOffset は正しい結果を生
成しません。
マッピング
移動 (T19620)
縮尺範囲を使って表示されるマップを移動すると、白い斑点がマップ全体に表示されます。
マップの移動とズームを行うと中心点がおかしくなる (T20132)
.NET 2.0 framework で StateServer と SqlServer を使用すると、ASP.NET のセッション状態管理に問題が生じます。
マップでズームや移動の操作を実行すると、操作後のマップ イメージの中心点が間違った位置にオフセットされま
す。この問題は Visual Studio 2005 で 2.0 Framework を使用する場合にだけ発生します。
MapXtreme 2008 v7.0.0 リリース ノート
29
既知の問題
マッピング(続き)
高解像度へのエクスポート (T20744)
ラベル付きのマップを高解像度にエクスポートすると、ラベルのサイズが大きくなります。
長いラベル名 (T21894)
ラベル名が非常に長い場合に、ラベルの優先度を使用してラベルが重ならないようすると、ラベルの間隔が広くなり
すぎます。ラベルを重ならずに描画できるだけの広い領域がマップ上にありますが、重なりました。
カスタム ラベル (T23652)
カスタム ラベルを含むマップを複製すると、メモリを大量に使用します。
湾曲ラベル (T23790、T23760、T23827、T23856)
湾曲ラベルが有効になっている場合でも、ラベル ツールによって湾曲されたラベルが描画されません。これは、道
路レイヤが非表示になっている場合に起こります。
湾曲ラベルのデフォルトの設定では重なったラベルは許可されていないため、湾曲ラベルの多くが表示されません。
湾曲ラベルの拡大度を非常に高くすると、湾曲ラベルは道路セグメントと交差します。
湾曲ラベルをクリックやドラッグしても意図したとおりに動作しません。
凡例の重複 (T18421)
主題図を含むワークスペースを再度開き、それを保存すると、ワークスペースに 2 つの凡例が作成されます。
追加されたカスタム凡例 (T20468)
マップと、追加されたカスタム凡例をワークスペースに保存するとエラーが発生します。
主題図凡例のシリアライゼーション (T28211)
主題図凡例で行テキストを変更しても、デシリアライズされません。凡例のシリアライゼーション/デシリアライ
ゼーション プロセスの間に変更されたテキストを維持するには、CustomLegendFrameRow で凡例を作成します。
AllOtherRows.Visible プロパティは正しくシリアライズされないので、行テキストは LegendControl で切り取られます。
凡例の境界線 (T29163)
MapInfo.Mapping.Legends.Legend.Border プロパティを True に設定しても、凡例の 2 つの辺しか描画されません。
オブジェクトの編集
Geometry.FeatureGeometry.Difference メソッド (T29465)
大きい Geometry の内部に含まれる小さい Geometry からそれを含む Geometry を消去しようとすると、
MapInfo.Geometry.FeatureGeometry.Difference メソッドで null 参照例外がスローされます。
MapXtreme 2008 v7.0.0 リリース ノート
30
既知の問題
スタイル
CompositeStyles の破棄 (T17406)
CompositeStyles は使用したリソースを開放することができません。このため、ある特定の状況でメモリ リークが発
生します。次のサンプル コードでは、メモリ リークを回避するために CompositeStyle を null に設定しています。
private MapInfo.Styles.AreaStyle _style = new MapInfo.Styles.AreaStyle();
for (int i = 0; i < 1000000; i++)
{
MapInfo.Styles.CompositeStyle cs = new MapInfo.Styles.CompositeStyle(_style);
}
cs.AreaStyle=null;
Visual Studio
デスクトップ アプリケーションの展開 (T26033)
デスクトップ アプリケーションのカスタム インストーラを作成する際に、Visual Studio に次の参照先とそれぞれの
ポリシーが含まれないという問題があります。
•
Microsoft_VC80_CRT_x86.msm, policy_8_0_Microsoft_VC80_CRT_x86.msm
•
Microsoft_VC80_DebugCRT_x86.msm, policy_8_0_Microsoft_VC80_DebugCRT_x86.msm
Visual Studio 2005 Service Pack 1 および Visual Studio 2008 では、更新された C ランタイム ライブラリが使用されま
す。カスタム インストーラは、更新された C ランタイム ライブラリが入っていないコンピュータで展開された場合
に、動作しないことがあります。
Web アプリケーション
MapXtreme アセンブリ参照および Microsoft の ASP.NET Web アプリケーション テンプレート (T25937)
この問題は、Visual Studio 2005 SP1 と Visual Studio 2008 のどちらか、またはその両方と統合された複数のバージョン
の MapXtreme をインストールしている、MapXtreme 2008 (v7.0.0) のユーザに影響を与えます。
ASP.NET Web アプリケーション テンプレート ([ファイル] > [新規作成] > [プロジェクト]) を使用しているときに、
MapXtreme Web コントロールをフォームにドラッグ アンド ドロップすると、Visual Studio デザイナは MapXtreme ア
センブリへの参照を自動的に追加します。これらの参照は、Web プロジェクト ファイル (.csproj または .vbproj)、Web
アプリケーション Web 構成ファイル (Web.config)、および Web ページ自体 (.aspx) など、複数のファイルに追加され
ます。1 つ以上のアセンブリ参照で正しくないアセンブリ バージョン番号を保持する可能性があります。
たとえば、システムに 2 つのバージョンの MapXtreme (v6.8.0 および v7.0.0) がインストールされているとき、v6.8.0
の MapXtreme LayerControl を ASP.NET フォームに追加するとします。この場合、Web プロジェクト ファイルでは
v6.8 バージョンの LayerControl を参照し、Web.config ファイルおよび .aspx ファイルでは v7.0.0 の LayerControl を参照
する場合があります。このときにアプリケーションをデバッグすると、エラーが発生します。この動作には決まった
パターンがありません。
MapXtreme Web サイト テンプレート ([ファイル] > [新規作成] > [Web サイト] にあります) を使用している場合には、
この問題は発生しません。
このアセンブリが一致しない問題を解決するには、それぞれのファイルのバージョン番号を手動で修正して、使用す
る Web コントロールのバージョンを一致させる必要があります。MapXtreme の各インストールの完全なバージョン
を確認するには、グローバル アセンブリ キャッシュ (GAC) でアセンブリを表示します。v6.8.0 のアセンブリは、
6.8.0.536 と表示されます。v7.0.0 のアセンブリは、7.0.0.190 と表示されます。
MapXtreme 2008 v7.0.0 リリース ノート
31
既知の問題
DataAccess Web サンプル アプリケーション
DataAccess Web サンプル アプリケーションを 64 ビット システムで動作させるには、NamedConnections.xml ファイル
内のエントリを、インストール フォルダをポイントするように変更する必要があります。現在のエントリは次のよ
うになっています。
<FilePath>C:¥Program Files¥MapInfo¥MapXtreme¥7.0.0¥Samples¥Data</FilePath>
MapXtreme 2008 がデフォルトの場所にインストールされている x64 システムの場合は、エントリを次のように変更
します。
<FilePath>C:¥Program Files (x86)¥MapInfo¥MapXtreme¥7.0.0¥Samples¥Data</FilePath>
別の場所にインストールしている場合は、それに従って変更します。
Web アプリケーションでの 2 バイト文字 (B10104)
日本語バージョンの Internet Explorer 6 では、URL リクエストの 2 バイト文字が正しくエンコードされない場合があ
ります。そのため、MapAlias 名および LayerAlias 名に 2 バイト文字 (日本語テキスト) が含まれる Web アプリケー
ションでは、エラーが発生する可能性があります。この問題は Internet Explorer 6 のみで発生します。
Web コントロール
設計時に必要な MapAlias (T17815)
MapControl を WebForm に追加するたびに、MapAlias 値を設定する必要があります。MapAlias を設計時に設定してい
ないと、アプリケーションは正常に動作しないで、クラッシュします。また、MapAlias 値を実行時に変更した場合
でもアプリケーションは元の MapAlias を探すので、エラーになります。
MapXtreme 2008 の Web テンプレートとサンプルには、"Map1" と呼ばれるデフォルトの MapAlias が用意されています。
MapAlias とセッション管理 (T18518)
実行時に MapControl の MapAlias を変更すると、セッションの値が正しく復元されません。MapXtreme 2008 のプロ
ジェクト テンプレートやサンプル アプリケーションの、デフォルトのセッション管理設定では、変更内容がセッ
ション全体に格納されるのではなく、HTTP セッションにのみ格納されます。上記の既知の問題で説明したように、
MapAlias は変更を正しいセッションに結び付けるうえで非常に重要です。MapAlias が実行時に変更された場合、
セッションは前の MapAlias の状態を返します。
Web ツールとレイヤの管理 (IN14935)
Web ツール (ZoomIn、ZoomOut、RadiusSelection、RectangleSelection、PolygonSelection、PointSelection、Distance、Center)
は、LayerControl が Web ページに既に存在すると動作しません。回避策としては、Web ツールを追加した後で
LayerControl を追加してください。
WMS
WMS サーバ (UC11012)
MapXtreme 2008 で作成された WMS サービスでは、.GIF 形式のポリゴンが正しく表示されません。
MapXtreme 2008 v7.0.0 リリース ノート
32
既知の問題
ワークスペース マネージャ
変更された値の保存 (T21168)
値を変更してワークスペースを保存したときに、変更が保存されません。たとえば、[表示/非表示] タブでいずれか
のズームの値を変更した後すぐに [保存] をクリックした場合、ワークスペース マネージャを終了し、ワークスペー
スをもう一度開くと、変更が保存されていません。ただし、変更した値を含むコントロールの外をクリックしてコン
トロールを非表示にしてから (つまり、フォーカスを他に移してから) [保存] をクリックすると、変更した値が保存
されます。
システムの制限事項
SpatiaLite の拡張とワークスペース マネージャ (IN15074)
ツールを管理者として実行しない場合、ワークスペース マネージャは Windows 7、Windows Vista、および Windows
Server 2008 で SpatiaLite データベースの拡張を読み込むことができません。
Web コントロールのカーソル イメージが変更されない (IN14781)
Visual Studio で Web コントロールのカーソル (.cur) またはイメージ ファイル (.gif) を変更した場合、実行時に変更し
たイメージが表示されません。これは、イメージの場所への絶対パスが相対パスに変更されるという Visual Studio で
の制限によるものです。MapXtreme では絶対パスが想定されています。
これを解決するには、Visual Studio の [URL の選択] ダイアログで新しいイメージを選択した後、変更した ImageURL
のパスの前に付いている ~/ を削除します。たとえば、別のカーソルを使用するように CursorImageURL を変更した場
合は、~/MapXtremeWebResources/MapInfoWebNewCursor.cur を MapXtremeWebResources/MapInfoWebNewCursor.cur に変
更します。~/ の代わりに ./ (ドットとフォワード スラッシュ) を使用することもできます。ツールの [プロパティ]
ウィンドウで CursorURL の省略記号ボタンをクリックすると、[URL の選択] ダイアログが表示されます。
ドキュメントの更新
状態管理および Web サンプル アプリケーション
複数の Web サンプル アプリケーションでは、状態管理をいつ、どのように構成するのかについて、わかりにくいコ
メントがコード (WebForm1.aspx.cs/vb) に含まれます。コメントをわかりやすく書き直したものを次に示します。
"以下のコードでは、MapXtreme のベスト プラクティスで推奨される、状態を手動で管理するためのアプリケー
ションの構成方法を示します。手動のセッション状態とは、保存するセッション情報の量を開発者が制御するこ
とを意味します。これは、状態を保存する最も効率的な方法です。
すべての新規リクエストでセッション全体を保存する場合は、web.config ファイルで MapInfo.Engine.Session.State
を HttpSessionState に設定する必要があります。"
状態管理の詳細については、『開発者ガイド』の第 6 章を参照してください。
FeatureStyle.Modifiers とレイヤの順序
IndividualValueTheme クラスについてのマニュアルの説明では、MapXtreme が主題図とスタイルのオーバーライドの
順序を処理する方法、および Append と Insert の使い分けについての説明が不足しています。
マップに複数のレイヤがあり、それぞれにスタイルのオーバーライド (フィーチャに適用される不透明の色) が含ま
れる場合について考えます。開発者リファレンスから抜粋したコード (後で示します) に従い、Append メソッドを使
用してレイヤの 1 つに IndividualValueTheme を追加します。しかし、主題図はマップに表示されません。
MapXtreme 2008 v7.0.0 リリース ノート
33
public static void MapInfo_Mapping_Thematics_IndividualValueTheme(Map map) {
// 1 つのテーブルに基づいてマップを読み込む
map.Load(new MapTableLoader("Mexico.tab"));
FeatureLayer fLyr = map.Layers["Mexico"] as FeatureLayer;
// 個別値主題図を作成する
IndividualValueTheme thm = new IndividualValueTheme(fLyr, "Pop_90", "Mexico Pop");
// FeatureStyleModifiers リストに主題図を追加する
fLyr.Modifiers.Append(thm);
}
レイヤにはスタイルのオーバーライドが既に含まれており、Append メソッドを使用して主題図を追加したので、主
題図はスタイルのオーバーライドの下になったため表示されませんでした。このような場合に主題図を表示するに
は、FeatureLayer.Modifier.Insert(0, thm) を使用します。0 はコレクション内の最初の修飾子であり、
thm は主題図オブジェクトです。
レイヤに修飾子を適用するときには、順序が重要です。この情報は、他の主題図の種類についても同様です。
MapXtreme 2008 v7.0 リリース ノート
34