[mapguide-users] Add Point to Existing Layer

Pascal Coulon pascal.coulon at atkinsglobal.com
Mon Feb 4 03:47:14 EST 2008


Hi There,

When creating a layer (SDF) in Studio. It is created in ReadOnly mode. You
need to enable read/write by using the mapagent. Let me know if you need any
further details.

Regards,

pascal



Jackie Ng wrote:
> 
> Open two browser windows/tabs, one to your web application that adds the
> points. Another to the schemareport page (usually at
> http://servername:port/mapguide/schemareport/main.php )
> 
> Run your add point routine, then check if the schemareport for that
> feature source has included the point you have just added.
> 
> If the point is there, then i suspect it is something to do with the layer
> that's based off of the feature source.
> 
> Otherwise, your php script is clearly failing to insert the new point
> feature.
> 
> - Jackie
> 
> 
> gaku wrote:
>> 
>> Yes,I have created site resources by use Administrator username.
>> 
>> 
>> 
>> -gaku
>> 
>> 
>> Jackie Ng wrote:
>>> 
>>> Oh I see, I thought you were adding points to a session-based feature
>>> source.
>>> 
>>> In that case, did you create a mapguide session via a username that has
>>> permissions to modify site resources?
>>> 
>>> - Jackie
>>> 
>>> 
>>> gaku wrote:
>>>> 
>>>> Yes, I have created the feature source by using Mapguide Studio. 
>>>> 
>>>> 
>>>> Jackie Ng wrote:
>>>>> 
>>>>> 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-tp15136337s16610p15264009.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list