[mapguide-users] Add Point to Existing Layer
Jackie Ng
jackie.ng at aecsystems.com.au
Tue Jan 29 00:52:09 EST 2008
Have you actually created the feature source pointed to by $featureSourceId ?
(ie. Have you called $featureService->CreateFeatureSource() ?)
- Jackie
gaku wrote:
>
> Hi all
>
> I'm trying to let the user insert a point feature in PHP along with some
> attributes. The feature source is an SDF file and the code was
> translated/modified from the PHP example (draw_line). The user can get the
> X, Y coordinates from another button (works fine).
>
> Everything compiles fine and execute well but no feature is added to the
> feature source. I tried with a converted SDF feature source (didnt change
> a thing).
>
> Did I miss something ? Did I do something wrong :)
>
> Any help would be appreciated
>
> here's the code :
>
> ------------------------------------------------------------
>
> try
> {
> MgInitializeWebTier($webconfigFilePath);
>
> // Get the session information passed from the viewer.
> $sessionId = ($_SERVER['REQUEST_METHOD'] ==
> "POST")?$_POST['SESSION']: $_GET['SESSION'];
>
> // Get the user information using the session id,
> // and set up a connection to the site server.
> $userInfo = new MgUserInformation($sessionId);
> $siteConnection = new MgSiteConnection();
> $siteConnection->Open($userInfo);
>
>
> $resourceService =
> $siteConnection->CreateService(MgServiceType::ResourceService);
> $featureService =
> $siteConnection->CreateService(MgServiceType::FeatureService);
> $featureSourceId = new
> MgResourceIdentifier('Library://Sample/Data/020101Markup.FeatureSource');
>
>
> $map = new MgMap();
> $map->Open($resourceService, $mgMapName);
>
> //$geometryFactory = new MgGeometryFactory();
> $wktReaderWriter = new MgWktReaderWriter();
> $agfReaderWriter = new MgAgfReaderWriter();
>
> $geo = $wktReaderWrite->Read("POINT XY ( $x, $y )");
>
> $geoByteReader = new MgByteReader();
> $geoByteReader = $agfReaderWriter->Write($geo);
>
> $idid = 500;
>
> $propertyValues = new MgPropertyCollection();
> $propertyValues->Add(new MgInt32Property("ID", $idid ));
> $propertyValues->Add(new MgStringProperty(name, 'test'));
> $propertyValues->Add(new MgGeometryProperty('Geometry',
> $geoByteReader));
>
> $commands = new MgFeatureCommandCollection();
> $commands->Add(new MgInsertFeatures('020101Markup', $propertyValues));
> $featureService->UpdateFeatures($featureSourceId, $commands, false);
>
>
> }
> catch (MgException $e)
> {
> $errorMsg = $e->GetMessage();
> $errorDetail = $e->GetDetails();
> }
>
>
> -------------------------------end of code -------------
>
> --Thanks,
>
>
>
--
View this message in context: http://www.nabble.com/Add-Point-to-Existing-Layer-tp15136337s16610p15152993.html
Sent from the MapGuide Users mailing list archive at Nabble.com.
More information about the mapguide-users
mailing list