[mapguide-users] RE: Come get your Key IDs

Andrew DeMerchant andrew.demerchant at gemtec.ca
Fri Jun 30 10:03:40 EDT 2006


Ok, I've given up on the VBScipt plan. I don't think that it's possible 
at all. My current plan is to make a little PHP page that will open, get 
the data needed, and then post it to an ASP page that I will then be 
able to do what I want with. Maybe when I'm done, I'll post the code so 
that someone else can modify it to their needs. I would imagine that a 
php file that returns actual data from selected features would prove 
useful for a lot of people. I'll keep you posted. Thanks for the help.

Andrew

Andy Morsell wrote:

> Andrew,
> That documentation is for the older MapGuide 6.5 technology which is 
> completely different than the new MapGuide which was re-written from 
> the ground up and shares nothing in common with the older version.  
> I'm afraid that documentation probably won't help you much with the 
> new version.  All of the documentation for MapGuide Open Source is 
> here: https://mapguide.osgeo.org/documentation.html.  All of the 
> samples in the developer guide are PHP, however.  And, the .NET sample 
> application is all C#.  Translating VB.NET to C#.NET and vice versa is 
> not too difficult, though.
>  
>
> Andy
>
> ------------------------------------------------------------------------
> *From:* Andrew DeMerchant [mailto:andrew.demerchant at gemtec.ca]
> *Sent:* Thursday, June 29, 2006 12:55 PM
> *To:* users at mapguide.osgeo.org
> *Subject:* Re: [mapguide-users] RE: Come get your Key IDs
>
> Ok, I've actually found some documentation that may help me. (Found 
> here: http://www.mapguide.com/Help/ver6.5/pdf/en/MGDevGuide6.pdf)
>
> This actually has some ASP (VBScript) documentation for a change. Of 
> course, it's not for MapServer, but surely it must be similar, at 
> least. At the very least, it's a start for me.
>
> Andrew
>
> Andrew DeMerchant wrote:
>
>> If it can be done with VB.Net, I'd imagine that it could be done with 
>> VBScript....finding documentation on that might be tricky though. Is 
>> there any documentation on using MapServer with VB.Net? That would 
>> certainly be a start for me....I don't think that .Net is too 
>> difficult to pick up from regular VB.
>>
>> Kori Maleski wrote:
>>
>>>Hi Andrew,
>>> 
>>>It is indeed VB.NET - although I can switch it to C# easy enough.  
>>> 
>>>I don't think you can utilize VBScript server side for these operations (if anybody can correct me on this feel free).
>>>You will have to pick up a book on .NET basics - VB since you are more comfortable with it.
>>> 
>>>You can get away with not purchasing Visual Studio by just coding in a text editor (you will lose the debugging ability).
>>> 
>>>Note: My code is only a snippet and won't run without a larger part of code above it.  
>>> 
>>> 
>>> 
>>> 
>>>Cheers,
>>> 
>>> 
>>>Kori Maleski  BSc. 
>>>Senior Technical Consultant
>>> 
>>>Pacific Alliance Technologies
>>>Suite 400 - 534 17 Ave. SW Calgary, AB CANADA T2S 0B1
>>>TEL 403.770.1917 FAX 877.691.9149 TOL 877.691.9171 www.pat.ca <http://www.pat.ca/> 
>>>
>>>________________________________
>>>
>>>From: Andrew DeMerchant [mailto:andrew.demerchant at gemtec.ca]
>>>Sent: Thu 29/06/2006 12:37 PM
>>>To: users at mapguide.osgeo.org
>>>Subject: Re: [mapguide-users] RE: Come get your Key IDs
>>>
>>>
>>>Kori,
>>>
>>>Is your code VB.Net? The server-side code that I use will need to be VBScript (not VB.Net)....I tried your code, but it doesn't run, which is why I suspect that it's .Net....I'm a 'programming type', but not when it comes to PHP, C# or .Net. I can read them to some extent, but don't know that languages very well. Since I don't know PHP or C#, I've found the documentation pretty hard to follow. I'd LOVE it if you could just specify a field to pass for each layer without any coding involved. That would be a great addition. In the meantime, any help that I can get would be greatly appreciated. What I really need is to see some example VBScript code (I learn best by example) that shows how to get data from the "$CurrentSelection$" variable that gets passed with InvokeURL.
>>>
>>>Andrew
>>>
>>>Kori Maleski wrote: 
>>>
>>>	Andy,
>>>	 
>>>	This code is part of a generic handler so I don't hardcode the column name and is reused in all the reporting functions.  I could have passed the name instead of the ordinal position.  I forget why I did that.  It must have been a Monday.
>>>	 
>>>	 
>>>	 
>>>	 
>>>	Kori Maleski  BSc. 
>>>	Senior Technical Consultant
>>>	 
>>>	Pacific Alliance Technologies
>>>	Suite 400 - 534 17 Ave. SW Calgary, AB CANADA T2S 0B1
>>>	TEL 403.770.1917 FAX 877.691.9149 TOL 877.691.9171 www.pat.ca <http://www.pat.ca/> <http://www.pat.ca/>  
>>>	
>>>	________________________________
>>>	
>>>	From: Andy Morsell [mailto:amorsell at spatialgis.com]
>>>	Sent: Thu 29/06/2006 11:33 AM
>>>	To: users at mapguide.osgeo.org
>>>	Subject: [BULK] RE: [mapguide-users] RE: Come get your Key IDs
>>>	
>>>	
>>>	Kori,
>>>	I don't think you have to know the column order.  In my case I am getting to it directly by field name.  I am creating the filter, query options and feature reader the same way, though.  Also, my MgPropertyType is hardcoded here.  Your way of determining it from the field is better.
>>>	 
>>>	Here is part of the C# code for it:
>>>	 
>>>	//loop through the featureReader, get the ID field, and add it to an array   
>>>	ArrayList objDBID = new ArrayList(0);
>>>	while (featureReader.ReadNext())
>>>	   {        
>>>	        objDBID.Add(featureReader.GetString("ID")); //TO DO: un-hard code this.  Pick up the field name to be queried from a request parameter instead.
>>>	   }
>>>	 
>>>	My biggest problem with these solutions is that the non-programmer types are not going to be able to easily do this.  We really need a way to easily pass ANY field in a given layer from a selection set client-side.
>>>	 
>>>	 
>>>	Andy 
>>>	
>>>	________________________________
>>>	
>>>	From: Kori Maleski [mailto:km at pat.ca] 
>>>	Sent: Thursday, June 29, 2006 10:15 AM
>>>	To: users at mapguide.osgeo.org
>>>	Subject: [mapguide-users] RE: Come get your Key IDs
>>>	
>>>	
>>>	Andrew,
>>>	
>>>	The Selection Set contains the featureIDs for your datasource.
>>>	You can get YOUR key IDs from the Selection set by querying the feature, then reading your preferred key Column (property).
>>>	
>>>	You have to know your key columns position in order to do this - hence my variable - l_iKeyColumnOrdinal.
>>>	i.e. - if my key IDs are in column 4 then  l_iKeyColumnOrdinal = 4
>>>	I utilize a lookup table that manages my key columns.  Not sure if this is the best way but it works.
>>>	
>>>	This returns MY key IDs in a column delimited string.
>>>	
>>>	 
>>>	
>>>	'query the features
>>>	
>>>	Dim l_oQuery As New MgFeatureQueryOptions()
>>>	l_oQuery.SetFilter(l_sFilter) 'derived from selection set
>>>	
>>>	 
>>>	
>>>	Dim l_ofeatureSource As MgResourceIdentifier = New MgResourceIdentifier(l_oSelLayer.GetFeatureSourceId())
>>>	Dim l_ofeatures As MgFeatureReader = l_oFeatureSrvc.SelectFeatures(l_ofeatureSource, l_sFeatureClassName, l_oQuery)
>>>	
>>>	 
>>>	
>>>	If l_ofeatures.ReadNext() Then
>>>	Dim l_sProperty As String = l_ofeatures.GetPropertyName(l_iKeyColumnOrdinal)
>>>	
>>>	Do
>>>	
>>>	Dim pi As Integer
>>>	'For pi = 0 To l_ofeatures.GetPropertyCount() - 1
>>>	
>>>	Dim l_iPropType As Integer = l_ofeatures.GetPropertyType(l_sProperty)
>>>	Dim l_sPropertyValue As String = ""
>>>	
>>>	Select Case l_iPropType
>>>	Case MgPropertyType.Boolean
>>>	l_sPropertyValue = l_ofeatures.GetBoolean(l_sProperty).ToString()
>>>	Case MgPropertyType.Single
>>>	l_sPropertyValue = l_ofeatures.GetSingle(l_sProperty).ToString()
>>>	Case MgPropertyType.Double
>>>	l_sPropertyValue = l_ofeatures.GetDouble(l_sProperty).ToString()
>>>	Case MgPropertyType.Int16
>>>	l_sPropertyValue = l_ofeatures.GetInt16(l_sProperty).ToString()
>>>	Case MgPropertyType.Int32
>>>	l_sPropertyValue = l_ofeatures.GetInt32(l_sProperty).ToString()
>>>	Case MgPropertyType.Int64
>>>	l_sPropertyValue = l_ofeatures.GetInt64(l_sProperty).ToString()
>>>	Case MgPropertyType.String
>>>	l_sPropertyValue = l_ofeatures.GetString(l_sProperty)
>>>	End Select
>>>	
>>>	If l_sSelectedLayerIDs = "" Then
>>>	l_sSelectedLayerIDs = l_sPropertyValue
>>>	Else
>>>	l_sSelectedLayerIDs = l_sSelectedLayerIDs + "," + l_sPropertyValue
>>>	End If
>>>	
>>>	'Next pi
>>>	
>>>	Loop While l_ofeatures.ReadNext()
>>>	
>>>	 
>>>	 
>>>	 
>>>	 
>>>	Obviously you have to do this server side...
>>>	 
>>>	 
>>>	Cheers,
>>>	 
>>>	Kori Maleski  BSc. 
>>>	Senior Technical Consultant
>>>	 
>>>	Pacific Alliance Technologies
>>>	Suite 400 - 534 17 Ave. SW Calgary, AB CANADA T2S 0B1
>>>	TEL 403.770.1917 FAX 877.691.9149 TOL 877.691.9171 www.pat.ca <http://www.pat.ca/> <http://www.pat.ca/>  
>>>	
>>>	________________________________
>>>	
>>>	From: Andrew DeMerchant [mailto:andrew.demerchant at gemtec.ca]
>>>	Sent: Thu 29/06/2006 10:32 AM
>>>	To: users at mapguide.osgeo.org
>>>	Subject: Re: [mapguide-users] Andy - Question about your tooltips...
>>>	
>>>	
>>>	 
>>>	  
>>>	
>>>________________________________
>>>
>>>
>>>	---------------------------------------------------------------------
>>>	To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
>>>	For additional commands, e-mail: users-help at mapguide.osgeo.org
>>>
>>>
>>>  
>>>
>>>------------------------------------------------------------------------
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
>>>For additional commands, e-mail: users-help at mapguide.osgeo.org
>>>
>>
>> -- 
>> 	*Andrew DeMerchant*
>> *Computer Technologist*
>> ph.1-877-4GEMTEC x.163
>> fax 506-453-9470
>>
>> /GEMTEC Limited <http://www.gemtec.ca>
>> /191 Doak Road
>> Fredericton, NB, Canada
>> E3C 2E6
>>
>
> -- 
> 	*Andrew DeMerchant*
> *Computer Technologist*
> ph.1-877-4GEMTEC x.163
> fax 506-453-9470
>
> /GEMTEC Limited <http://www.gemtec.ca>
> /191 Doak Road
> Fredericton, NB, Canada
> E3C 2E6
>

-- 
	*Andrew DeMerchant*
*Computer Technologist*
ph.1-877-4GEMTEC x.163
fax 506-453-9470

/GEMTEC Limited <http://www.gemtec.ca>
/191 Doak Road
Fredericton, NB, Canada
E3C 2E6

-------------- next part --------------
Skipped content of type multipart/related


More information about the Mapguide-users mailing list