[Mapserver-users] unclear on the concept

Lowell Filak lfilak at medinaco.org
Fri Jul 23 10:16:09 EDT 2004


I realize that. The $shape->get returns a line object not point. It's
easy enough to verify, does "print $point->{x}.' '.$point->{y}" print a
real x & y or 0?

Lowell

The following message was sent by Joel Gwynn <joelman at joelman.com> on
Fri, 23 Jul 2004 09:56:44 -0400.

> 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
> >>>>   
> >>>>
> >>>>        
> >>>>
> >>> 
> >>>
> >>>      
> >>>
> >
> >
> >  
> >
> 
> _______________________________________________
> 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