例: 選択情報

次の例では、選択情報を作成し、選択されたフィーチャのプロパティを一覧表示します。 完成したバージョンは、『開発者用ガイド』のサンプルの「フィーチャ データを使用する」サンプルを参照してください。

また、District 1 の境界内で SCHMITT が所有する土地区画を選択します。これには、空間フィルタと基本フィルタが必要になります。

$map = new MgMap($siteConnection);
$map->Open($mapName);
 
// Get the geometry for the boundaries of District 1
 
$districtQuery = new MgFeatureQueryOptions();
$districtQuery->SetFilter("Autogenerated_SDF_ID = 1");
 
$layer = $map->GetLayers()->GetItem('Districts');
$featureReader = $layer->SelectFeatures($districtQuery);
$featureReader->ReadNext();
$districtGeometryData = $featureReader->
GetGeometry('Data');
 
// Convert the AGF binary data to MgGeometry.
 
$agfReaderWriter = new MgAgfReaderWriter();
$districtGeometry = $agfReaderWriter->
Read($districtGeometryData);
 
// Create a filter to select the desired features.
// Combine a basic filter and a spatial filter.
 
$queryOptions = new MgFeatureQueryOptions();
$queryOptions->SetFilter("RNAME LIKE 'SCHMITT%'");
 
$queryOptions->SetSpatialFilter('SHPGEOM',
$districtGeometry,
MgFeatureSpatialOperations::Inside);
 
// Select the features.
 
$layer = $map->GetLayers()->GetItem('Parcels');
$featureReader = $layer->SelectFeatures($queryOptions);
 
// For each selected feature, display the address.
 
echo '<p>Properties owned by Schmitt ';
echo 'in District 1</p><p>';
 
while ($featureReader->ReadNext())
{
  $val = $featureReader->GetString('RPROPAD');
  echo $val . '<br />';
}
echo '</p>';