14.01.2013 Views

Developer's Guide - MapGuide Open Source - OSGeo

Developer's Guide - MapGuide Open Source - OSGeo

Developer's Guide - MapGuide Open Source - OSGeo

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!