このトピックは、 XamGeographicMap™ コントロールで GeographicProportionalSymbolSeries 要素を使用する方法を提供します。
このトピックを理解するためには、以下のトピックを理解しておく必要があります。
GeographicProportionalSymbolSeries はデータ駆動型の記号サイズを持つ散布シリーズです。 GeographicProportionalSeries を実装し、 XamDataChart コントロールの BubbleSeries の基本機能があります。
以下の画像は、XamGeographicMap コントロールで世界の人口密度の高い都市の位置を表示する GeographicProportionalSymbolSeries シリーズのプレビューです。記号の RadiusScale は、比例半径スケールを使用すると、人口に基づいて都市のサイズを表示します。
XamGeographicMap コントロールの地理的シリーズの他のタイプと同様、 GeographicProportionalSymbolSeries には、データ バインディングのための ItemsSource プロパティがあります。このプロパティは、 IEnumerable インターフェイスを実装するオブジェクトにバインドできます。
また、項目ソースの各の項目は、地理位置 (経度と緯度) を保存する 2 つの数値データ列を持ち、記号サイズを保存する数値列を持ちます。このデータ列は LongitudeMemberPath、 LatitudeMemberPath、および RadiusMemberPath プロパティにマップします。
XAML の場合:
<ig:XamGeographicMap x:Name="map">
<ig:XamGeographicMap.Series>
<ig:GeographicProportionalSymbolSeries ItemsSource="{StaticResource sampleData}"
LatitudeMemberPath="LatColumnName"
LongitudeMemberPath="LongColumnName"
RadiusMemberPath="RadiusColumnName"/>
</ig:XamGeographicMap.Series>
</ig:XamGeographicMap>
Visual Basic の場合:
Imports Infragistics.Controls.Charts
Imports Infragistics.Controls.Maps
' GeographicProportionalSymbolSeries を作成して、データ バインディングを設定する
Dim geoSeries = New GeographicProportionalSymbolSeries()
geoSeries.ItemsSource = sampleData
geoSeries.LongitudeMemberPath = "LongColumnName"
geoSeries.LatitudeMemberPath = "LatColumnName"
geoSeries.RadiusMemberPath = "RadiusColumnName"
' GeographicProportionalSymbolSeries を XamGeographicMap に追加する
Me.GeoMap.Series.Add(geoSeries)
C# の場合:
using Infragistics.Controls.Charts;
using Infragistics.Controls.Maps;
using System.ComponentModel;
// GeographicProportionalSymbolSeries を作成して、データ バインディングを設定する
var geoSeries = new GeographicProportionalSymbolSeries();
geoSeries.ItemsSource = sampleData;
geoSeries.LongitudeMemberPath = "LongColumnName";
geoSeries.LatitudeMemberPath = "LatColumnName";
geoSeries.RadiusMemberPath = "RadiusColumnName";
// GeographicProportionalSymbolSeries を XamGeographicMap に追加する
this.GeoMap.Series.Add(geoSeries);
SizeScale はシリーズの記号のサイズを決定します。 SizeScale 値が設定されていない場合には、各記号のサイズは RadiusMemberPath 列の値に等しくなります。 SizeScale を設定する場合、最小記号は MinimumValue と等しいで、最大記号は MaximumValue と等しいで、他の記号は範囲の間のスケールにサイズ変更されます。 SizeScale はリニアと対数のいずれかにすることができます。
以下のスクリーンショットは、以下の SizeScale 設定の結果として、XamGeographicMap コントロールの GeographicProportionalSymbolSeries がどのように描画されるかを示します。
以下のコードはこの例を実装します。
XAML の場合:
<ig:SizeScale x:Key="sizeScale"
MinimumValue="5"
MaximumValue="70"
LogarithmBase="10"
IsLogarithmic="/>
<ig:GeographicProportionalSymbolSeries
...
RadiusScale="{StaticResource sizeScale}" />
塗りつぶしスケールは単一の GeographicProportionalSymbolSeries の色パターンを定義します。 GeographicProportionalSymbolSeries シリーズの FillScale プロパティは記号の色を設定します。各の色軸は Brush のコレクションを含みます。
GeographicProportionalSymbolSeries は 2 つの塗りつぶしスケールをサポートします。
CustomPaletteBrushScale - 記号マーカーのインデックスを使用して Brushes コレクションのブラシを選択します。
ValueBrushScale - ItemsSource の数値列からの値セットを使用してブラシを補間します。対数的な値セットが可能です。 GeographicProportionalSymbolSeries シリーズは、使用する値を決定する方法が 2 つあります。
FillMemberPath - プロパティは使用する列を明示的に指定します。
MinimumValue および MaximumValue - 値の範囲を決定するユーザー定義の値。
以下のスクリーンショットは、以下の設定の結果として、XamGeographicMap コントロールの GeographicProportionalSymbolSeries がどのように描画されるかを示しています。
以下のコードはこの例を実装します。
XAML の場合:
<ig:CustomPaletteBrushScale x:Key="CustomPaletteBrushScale" >
<ig:CustomPaletteBrushScale.Brushes>
<SolidColorBrush Color="Red"/>
<SolidColorBrush Color="Green"/>
<SolidColorBrush Color="Blue"/>
</ig:CustomPaletteBrushScale.Brushes/>
</ig:CustomPaletteBrushScale>
<ig:GeographicProportionalSymbolSeries
...
FillScale="{StaticResource CustomPaletteBrushScale}" />
以下のスクリーンショットは、以下の設定の結果として、XamGeographicMap コントロールの GeographicProportionalSymbolSeries がどのように描画されるかを示しています。
以下のコードはこの例を実装します。
XAML の場合:
<ig:ValueBrushScale x:Key="ValueBrushScale"
MinimumValue="1000"
MaximumValue="25000000"
IsLogarithmic="
LogarithmBase="10">
<ig:ValueBrushScale.Brushes>
<SolidColorBrush Color="#FFC6EEFB" />
<SolidColorBrush Color="#FF08C3FE" />
<SolidColorBrush Color="#FF08A5FE" />
<SolidColorBrush Color="#FF086AFE" />
<SolidColorBrush Color="#FF084CFE" />
</ig:ValueBrushScale.Brushes>
</ig:ValueBrushScale>
<ig:GeographicProportionalSymbolSeries
...
FillScale="{StaticResource ValueBrushScale}"
FillMemberPath="Population" />
このトピックにの追加情報については、以下のトピックも合わせてご参照ください。