Mapguide currently does this stupid silent fall back and returns whole featuresource without the filter if the filter fails.....which would explain this, unpredictably frustrating huh?
z On Jan 23, 2008 1:57 AM, Maciej Skorczewski <[EMAIL PROTECTED]> wrote: > Hi! > > I wrote aplication who generate kml files. > > all work fine but i have problem whit some polygons (and use API to get > coords of this polygon) > > some screenshot > http://img179.imageshack.us/img179/1966/41289677tu3.png > > The problem is: when i try to get coords of polygon nr.1 (in this place > are two object-polygon in one source after use filter guery) > > ex. i use > $featureReader->ReadNext() ...and MG show me 2 polygons > > (1 polygon) > ++++++ > ++++++ > > (second polygon) > ====== > ====== > > > can't get any coords of this. > > > > the code is > ______________ > > $featureService = > $siteConnection->CreateService(MgServiceType::FeatureService); > $queryOptions = new MgFeatureQueryOptions(); > $queryOptions->SetFilter("FID > 253"); > $featureReader = $featureService->SelectFeatures(new > MgResourceIdentifier($x_adress),$x_layer, $queryOptions); > > $geometryReaderWriter = new MgAgfReaderWriter(); > > // > // this is loop on FID > 1(next are 2,3,4,...) > // > // > while ($featureReader->ReadNext()) > { > $muniName = $featureReader->$a7_1($a7_0); > $byteReader = $featureReader->GetGeometry('Geometry'); > $geometry = $geometryReaderWriter->Read($byteReader); > $point = $geometry->GetCentroid(); > $x = $point->GetCoordinate()->GetX(); > $y = $point->GetCoordinate()->GetY(); > echo '<Placemark>'; > > // > // This can be a bug... > // question: how to know that there are 2 object-polygon > // and $linearRing get coords of first the second, polygon object. > // > // > $linearRing = $geometry->GetExteriorRing(); > $coordIter = $linearRing->GetCoordinates(); > echo'<MultiGeometry>'; > echo'<Polygon>'; > echo'<outerBoundaryIs>'; > echo'<LinearRing>'; > echo'<coordinates>'; > // > // So when loop is in 1. iterate it show 2 object polygons. > // ...and MG don't show any coords > // > > while ($coordIter->MoveNext()) > { > $coord = $coordIter->GetCurrent(); > if ($coord != null) > { > $coord->GetX().",".$coord->GetY().",0 "; > } > } > echo'</coordinates>'; > echo'</LinearRing>'; > echo'</outerBoundaryIs>'; > echo'</Polygon>'; > echo'</MultiGeometry></Placemark>'; > > } > $featureReader->Close(); > echo '</Document></kml>'; > > > > thx for any help. > maciek > _______________________________________________ > mapguide-users mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/mapguide-users > -- Zac Spitzer - http://zacster.blogspot.com (My Blog) +61 405 847 168
_______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users
