[mapguide-users] Add Point to Existing Layer

gaku hamazato at yachiyo-eng.co.jp
Wed Feb 6 05:35:33 EST 2008


Thanks you.

I went to http://localhost/mapguide/mapagent/index.html 

I went to GetResourceContent Link, and perform a query using the ResourceID
like Library://Mysite/Data/test.FeatureSource 

I got an XML file like this. 
<Provider>OSGeo.SDF</Provider> 
<Parameter> 
<Name>File</Name> 
<Value>%MG_DATA_FILE_PATH%test.sdf</Value> 
</Parameter> 
<Parameter> 
<Name>ReadOnly</Name> 
<Value>False</Value> 
</Parameter> 




Pascal Coulon wrote:
> 
> 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-tp15136337s16610p15306461.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list