[mapguide-users] Selection Limit?

Nickthetemp nickthetemp at gmail.com
Thu Jul 30 12:58:08 EDT 2009


I was able to limit the selection size by changing the following"

$selection2->AddFeatures($Samplayer, $featureReader, 0);

to

$selection2->AddFeatures($Samplayer, $featureReader, 200);

This limits the selection to 200

the 0 is used for select all, just incase someone else is trying to figure
this out :)

Nick



Mauricio Villablanca wrote:
> 
> You are right. The 2010 API documentation omitted that method and it's no
> longer valid.
> 
> 
> 
> Nickthetemp wrote:
>> 
>> I tried the GenerateFilters method, but it is not a valid method for mge
>> 2010. 
>> 
>> It just gave a warning saying it was not a valid method.
>> 
>> If there is a way to limit the selection to approx 200 items, it would
>> also solve my prob.
>> 
>> I know in mge 2009, There was a selection size varible in the
>> serverconfig.ini file but it is no longer present in mge 2010.
>> 
>> 
>> 
>> Mauricio Villablanca wrote:
>>> 
>>> I noticed $selection2->GenerateFilter($layer, $layerClassName) doesn't
>>> always generate a valid filter in MGE2009. Use GenerateFilters instead
>>> 
>>> Check my post in the "Problem with MgSelection's SelectedFeatures"
>>> thread started by Tom Lazo for selecting features.
>>> 
>>> 
>>> Nickthetemp wrote:
>>>> 
>>>> Hello
>>>> 
>>>> I am using the following code to read through a selection and grab a 7
>>>> digit number, which is then put into an array:
>>>> 
>>>>             $layerClassName = $layer->GetFeatureClassName();
>>>>             $selectionString = $selection2->GenerateFilter($layer,
>>>> $layerClassName);
>>>> 
>>>>             // Get the feature resource for the selected layer
>>>> 
>>>>             $layerFeatureId = $layer->GetFeatureSourceId();
>>>>             $layerFeatureResource = new
>>>> MgResourceIdentifier($layerFeatureId);
>>>> 
>>>>             // Apply the filter to the feature resource for the
>>>> selected layer. This returns
>>>>             // an MgFeatureReader of all the selected features.
>>>> 
>>>>             $queryOptions->SetFilter($selectionString);
>>>>             $featureReader =
>>>> $featureService->SelectFeatures($layerFeatureResource, $layerClassName,
>>>> $queryOptions);
>>>> 
>>>>             // Process each item in the MgFeatureReader, displaying the
>>>> PID
>>>> 			
>>>> 			while ($featureReader->ReadNext())
>>>>             {
>>>>               $valArray[$counter] = $featureReader->GetInt32('PID');
>>>>               $counter = $counter + 1;
>>>>             }
>>>> 
>>>> The code works fine until I hit a larger selection number. Is there a
>>>> limit on the number of features that can be selected from a database?
>>>> 
>>>> I get the following error when the selection is big:
>>>> 
>>>> An exception occurred in FDO component. RDBMS: [IBM][CLI
>>>> Driver][DB2/LINUX] SQL0010N The string constant beginning with ""MAPI"
>>>> does not have an ending string delimiter. SQLSTATE=42603
>>>> 
>>>> Any help would be appreciated
>>>> 
>>>> Nick
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://n2.nabble.com/Selection-Limit--tp3321984p3357551.html
Sent from the MapGuide Users mailing list archive at Nabble.com.


More information about the mapguide-users mailing list