バージョン

OpenStreetMap をシェープファイルと結合

始める前に

xamMap コントロールの MapTileSource プロパティは、地理的画像がロードされるソースを構成するために使用されます。サポートされる地理的画像のソースの完全なリストについては、 「サポートされる地理的画像」セクションを参照してください。ただし、このセクションは、地理的画像のソースとして OpenStreetMap だけに焦点を当てます。Open Street Maps Web マッピング サービスはライセンスされていないため、xamMap で作業するためのライセンス キーを提供しません。

画像タイル プロバイダーによって使用される地図投影タイプに一致させるために xamMap コントロールの MapProjectionType プロパティを設定しなければならない場合があることを理解することが重要です。そうでなければ、使用される Shapefiles は画像に正しく配置されません。シェープファイルが画像タイルと揃わない場合、xamMap コントロールの MapProjectionType プロパティを使用可能な列挙体メンバーのいずれかに変更して、問題が解決されるかどうかを確認します。現在サポートされているマップ投影法のタイプの完全なリストについては、 マップ投影法についてセクションを参照してください。

達成すること

Open Street Maps ソースから地図画像を読み込み、コンピューターのローカルに保存されているシェープファイルと結合します。

XamMap Merge Open Street Maps with Shapefile 01.png

以下の手順を実行します。

以下の XAML コードは、xamMap コントロールに WPF プロジェクトが既に設定されていて、 Shapefiles が WPF プロジェクトに追加されていることが前提です。

  1. XamMap コントロールを適切な投影タイプで追加します。

XAML の場合:

<igMap:XamMap x:Name="xamMap" MapProjectionType="SphericalMercator">
        <!-- TODO: 地理的画像データ ソースとして Open Street Maps を追加 -->
        <!-- TODO: Shapefile で Map Layer を追加します -->
</igMap:XamMap>
  1. MapTileSource プロパティを OpenStreetMapTileSource に設定します。

XAML の場合:

<igMap:XamMap.MapTileSource >
      <igMap:OpenStreetMapTileSource/>
</igMap:XamMap.MapTileSource>
  1. Shapefile からのデータを表示するために MapLayer オブジェクトを追加します。

XAML の場合:

<igMap:XamMap.Layers>
     <igMap:MapLayer x:Name="mapLayer"  Brushes="Transparent">
     <!-- TODO: ShapeFileReader を追加します -->
     </igMap:MapLayer>
</igMap:XamMap.Layers>
  1. ShapeFileReader オブジェクトを作成し、適切なパスを Shapefile に指定します。

XAML の場合:

<igMap:MapLayer.Reader>
     <igMap:ShapeFileReader Uri="/../../Shapefiles/europe/eu_countries" />
</igMap:MapLayer.Reader>
  1. アプリケーションを実行します。xamMap コントロールは、Open Streep Maps の地図画像データを Shapefile へ結合します。