[Mapserver-users] unclear on the concept
Joel Gwynn
joelman at joelman.com
Thu Jul 22 21:26:20 PDT 2004
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