Developer's Guide - MapGuide Open Source - OSGeo
Developer's Guide - MapGuide Open Source - OSGeo
Developer's Guide - MapGuide Open Source - OSGeo
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Process each item in the MgFeatureReader.<br />
// Merge them into a single feature.<br />
$inputGeometries = new MgGeometryCollection();<br />
while ($featureReader->ReadNext())<br />
{<br />
$featureGeometryData = $featureReader->GetGeometry('SHPGEOM');<br />
$featureGeometry = $agfReaderWriter->Read($featureGeometryData);<br />
}<br />
$inputGeometries->Add($featureGeometry);<br />
$geometryFactory = new MgGeometryFactory();<br />
$mergedFeatures = $geometryFactory-><br />
CreateMultiGeometry($inputGeometries);<br />
// Add buffer features to the temporary feature source.<br />
// Create multiple concentric buffers to show area.<br />
$commands = new MgFeatureCommandCollection();<br />
for ($bufferRing = 0; $bufferRing < $bufferRingCount;<br />
$bufferRing++)<br />
{<br />
$bufferDist = $srs-><br />
ConvertMetersToCoordinateSystemUnits($bufferRingSize *<br />
($bufferRing + 1));<br />
$bufferGeometry = $mergedFeatures->Buffer($bufferDist,<br />
$srsMeasure);<br />
}<br />
$properties = new MgPropertyCollection();<br />
$properties->Add(new MgGeometryProperty('BufferGeometry',<br />
$agfReaderWriter->Write($bufferGeometry)));<br />
$commands->Add(new MgInsertFeatures('BufferClass',<br />
$properties));<br />
$featureService->UpdateFeatures($bufferFeatureResId,<br />
$commands, false);<br />
$bufferLayer->SetVisible(true);<br />
$bufferLayer->ForceRefresh();<br />
$bufferLayer->SetDisplayInLegend(true);<br />
84 | Chapter 5 Analyzing Features