ArcGIS Pro では、スムーズなシンボルおよびテキストでマップとシーンの迅速な描画を実現できる高性能な描画エンジンが使用されています。
この描画エンジンは ArcMap で使用されている描画エンジンとは異なるため、インポート時に ArcGIS Pro で描画されたマップの表示にはいくつかの重要な違いがあります。
次のセクションでこれらの描画の違いとその理由について説明します。
テキストおよび絵文字マーカーのアンチエイリアス
ArcMap では、テキストおよび絵文字マーカーのアンチエイリアスはコンピューターの表示設定内に構成されているフォント スムージング設定で制御されます。これらの設定はユーザーごとに構成され、アプリケーションの一部として構成されるものではありません。
ArcGIS Pro では、これらの設定はアプリケーションのオプション内に構成されています。
ArcGIS Pro の描画エンジンでは、テキストと絵文字のアンチエイリアスの有効化に異なる方法が使用されています。また、このアンチエイリアスの実行に使用されているアルゴリズムも異なり、ArcMap の表示と比較すると、テキストのレンダリングと絵文字マーカーにも異なる点がいくつかあります。
座標の丸め方の違い
ArcMap では、画面上に表示されるエレメントを整数座標で指定します。フィーチャの実際の座標 (ラインやマーカーなど) を整数座標で正確に表せない場合は、切り上げまたは切り捨てが行われます。これにより、非常に細いラインや外縁ラインのような非常に細いエレメントの場合、不正確な表示になる可能性があります。指定されたズーム レベルまたは表示範囲でサイズが 1 ピクセル未満のラインは 1 ピクセルに切り上げられます。
ArcGIS Pro の描画エンジンでは、サブピクセル単位の座標を使用して、マップ上にフィーチャを配置および描画することができます。これにより、フィーチャの配置およびシンボル表示が非常に正確になります。
ただし、マップのシンボルが ArcMap で最初から設計されていた場合は、ArcGIS Pro で表示が異なることがあります。これは、特にライン シンボルの場合に顕著です。
ArcGIS Pro では、アンチエイリアスを適用して表示の変更による影響を軽減することができますが、アンチエイリアスが最適な解決法でない場合もあります。たとえば、アンチエイリアスを使用すると、描画パフォーマンスが低下することがあります。マップの要件によっては、アンチエイリアスが許容されない場合があります。また、8 ビットのパレットを使用しているターゲットのエクスポート形式では (PNG 8 形式や GIF 形式など)、色の継続的な変化のレンダリングに必要なディザリングによって、アンチエイリアスが十分な効果を発揮しないこともあります。
この状況を解消するには、ラインのサイズがより適切になるように手動でマルチレイヤー ライン シンボルのサイズを変更します。この方法では、ターゲットの dpi に 96 dpi 以外 (120 dpi のターゲット解像度など) を使用した変換も可能になります。
特定の解像度 (dpi) に対応したライン設計
指定された解像度に対応した適切なラインのサイズを決定するには、マルチレイヤー ライン シンボルの各シンボルのサイズを次の式に入力します。先に説明したように、ターゲット解像度の値は、シンボルを使用するのに必要な最小解像度を反映する必要があります。次の例でハードコードされた数値 72 は、インチあたりのポイント数の変換係数です。
幅 (ピクセル単位) = (ライン幅 (ポイント単位) * ターゲット解像度 (dpi 単位)) /72
幅 (ピクセル単位) が 1.5 未満の場合、幅を変更する必要はありません。
幅 (ピクセル単位) が 1.5 以上の場合、次の式で編集後の幅を決定します。
- 新しい幅 (ポイント単位) = (幅 (ピクセル単位) + 0.5)
- 新しい幅 (ポイント単位) を、その値を超えない最も近い整数 (自然数) 値に丸めます。
- 最終的なライン幅は、(丸めた新しい幅 (ポイント単位) * 72) /ターゲット解像度に設定します。
たとえば、必要な解像度が 44 dpi、ライン シンボルの幅が 2.60 の場合、次のように計算を実行します。
- 幅 (ピクセル単位) = (2.60 * 44) / 72.0
- 幅 (ピクセル単位) は 1.5888888 になり、1.5 より大きい値であるため、計算を続けます。
- 新しい幅 (ポイント単位) = (1.588888 + 0.5) = 2.10
- 切捨てにより、新しい幅 (ポイント単位) = 2.0 とします。
- 最終的なライン幅は、(2.0 * 72) / 44 = 3.27 ポイントに設定します。
もう 1 つの例として、必要な解像度が 120 dpi、新しいライン シンボルの幅が 2.60 の場合、次のように計算を実行します。
- 幅 (ピクセル単位) = (2.60 * 120) / 72
- 幅 (ピクセル単位) は 4.33333 になり、1.5 より大きい値であるため、計算を続けます。
- 新しい幅 (ポイント単位) = (4.33333 + 0.5) = 4.83
- 新しい幅 (ポイント単位) を切り捨てて、最も近い整数である 4.0 にします。
- 最終的なライン幅は、(4.0 * 72) / 120 = 2.4 ポイントに設定します。
シンプル シンボル
シンプル シンボル (シンプル ライン シンボル、シンプル塗りつぶしシンボル、およびシンプル マーカー シンボル) は、ArcMap で整合性なく表示されることがあります。このようなシンプル シンボルの不整合により、ArcGIS Pro でシンボルの描画に違いが生じることがよくあります。マップのインポート時に生成されるログ ファイルでこれらの違いが通知されることもあります。
たとえば、破線または鎖線パターンを使用したシンプル ライン シンボルはマップの基準縮尺を考慮しないため、指定された dpi ごとに異なる間隔で描画されます。ArcGIS Pro では、これらのシンボルはマップの基準縮尺を考慮するため、指定された dpi ごとに変化することがありません。
シンプル塗りつぶしシンボルでは、[スタイル] プロパティを ArcMap ユーザー インターフェイスで使用できません。ただし、多くの開発者サンプルおよび他のサードパーティによるコード スニペットでは、これらのシンボルがマップ上に作成される場合があります。esriSFSSolid 以外のスタイルは ArcGIS Pro でサポートされていないため、インポート ログでエラーになります。
シンプル マーカー シンボルでは、シンプル マーカーの振舞いが表示されるサイズに応じて変化するため、サイズと形状にばらつきが生じます。
ArcGIS Pro では、常にマーカー シンボルが指定されたサイズで表示されます。ArcMap では、シンプル マーカー シンボルのサイズが一定の閾値を下回ると、それ以上小さく描画されません。つまり、シンボルのサイズが閾値に達した場合、ArcGIS Pro では引き続きこれらのシンボルが正確なサイズで表示されますが、ArcMap ではこれらのシンボルが正確なサイズで表示されないため、明らかな不一致が生じます。
ライン装飾
ArcMap のライン装飾を含むライン シンボル (矢印付きラインなど) の場合、装飾されるフィーチャのラインの長さより装飾自体が長いと、装飾が描画されません。ArcGIS Pro の描画エンジンでは、ラインのサイズに関係なく常にライン装飾が描画されます。一部の縮尺では、ArcMap より煩雑な表示となる可能性があります。ただし、ライン装飾は一貫性のある、決まった方法で描画されます。
色
ArcGIS Pro の描画エンジンでは、色管理エンジンが使用されています。このため、一部の色に関しては ArcMap の表示と正確に一致しない場合があります。
ArcMap では、色管理が使用されていません。特に以下を使用する場合、色の違いに注意する必要があります。
- RGB 以外の色空間で定義された色 (HSV、CMYK、またはグレースケールで定義された色など)
- HSV、CIELab、または LABLch アルゴリズムを使用したアルゴリズム カラー ランプ
マップ サービスでの色の違いを最小化する方法の 1 つに、ArcMap のモニター設定を変更する方法があります。この方法は、ArcGIS Pro にインポートするマップを作成する場合に役立ちます。
モニター設定にアクセスするには、[シンボル プロパティ] ダイアログ ボックスで色見本のドロップダウン メニューをクリックして [その他の色] を選択します。
[色選択] ダイアログ ボックスにある矢印ボタンをクリックして [モニターのセットアップ] を選択します。
[モニターのセットアップ] ダイアログ ボックスの [ガンマ] 設定を「2.2」に変更し、[OK] をクリックしてダイアログ ボックスを閉じます。
これにより、ArcGIS Pro の描画エンジンで使用されている色プロファイルにかなり近いガンマ値を使用するように ArcMap が指示されます。
メモ:
この設定は、ユーザーが描画したマップおよび上記の修正が実行されたコンピューターで描画されたマップの表示にのみ影響します。
フォント処理
ArcGIS Pro でのフォントの処理は ArcMap と少し異なります。特に、ArcMap でのレンダリングで見られたような、誤った斜体スタイルや誤った太字スタイルがテキストに表示されません。斜体または太字を指定するには、斜体スタイルまたは太字スタイルを含むフォントを使用する必要があります。誤った斜体および誤った太字とは、フォントが斜体スタイルでも太字スタイルでも使用できない場合や特性の組み合わせに対応するフォントがインストールされていない場合を指します。たとえば、Verdana Bold と Verdana Italic は存在しますが、Verdana Bold Italic は存在しません。
誤った斜体スタイルおよび誤った太字スタイルでは、元のフォントを図形として斜めにするか (斜体)、太くします (太字)。
この動作は、常に書体の実際の太字または斜体バージョンに視覚的に対応するわけではありません。実際、一部のフォント (マーカー シンボルとして使用する目的で設計された Esri フォントなど) では、太字スタイルや斜体スタイルで表示しても意味がありません。ArcGIS Pro は、システムで使用可能なフォントとフォント スタイルでのみ表示します。
フォント リンキングおよびフォント フォールバック
フォントでは、作成者が設定した特定の文字群 (ラテン文字の A や中国文字の (チエン) など) に関する定義が別々の文字セット (西ヨーロッパ文字やキリル文字など) に含まれています。フォント フォールバックおよびフォント リンキングは、指定したフォントでは実際に存在しない文字を、その文字を含む別の似たフォントで描画することによって文字を表示する手法です。これらの手法はラテン文字を東アジア文字のみを含むフォントで表示したり、またはその逆の表示を行うためによく使用されます。
このような場合、ArcMap の表示では、Windows GDI (Graphics Device Interface、Windows に内蔵されたグラフィックス システム) を使用して、フォントに存在しない文字があってもテキスト文字列を表示できるように、その文字を含む別のフォントにリンクしようとします。ArcGIS Pro でも、文字列をレンダリングできるように、同様のロジックが使用されます。ArcMap とは異なり、ArcGIS Pro のフォールバックでは、PDF や EPS などのフォントを参照する出力形式で適切にレンダリングされます。多くの場合、フォールバックを使用すると、元のフォントとリンクされたフォールバック フォントとの間でカーニングや他の特徴に不一致が生じるため、最適ではない表示結果となります (下の図を参照)。
これらの問題から、フォント フォールバックを使用して適切な文字をレンダリングすることは、どのマップに対してもお勧めしない方法です。
通常、最適な方法は、使用しようとしている文字セットで必要な文字を含むフォントを使用することです。上記の例では、選択した Arial Unicode MS フォントに Thaana 文字セットがありません。テキストを正しくレンダリングするには、インラインのテキスト書式タグを使用して Thaana 文字を含むフォント (MV Boli フォントなど) に切り替えます。
フォント置換
同様の手法であるフォント置換は、指定されたフォントがシステムに存在しない場合にテキストを異なるフォントで表示する方法です。たとえば、マップが Helvetica フォントを使用したテキストを含んでいるものの、Helvetica フォントがコンピューターにインストールされていない場合、テキストは Arial フォントに置換されて表示されます。
ArcGIS Pro では、ArcMap と同様にフォント置換を利用できます。ただし、一般的に最善となる方法は、マップで使用されているフォントがマップを使用するコンピューターで利用可能にすることです。