[Mapserver-users] unclear on the concept

Joel Gwynn joelman at joelman.com
Fri Jul 23 09:56:44 EDT 2004


it's a point layer

Lowell Filak wrote:

>Doesn't $so need to be MS_SHAPE_LINE instead of MS_SHAPE_POINT ?
>
>Lowell
>
>The following message was sent by Joel Gwynn <joelman at joelman.com> on
>Fri, 23 Jul 2004 00:26:20 -0400.
>
>  
>
>>The shapeindex numbers I'm getting don't seem to correspond to any 
>>values in my "cities" table.  Even so, I would hope that I could 
>>retrieve all the feature info from the mapserver object without opening 
>>up a separate database connection.  Is this not so?
>>
>>I'm just having trouble finding the specific syntax to get information 
>>about individual points on a point layer.  Here's what I would think 
>>might work, but of course it's not.
>>
>>    my $so = new mapscript::shapeObj($mapscript::MS_SHAPE_POINT);
>>    ...
>>if(my $r = $city_layer->queryByPoint($map, $boston, 
>>$mapscript::MS_MULTIPLE,10)){
>>    print "no results.\n";
>>}else{
>>    my $i = 0;
>>    print "status: $r\n";
>>    while(my $rc = $city_layer->getResult($i)){
>>    my $si = $rc->{shapeindex};
>>    $r = $city_layer->getShape($so, 0, $si);
>>    print "getShape: $r\n";
>>    my $point = new mapscript::pointObj();
>>    $point = $so->get(0);
>>    print $point->{x}.' '.$point->{y}
>>}
>>
>>What really obvious syntax am I missing?
>>
>>Thanks,
>>Joel
>>
>>Lowell Filak wrote:
>>
>>    
>>
>>>I don't know postgis but I would suspect that the query you want to do
>>>could be done directly in postgis.
>>>Excluding that as a possibility, the shapeindexes you receive back
>>>should be the sequential number of the shape/attribute record as they
>>>occur in the postgres table. You should be able to retrieve the shape
>>>into a shapeObj via $layer->getShape($shape, 0, $si).
>>>
>>>HTH
>>>
>>>Lowell
>>>
>>>The following message was sent by Joel Gwynn <joelman at joelman.com> on
>>>Wed, 21 Jul 2004 23:43:20 -0400.
>>>
>>> 
>>>
>>>      
>>>
>>>>Perhaps I'm going about this the wrong way.  I'm using perl mapscript, 
>>>>and I've got a postgis points layer and I want to get some points, say 
>>>>within a certain radius of Boston:
>>>>
>>>>my $map = new mapscript::mapObj("$map_path/world_cities.map");
>>>>my $boston = new mapscript::pointObj(-71.1029968261719, 42.375);
>>>>my $city_layer = $map->getLayer(1);
>>>>
>>>>if(my $r = $city_layer->queryByPoint($map, $boston, 
>>>>$mapscript::MS_MULTIPLE,10)){
>>>>   print "no results.\n";
>>>>}else{
>>>>   my $i = 0;
>>>>   print "status: $r\n";
>>>>   while(my $rc = $city_layer->getResult($i)){
>>>>   my $si = $rc->{shapeindex};
>>>>   print "shapeindex: $si\n";
>>>>   $i++;
>>>>   }
>>>>}
>>>>
>>>>This prints out a bunch of shapeindex numbers.  What are those numbers? 
>>>>They don't seem to show up in my cities table in the database.  Can I 
>>>>use the mapscript object to access the points?
>>>>_______________________________________________
>>>>Mapserver-users mailing list
>>>>Mapserver-users at lists.gis.umn.edu
>>>>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>>>>   
>>>>
>>>>        
>>>>
>>> 
>>>
>>>      
>>>
>
>
>  
>




More information about the mapserver-users mailing list