Re: VS: [mapserver-users] Mapserver search performance

2011-05-04 Thread Varun saraf
Hi Andreas,

I have looked and looked but could not find how to use ogr2ogr to do
the operation I am interested in. Could you point me in the right
direction here as to how can ogr2ogr be used to add new fields to an
existing dbf file from another dbf file. The external dbf file from
which I need to fetch data does not have a corresponding shp file
associated with it. Its just a simple data file that has a common
field with the shp file attributes.

Varun

On Wed, May 4, 2011 at 4:23 AM, Eichner, Andreas - SID-NLKM
 wrote:
>
> Hi. The first thing to note: editing a DBF with Excel & Co. seems to be
> a _really_ bad idea. Those who tried that got Shapes wired to wrong
> attribute lines. So DBF, SHP, SHX and QIX files have to be used as a
> whole or will usually end up in a corrupted dataset. I would suggest
> "ogr2ogr" from the GDAL suite. It's fast, reliable, can do joins and is
> aware of the mentioned dependencies.
> Please note that such a fileset can only provide a spatial index via a
> QIX file. This is OK if you only want to filter by BBOX. If you want to
> filter by attribute all lines of the DBF still need to be scanned. In
> such cases it's wise to use ogr2ogr to split the data in pre-filtered
> sets.
> Using a more sophisticated database like PostGIS or SpatialLite can help
> you implement more complex scenarios. Since MapServer has no native
> driver for SpatialLite it's probably not as fast as it is supposed to
> be. This mostly depends on OGRs implementation.
>
> Greetings
>
>> Is there a DBF editor out
>> there that can be used to import the fields from any external data
>> source into the shapefile attribute DBF without affecting the
>> structure? I looked for a lot but they do not have the capability of
>> doing a JOIN based on a common field and pulling data into the
>> shapefile DBF automatically.
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: VS: [mapserver-users] Mapserver search performance

2011-05-03 Thread Varun saraf
Hi,

Thanks a lot for the quick help. I am a PHP/Java guy. I shall try my
luck with some sort of PHP scripting as I need a solution fairly
quickly. I had made the suggestion of shifting to a PostGIS system
quite some time back but I guess you know how it is with approvals :)

Thanks again,
Varun

On Tue, May 3, 2011 at 4:42 PM, Mr. Puneet Kishor  wrote:
>
> On May 3, 2011, at 3:36 PM, Varun saraf wrote:
>
>> Hi Puneet,
>>
>> Thanks a lot for the prompt reply. I tried using Excel 2007 and was
>> not able to re-save the dbf file after editing. Also, I am having DBF
>> files with about a million records and Excel tends to hang for these
>> operations.
>
>
> Now you tell us ;-). My sense is that most gui-based tools will choke on 
> million+ rows. You might well want to "upgrade" to a Pg/PostGIS solution at 
> some point, but I realize that is not what you are asking for... (also, I 
> believe the most recent Excel versions might have lost the DBF translation 
> capabilities -- I am not an Excel person, so I can't confirm... besides, I 
> use Macs, and Excel is most likely hobbled on Macs anyway).
>
>
>> Is there some tool other than Excel which can do these
>> operations?
>
>
> I remember using Perl and XBase.pm to do this. It was really very quick and 
> trivial, but it was a long time ago. Choose your language of choice. Try R.
>
>
>
>
>>
>> Thanks,
>> Varun
>>
>> On Tue, May 3, 2011 at 4:27 PM, Mr. Puneet Kishor  
>> wrote:
>>>
>>> On May 3, 2011, at 3:19 PM, Varun saraf wrote:
>>>
>>>> ..Is there a DBF editor out
>>>> there that can be used to import the fields from any external data
>>>> source into the shapefile attribute DBF without affecting the
>>>> structure? I looked for a lot but they do not have the capability of
>>>> doing a JOIN based on a common field and pulling data into the
>>>> shapefile DBF automatically.
>>>
>>> Just use MS-Excel or any program that can open up and write DBF. As long as 
>>> you are careful to not change the number of rows, just add additional 
>>> columns, and make sure the column names are not changed, and follow the 
>>> various DBF limitations, you should be ok. Make sure to keep a backup of 
>>> the original DBF in case things go ka-pow!
>>>
>>> Since the DBF data and the geometry are in separate files, there is no 
>>> issue with adding more attributes provide you follow the care noted above.
>>> ..
>>>
>>>
>>>
>>> Puneet.
>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: VS: [mapserver-users] Mapserver search performance

2011-05-03 Thread Varun saraf
Hi,

Thanks a lot Andreas. That JOIN was the culprit as you rightly
suggested. Once I removed the join, the performance increased
exponentially. The 5 minute cgi run now took under 5 seconds which is
simply amazing. I just need one more help. Is there a DBF editor out
there that can be used to import the fields from any external data
source into the shapefile attribute DBF without affecting the
structure? I looked for a lot but they do not have the capability of
doing a JOIN based on a common field and pulling data into the
shapefile DBF automatically. My company cannot afford the ArcGis
software.

Thanks,
Varun

On Fri, Apr 15, 2011 at 2:40 AM, Eichner, Andreas - SID-NLKM
 wrote:
>
> Hi,
>
> AFAIK dBase files don't provide an index themselves and there's no other
> way to provide one. shptree only creates an spatial index. Therefore
> only queries like 'does this geometry touch/intersect/lie within a given
> rectangle'can be accelerated.
>
>> I tried the shptree tool but did not see any performance improvement.
>
> So this becomes clear: By doing a JOIN MapServer basically runs a loop:
> for each geometry that matches search withing external data for a line
> matching the join condition.
>
>> Could it be because all of this information that I require is coming
>> from an external DBF file that I join to the layer/shape's DBF? Will
>> including all these fields/information in the shape's DBF file itself
>> help?
>
> I'm pretty sure that this would help, since this would avoid the
> (unaccelerated) join. With a database like PostgreSQL/PostGIS or SQlite
> it's basically the same problem: if you don't create an appropriate
> index for the join condition, this becomes an costly operation. Although
> those columns are usually primary and foreign key columns with
> appropriate index and the join condition is usually a simple equality
> match.
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: VS: [mapserver-users] Mapserver search performance

2011-04-14 Thread Varun saraf
Hi,

I tried the shptree tool but did not see any performance improvement.
It fetched results about 4-5 seconds faster. Without QIX files, it was
5 minutes and with QIX files, it took about 4 minutes and 56 seconds.
All of my requests are based on the "MAPSHAPE" parameter in NQUERY
mode. I noticed that mapserver was taking about 1 second for
outputting the information in the template file for each feature.
Could it be because all of this information that I require is coming
from an external DBF file that I join to the layer/shape's DBF? Will
including all these fields/information in the shape's DBF file itself
help? Does mapserver pick up each feature and use a point in polygon
approach to check if it lies in the provided shape? If yes, how can i
make this process faster. Is there a way of making it multi-threaded
or do more checks per second?

I am providing sample code. Hope this helps. I have about 35 layers in
my map file. Should I merge all these into a single layer?

MAP FILE

LAYER
NAME "L1"
METADATA
qstring_validation_pattern '.'
END
STATUS DEFAULT
TYPE point
DATA BLKS_01
TOLERANCE 0
TOLERANCEUNITS METERS
CLASS
   STYLE
  OUTLINECOLOR 255 0 0
END 
END

JOIN
NAME "external"
TABLE "data/externalData.dbf"
FROM "Field1"
TO "Field1"
TYPE ONE-TO-ONE
END

TEMPLATE "blockTemplate.xml"
END

Template File
==
[GEOID],[Field1],[LON],[LAT],[external_ID],[external_NAME],[external_STA],[external_NEEDSCORE],[external_MINSCORE];

Request
===
http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/GIS/centroides.map&mode=nquery&mapshape=-99.757833
32.474433 -99.758005 32.450679 -99.726591 32.447637 -99.727621
32.474723

Any help in this regard is greatly appreciated. Let me know if you
need any more information.

Thanks,
Varun

On Mon, Apr 11, 2011 at 3:06 PM, Varun saraf  wrote:
> Thanks a lot for the quick reply. I will give it a try.
>
> On Mon, Apr 11, 2011 at 1:50 PM, Rahkonen Jukka
>  wrote:
>> Hi,
>>
>> Shptree will help and stopwatch will tell you how much. Without spatial
>> index Mapserver needs to go through the whole shapefile every time. Have
>> a try, it will not take very many seconds to run shptree. Make different
>> requests, take times with and without .qix files and you will some
>> numbers. Change the requests and request order (query 1 with
>> .qix/withour qix, query 2 without .qix/with .qix) so that you can see if
>> you are actually testing the speed of disk access and memory cache
>> access and not the effect of having spatial index.
>> By adding DEBUG 5 for your layer you don't need stopwatch but you'll get
>> timings into ms_errorfile.
>>
>>
>> -Jukka Rahkonen-
>>
>> Varun saraf wrote:
>>
>>>
>>> Hello Everyone,
>>>
>>> I have programmed a GIS application using Mapserver, Google maps and
>>> Tilecache. The functionality of this GIS application is to extract the
>>> data (from the dbf file) for all features (Points) within a randomly
>>> drawn user shape and doing some statistical operation on that data. I
>>> use an NQUERY mode with MAPSHAPE attribute to get all the data for the
>>> user drawn shape. Mapserver takes aout 5-10 seconds for a small shape
>>> (a couple of square miles) but as the shape gets bigger (hundreds of
>>> square miles), the time taken to fetch all data related to the
>>> features/points lying in the shape grows exponentially (Upto 2 hours
>>> for some shapes). Until now, we were restricting the maximum area a
>>> shape can have but we have to get rid of that. Is there a way to
>>> improve the performance in any way? Will SHPTREE work for this
>>> purpose? The features are currently points only but we may move to
>>> polygons in future. We use the .shp files for the shapes. Is it
>>> advantageous to move to a database instead? If yes, what database
>>> works best?
>>>
>>> What I did notice is that for any given request to mapserver, however
>>> large the shape, the CPU utilization never crosses 12%. Can we improve
>>> performance by increasing the RAM or maybe move to a solid state hard
>>> drive? There is also the possibility of moving this application to
>>> Cloud computing. Anything that will improve the performance actually.
>>> Can someone point me in the right direction as to what might be the
>>> current bottleneck?
>>>
>>> T current setup is on windows and uses MS4W on an Apache server.
>>>
>>> Thanks,
>>> Varun
>>> ___
>>> mapserver-users mailing list
>>> mapserver-users@lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: VS: [mapserver-users] Mapserver search performance

2011-04-11 Thread Varun saraf
Thanks a lot for the quick reply. I will give it a try.

On Mon, Apr 11, 2011 at 1:50 PM, Rahkonen Jukka
 wrote:
> Hi,
>
> Shptree will help and stopwatch will tell you how much. Without spatial
> index Mapserver needs to go through the whole shapefile every time. Have
> a try, it will not take very many seconds to run shptree. Make different
> requests, take times with and without .qix files and you will some
> numbers. Change the requests and request order (query 1 with
> .qix/withour qix, query 2 without .qix/with .qix) so that you can see if
> you are actually testing the speed of disk access and memory cache
> access and not the effect of having spatial index.
> By adding DEBUG 5 for your layer you don't need stopwatch but you'll get
> timings into ms_errorfile.
>
>
> -Jukka Rahkonen-
>
> Varun saraf wrote:
>
>>
>> Hello Everyone,
>>
>> I have programmed a GIS application using Mapserver, Google maps and
>> Tilecache. The functionality of this GIS application is to extract the
>> data (from the dbf file) for all features (Points) within a randomly
>> drawn user shape and doing some statistical operation on that data. I
>> use an NQUERY mode with MAPSHAPE attribute to get all the data for the
>> user drawn shape. Mapserver takes aout 5-10 seconds for a small shape
>> (a couple of square miles) but as the shape gets bigger (hundreds of
>> square miles), the time taken to fetch all data related to the
>> features/points lying in the shape grows exponentially (Upto 2 hours
>> for some shapes). Until now, we were restricting the maximum area a
>> shape can have but we have to get rid of that. Is there a way to
>> improve the performance in any way? Will SHPTREE work for this
>> purpose? The features are currently points only but we may move to
>> polygons in future. We use the .shp files for the shapes. Is it
>> advantageous to move to a database instead? If yes, what database
>> works best?
>>
>> What I did notice is that for any given request to mapserver, however
>> large the shape, the CPU utilization never crosses 12%. Can we improve
>> performance by increasing the RAM or maybe move to a solid state hard
>> drive? There is also the possibility of moving this application to
>> Cloud computing. Anything that will improve the performance actually.
>> Can someone point me in the right direction as to what might be the
>> current bottleneck?
>>
>> T current setup is on windows and uses MS4W on an Apache server.
>>
>> Thanks,
>> Varun
>> ___
>> mapserver-users mailing list
>> mapserver-users@lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Mapserver search performance

2011-04-11 Thread Varun saraf
Hello Everyone,

I have programmed a GIS application using Mapserver, Google maps and
Tilecache. The functionality of this GIS application is to extract the
data (from the dbf file) for all features (Points) within a randomly
drawn user shape and doing some statistical operation on that data. I
use an NQUERY mode with MAPSHAPE attribute to get all the data for the
user drawn shape. Mapserver takes aout 5-10 seconds for a small shape
(a couple of square miles) but as the shape gets bigger (hundreds of
square miles), the time taken to fetch all data related to the
features/points lying in the shape grows exponentially (Upto 2 hours
for some shapes). Until now, we were restricting the maximum area a
shape can have but we have to get rid of that. Is there a way to
improve the performance in any way? Will SHPTREE work for this
purpose? The features are currently points only but we may move to
polygons in future. We use the .shp files for the shapes. Is it
advantageous to move to a database instead? If yes, what database
works best?

What I did notice is that for any given request to mapserver, however
large the shape, the CPU utilization never crosses 12%. Can we improve
performance by increasing the RAM or maybe move to a solid state hard
drive? There is also the possibility of moving this application to
Cloud computing. Anything that will improve the performance actually.
Can someone point me in the right direction as to what might be the
current bottleneck?

T current setup is on windows and uses MS4W on an Apache server.

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Boundary overlay shift

2010-12-13 Thread Varun saraf
Hello,

I have been using Mapserver with Tilecache and Google maps to display
polygon boundary overlays for some time now. However, the users
complain that the overlay is not accurate if they zoom in to the map
(zoom level 14 onwards). Is this a problem with the projection scheme
being used? I think my data is in epsg 4326 format. What projection
scheme does google maps use? Its strange that everything looks fine at
the higher levels but when I zoom in beyond level 13, the boundary
gets misaligned though the shape of the boundaries is accurate. Has
anyone solved this problem? If yes, it would be great if you can point
me in the correct direction.

BTW, I use ms4w for windows and the GtileOverlay method with tilecache
to render the boundary overlays.

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Google Maps Tile overlay shift

2010-11-30 Thread Varun saraf
Hi,

For some time now, I have been using Mapserver with Tilecache and
Google maps to display census tract overlays to users. However, the
users complain that the overlay is not accurate if they zoom into the
map (say level 13 onwards). Is this a problem with the projection
scheme being used? I think my data is in epsg 4326 format and google
uses 900913 I think. I insrted this into the Proj 4 epsg file but
still the overlays are shifted by a bit. If anyone who has solved this
problem can direct me, it would be a great help.

BTW, I use ms4w for windows and the GtileOverlay method with tilecache.

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Custom Draw Shape by User

2010-04-05 Thread Varun saraf
Hi,

I am using mapserver as tile layer (USA county boundaries) on google
maps. I have been given a requirement where a user, can go to a
specific zoom level on the maps and draw a custom shape (mostly a
poygon Using GPolygon) on google maps. I then need to provide the user
with an average data of all the counties that fall within this custom
shape. Now, I can fetch the data for every county the user clicks on,
but if the user does not click on a county but it still falls within
the custom shape, is there a way for me to know the same?? Is there a
way to provide this custom shape to mapserver using the geo latitude
and longitide, so mapserver itself can give me the list of all
counties that fall within this?

Please help me in this regard.

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Maps based on external data

2009-09-23 Thread Varun saraf
Hi,

I am using mapserver to generate map overlays for google (using
tiles). I was wondering if there is a way in which I can color code
the map based on external data (data not available in the dbf file). I
was able to join the external data and display to the user when a
click event happened but could not figure out a way in which mapserver
can color code using expressions and classes. Is the only way to this
is combining the external data with the existing dbf file?

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Class level Transparency/Opacity

2009-08-19 Thread Varun saraf
Hello,

Is it possible to set a transparency rate for the CLASS level Color?
Below is my mapfile. I am using this layer on google maps in tile
mode. When I do so, the base map is getting completely overlapped by
the colored polygons. I need a level of transparency so that the base
map's roads and location are visible. In other words, I only want to
highlight the polygons that match the expression criteria. Can someone
tell me what I need to do for the same? I have already tried putting
in OPACITY field in the layer object but it only lightens the color
without making it transparent. an OPACITY of 1 renders the polygons
"white" in color.

MAP
NAME drawBothMap
TRANSPARENT ON
IMAGETYPE PNG

PROJECTION
  "init=epsg:4326"
END

LAYER
NAME "USABOTH"
STATUS DEFAULT
METADATA
wms_title "example_layer"
END
TYPE polygon
DATA USA

CLASSITEM "QCT"

CLASS
  EXPRESSION '1'
  COLOR 255 0 0
END

CLASS
  EXPRESSION '2'
  COLOR 0 255 0
END

CLASS
  EXPRESSION '3'
  COLOR 0 0 255
END
END
END

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Class level Transparency/Opacity

2009-08-19 Thread Varun saraf
Hello,

Is it possible to set a transparency rate for the CLASS level Color?
Below is my mapfile. I am using this layer on google maps in tile
mode. When I do so, the base map is getting completely overlapped by
the colored polygons. I need a level of transparency so that the base
map's roads and location are visible. In other words, I only want to
highlight the polygons that match the expression criteria. Can someone
tell me what I need to do for the same? I have already tried putting
in OPACITY field in the layer object but it only lightens the color
without making it transparent. an OPACITY of 1 renders the polygons
"white" in color.

MAP
   NAME drawBothMap
   TRANSPARENT ON
   IMAGETYPE PNG

   PROJECTION
 "init=epsg:4326"
   END

   LAYER
   NAME "USABOTH"
   STATUS DEFAULT
   METADATA
   wms_title "example_layer"
   END
   TYPE polygon
   DATA USA

   CLASSITEM "QCT"

   CLASS
 EXPRESSION '1'
 COLOR 255 0 0
   END

   CLASS
 EXPRESSION '2'
 COLOR 0 255 0
   END

   CLASS
 EXPRESSION '3'
 COLOR 0 0 255
   END
   END
END

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] Precache

2009-06-21 Thread Varun saraf
It worked perfect.I have another question but I guess I will put it up
on the tilecache-users list.

Thanks a lot,
Varun

On Fri, Jun 19, 2009 at 6:55 PM, Guillaume
Sueur wrote:
> Hi Varun,
>
> It looks rather like a question for the tilecache-users list, but I can give
> you a hand.
> I think you didn't specify any layer when running tilecache_seed.py
> Please try :
> tilecache_seed.py [your_layer_name_as_set_in_tilecache.cfg] 0 5
> where 0 and 5 are zoom start and zoom end. You can adapt this last one
> depending on how many levels you set for your layer.
> Run it from the directory where tilecache.cfg is, to avoid problem if you
> have many of them...
>
> Regards,
>
> Guillaume
>
> Varun saraf a écrit :
>>
>> Hello,
>>
>> I have got this (tilecache with mapserver on google maps) working
>> finally after a lot of problems but I now really need to know about
>> how to do a pre-cache of all the tiles from mapserver. I am running
>> tilecache 2.10 on Windows with mapserver ms4w from maptools.org. I
>> tried running "tilecache_seed.py" as per the suggestion above but it
>> always ends up in the following error
>>
>> Traceback (most recent call last):
>>  File "C:\ms4w\Apache\cgi-bin\tilecache-2.10\tilecache_seed.py", line 9,
>> in > dule>
>>    TileCache.Client.main()
>>  File "C:\ms4w\Apache\cgi-bin\tilecache-2.10\TileCache\Client.py", line
>> 153, in
>>  main
>>    layer = svc.layers[args[0]]
>> IndexError: list index out of range
>>
>> Any help in this regard would be great.
>>
>> Thanks,
>> Varun
>>
>> On Fri, Jun 19, 2009 at 2:39 PM, Varun saraf wrote:
>>>
>>> Hi Roger,
>>>
>>> I am trying to get my mapserver and tilecache work together but its
>>> somehow not working. I am using the same projection as you in all my
>>> layers and the mapfile. (This works when I call my mapserver directly
>>> from google and hence the projection is right).
>>>
>>> Here is my mapfile (Only things that might be important).
>>>
>>> MAP
>>>   EXTENT -173 5 -45 75
>>>
>>>   IMAGETYPE PNG
>>>
>>>   PROJECTION
>>>     "init=epsg:4326"
>>>   END
>>>
>>>   WEB
>>>   METADATA
>>>    wms_srs             "EPSG:4326 EPSG:900913"
>>>   END
>>> 
>>>   END
>>>
>>>   LAYER
>>> 
>>>       PROJECTION
>>>           "init=epsg:4326"
>>>       END
>>>   END
>>>
>>> Next I added the 900913 epsg to the proj.4 of mapserver and made the
>>> required changes in tilecache.cfg file as you specified.
>>>
>>> [google-tiles]
>>> type=MapServerLayer
>>> mapfile=C:/ms4w/apps/QCTGIS/drawMap.map
>>> metaTile=true
>>> metaSize=2,2
>>> metaBuffer=0,500
>>> layers=tr20_d00
>>> spherical_mercator=true
>>> srs=EPSG:900913
>>>
>>> I am not sure if the linkn I am using is wrong. I have tilecache
>>> installed in the cgi directory of the apache server that was installed
>>> using "ms4". The example index.html that comes with tilecache works
>>> fine and I can see the images being cached. Also my mapserver directly
>>> works fine. Can you tell me what is it that I am doing wrong here? the
>>> link I use for the tileUrlTemplate in google maps is
>>>
>>> "http://127.0.0.1:8123/cgi-bin/tilecache-2.10/tilecache.cgi/1.0.0/google-tiles/{Y}/{X}/{Z}.png?type=google";.
>>> I can also see that this call gets initiated in the apache logs
>>> (access.log) but nothing happens therafter. I don't even know if this
>>> is failing at tilecache end and mapserver isn't being called at all or
>>> at mapserver's end where the image is not being sent by mapserver. Can
>>> you help me out here?
>>>
>>> Thanks a lot.
>>> Varun
>>>
>>> On Thu, May 21, 2009 at 12:46 PM, Roger André wrote:
>>>>
>>>> Ahh, ok.  I'm not sure in what fashion you are using TileCache, but my
>>>> experience has been with using it to create tiles to display in Google
>>>> Maps.  Google Maps uses the projection which is EPSG:900913.  I
>>>> believe there are other codes for it, but that is the one I use.
>>>>
>>>> All of my source data for the MapServer projects I make are in
>>>> EPSG:4326.  So there are 3 things I need to do in order

Re: [mapserver-users] Precache

2009-06-19 Thread Varun saraf
Hello,

I have got this (tilecache with mapserver on google maps) working
finally after a lot of problems but I now really need to know about
how to do a pre-cache of all the tiles from mapserver. I am running
tilecache 2.10 on Windows with mapserver ms4w from maptools.org. I
tried running "tilecache_seed.py" as per the suggestion above but it
always ends up in the following error

Traceback (most recent call last):
  File "C:\ms4w\Apache\cgi-bin\tilecache-2.10\tilecache_seed.py", line 9, in 
TileCache.Client.main()
  File "C:\ms4w\Apache\cgi-bin\tilecache-2.10\TileCache\Client.py", line 153, in
 main
layer = svc.layers[args[0]]
IndexError: list index out of range

Any help in this regard would be great.

Thanks,
Varun

On Fri, Jun 19, 2009 at 2:39 PM, Varun saraf wrote:
> Hi Roger,
>
> I am trying to get my mapserver and tilecache work together but its
> somehow not working. I am using the same projection as you in all my
> layers and the mapfile. (This works when I call my mapserver directly
> from google and hence the projection is right).
>
> Here is my mapfile (Only things that might be important).
>
> MAP
>    EXTENT -173 5 -45 75
>
>    IMAGETYPE PNG
>
>    PROJECTION
>      "init=epsg:4326"
>    END
>
>    WEB
>    METADATA
>     wms_srs             "EPSG:4326 EPSG:900913"
>    END
> 
>    END
>
>    LAYER
> 
>        PROJECTION
>            "init=epsg:4326"
>        END
>    END
>
> Next I added the 900913 epsg to the proj.4 of mapserver and made the
> required changes in tilecache.cfg file as you specified.
>
> [google-tiles]
> type=MapServerLayer
> mapfile=C:/ms4w/apps/QCTGIS/drawMap.map
> metaTile=true
> metaSize=2,2
> metaBuffer=0,500
> layers=tr20_d00
> spherical_mercator=true
> srs=EPSG:900913
>
> I am not sure if the linkn I am using is wrong. I have tilecache
> installed in the cgi directory of the apache server that was installed
> using "ms4". The example index.html that comes with tilecache works
> fine and I can see the images being cached. Also my mapserver directly
> works fine. Can you tell me what is it that I am doing wrong here? the
> link I use for the tileUrlTemplate in google maps is
> "http://127.0.0.1:8123/cgi-bin/tilecache-2.10/tilecache.cgi/1.0.0/google-tiles/{Y}/{X}/{Z}.png?type=google";.
> I can also see that this call gets initiated in the apache logs
> (access.log) but nothing happens therafter. I don't even know if this
> is failing at tilecache end and mapserver isn't being called at all or
> at mapserver's end where the image is not being sent by mapserver. Can
> you help me out here?
>
> Thanks a lot.
> Varun
>
> On Thu, May 21, 2009 at 12:46 PM, Roger André wrote:
>> Ahh, ok.  I'm not sure in what fashion you are using TileCache, but my
>> experience has been with using it to create tiles to display in Google
>> Maps.  Google Maps uses the projection which is EPSG:900913.  I
>> believe there are other codes for it, but that is the one I use.
>>
>> All of my source data for the MapServer projects I make are in
>> EPSG:4326.  So there are 3 things I need to do in order to make the
>> Tilecache output tiles align correctly in Gmaps.
>>
>> 1. I set both the mapfile and the layer projections to EPSG:4326.
>> MAP
>>  NAME  'v2_80m_global'
>>  PROJECTION
>>    "init=epsg:4326"
>>  END
>>
>>  LAYER
>>    NAME 'imagery'
>>    PROJECTION
>>      "init=epsg:4326"
>>    END
>> 
>>
>> 2. I explicity allow for a wms request to be made for the layer in
>> EPSG:900913 by setting the following in my MapServer LAYER:
>>    METADATA
>>      "wms_srs"             "EPSG:4326 EPSG:900913"
>> 
>>
>> 3. I define my TileCache layer so that it requests images from
>> Mapserver in EPSG:900913.
>> [v2_20m_global]
>> type=MapServerLayer
>> mapfile=/var/www/mapfiles/v2_20m_global/v2_20m_global.map
>> metaTile=true
>> metaSize=2,2
>> metaBuffer=0,500
>> layers=imagery
>> spherical_mercator=true
>> srs=EPSG:900913
>>
>> That's what works for me.
>>
>> Roger
>> --
>>
>> On Thu, May 21, 2009 at 5:24 AM, Chad Clabaugh  
>> wrote:
>>> Thank you Roger, for your response.  I have done that but I do not
>>> understand how tilecache works.  The images that are returned from mapserver
>>> line up perfectly. But the images returned from tilecache do not align very
>>> well (they're distorted).  If tilecache is simply cac

Re: [mapserver-users] Precache

2009-06-19 Thread Varun saraf
Hi Roger,

I am trying to get my mapserver and tilecache work together but its
somehow not working. I am using the same projection as you in all my
layers and the mapfile. (This works when I call my mapserver directly
from google and hence the projection is right).

Here is my mapfile (Only things that might be important).

MAP
EXTENT -173 5 -45 75

IMAGETYPE PNG

PROJECTION
  "init=epsg:4326"
END

WEB
METADATA
 wms_srs "EPSG:4326 EPSG:900913"
END

END

LAYER

PROJECTION
"init=epsg:4326"
END
END

Next I added the 900913 epsg to the proj.4 of mapserver and made the
required changes in tilecache.cfg file as you specified.

[google-tiles]
type=MapServerLayer
mapfile=C:/ms4w/apps/QCTGIS/drawMap.map
metaTile=true
metaSize=2,2
metaBuffer=0,500
layers=tr20_d00
spherical_mercator=true
srs=EPSG:900913

I am not sure if the linkn I am using is wrong. I have tilecache
installed in the cgi directory of the apache server that was installed
using "ms4". The example index.html that comes with tilecache works
fine and I can see the images being cached. Also my mapserver directly
works fine. Can you tell me what is it that I am doing wrong here? the
link I use for the tileUrlTemplate in google maps is
"http://127.0.0.1:8123/cgi-bin/tilecache-2.10/tilecache.cgi/1.0.0/google-tiles/{Y}/{X}/{Z}.png?type=google";.
I can also see that this call gets initiated in the apache logs
(access.log) but nothing happens therafter. I don't even know if this
is failing at tilecache end and mapserver isn't being called at all or
at mapserver's end where the image is not being sent by mapserver. Can
you help me out here?

Thanks a lot.
Varun

On Thu, May 21, 2009 at 12:46 PM, Roger André wrote:
> Ahh, ok.  I'm not sure in what fashion you are using TileCache, but my
> experience has been with using it to create tiles to display in Google
> Maps.  Google Maps uses the projection which is EPSG:900913.  I
> believe there are other codes for it, but that is the one I use.
>
> All of my source data for the MapServer projects I make are in
> EPSG:4326.  So there are 3 things I need to do in order to make the
> Tilecache output tiles align correctly in Gmaps.
>
> 1. I set both the mapfile and the layer projections to EPSG:4326.
> MAP
>  NAME  'v2_80m_global'
>  PROJECTION
>    "init=epsg:4326"
>  END
>
>  LAYER
>    NAME 'imagery'
>    PROJECTION
>      "init=epsg:4326"
>    END
> 
>
> 2. I explicity allow for a wms request to be made for the layer in
> EPSG:900913 by setting the following in my MapServer LAYER:
>    METADATA
>      "wms_srs"             "EPSG:4326 EPSG:900913"
> 
>
> 3. I define my TileCache layer so that it requests images from
> Mapserver in EPSG:900913.
> [v2_20m_global]
> type=MapServerLayer
> mapfile=/var/www/mapfiles/v2_20m_global/v2_20m_global.map
> metaTile=true
> metaSize=2,2
> metaBuffer=0,500
> layers=imagery
> spherical_mercator=true
> srs=EPSG:900913
>
> That's what works for me.
>
> Roger
> --
>
> On Thu, May 21, 2009 at 5:24 AM, Chad Clabaugh  wrote:
>> Thank you Roger, for your response.  I have done that but I do not
>> understand how tilecache works.  The images that are returned from mapserver
>> line up perfectly. But the images returned from tilecache do not align very
>> well (they're distorted).  If tilecache is simply caching the returned
>> images then I do not understand where this distortion comes from.  Any
>> thoughts?
>>
>> Thanks!
>>
>> -Original Message-
>> From: Roger André [mailto:ran...@gmail.com]
>> Sent: Wednesday, May 20, 2009 11:46 PM
>> To: Chad Clabaugh
>> Cc: mapserver-users@lists.osgeo.org
>> Subject: Re: [mapserver-users] Precache
>>
>> Your request is somewhat lacking in detail, but assuming that your
>> goal is a simple one, here is one way to accomplish this.
>>
>> 1. Create a MapServer project that displays your shapefile in whatever
>> style you choose.
>> 2. Setup a TileCache instance that points to your MapServer project.
>> 3. Run the tilecache_seed.py script to pre-generate tiles.
>>
>> Roger
>> --
>>
>> On Wed, May 20, 2009 at 12:16 PM, Chad Clabaugh 
>> wrote:
>>> How can I precache tile images from shapefiles?
>>>
>>>
>>>
>>> Thanks
>>>
>>>
>>>
>>> Chad Clabaugh
>>>
>>> Technical Support, Engineering
>>>
>>> Office: 260.760.6398
>>>
>>> Mobile: 260.466.8861
>>>
>>>
>>>
>>> ___
>>> mapserver-users mailing list
>>> mapserver-users@lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>>>
>>
>>
>>
> ___
> mapserver-users mailing list
> mapserver-users@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] Finding the centroid given the feature

2009-06-02 Thread Varun saraf
I had my mapfile extent changed and it worked "Perfect". Thanks a lot
Steve. It was a great help!

On Tue, Jun 2, 2009 at 4:16 PM, Varun saraf  wrote:
> Thanks a lot Steve. I am able to use the itemquery to fetch the other
> attributes correctly but somehow, the center of polygon isn't working
> right. Its returning to me, the co-ordinates that are outside the
> bounds of the mapping application. All my data is in the actual
> geographic co-ordinate system followed by Google maps and it returns a
> latitude/longitude pair corresponsing to some place in Antarctica. Any
> idea on what might be wrong?
>
> On Tue, Jun 2, 2009 at 1:50 PM, Steve Lime  wrote:
>> Yes, you'd need to create a template for that. You could return JSON, XML, 
>> csv or whatever. This would
>> be the most straightfoward using 5.2 or ideally 5.4.1 (due out today) and 
>> the new style templates. You
>> could create a template output format to use like so:
>>
>> OUTPUTFORMAT
>>  NAME 'geom_center'
>>  DRIVER 'TEMPLATE'
>>  MIMETYPE 'text/plain'
>>  FORMATOPTION 'FILE=geom_center.tmpl'
>> END
>>
>> where geom_center.tmpl might look like:
>>
>> 
>> [shpmidx],[shpmidy]
>>
>> and your query would look like:
>>
>> http://.../cgi-bin/mapserv?map=foo.map&...itemquery 
>> stuff...&qformat=geom_center
>>
>> Steve
>>
>>>>> On 6/2/2009 at 12:17 PM, in message
>> <6db14d250906021017kb56f49ak36b4d0e4be417...@mail.gmail.com>, Varun saraf
>>  wrote:
>>> Center of the geometry works perfect. I need to get access to any
>>> point inside the polygon feature. I believe I can use an itemQuery on
>>> mapserver to query the attribute but how does mapserver return the
>>> center point? Do I need to create an HTML template for that too?
>>>
>>> On Mon, Jun 1, 2009 at 4:11 PM, Steve Lime  
>>> wrote:
>>>> MapServer templates can produce a center point for a geometry but it's not 
>>>> a
>>> true centroid but those
>>>> aren't guaranteed to be "in" the polygon. MapScript could be used as well I
>>> suppose. In either case you'd
>>>> send a lookup request to the CGI or MapScript, do an attribute query and
>>> return whatever you'd need.
>>>>
>>>> Steve
>>>>
>>>>>>> On 5/29/2009 at 9:32 AM, in message
>>>> <6db14d250905290732pb01747wce200eddfe73d...@mail.gmail.com>, Varun saraf
>>>>  wrote:
>>>>> I am using mapserver 5.0 with google maps and the data source is the
>>>>> US Census tracts as shape files and dbf files.
>>>>>
>>>>> On Thu, May 28, 2009 at 2:12 PM, Steve Lime 
>>>>> wrote:
>>>>>> What version are you using? What data source?
>>>>>>
>>>>>> Steve
>>>>>>
>>>>>>>>> On 5/28/2009 at 10:01 AM, in message
>>>>>> <6db14d250905280801q3660a6a7ycbcd5f5a238c5...@mail.gmail.com>, Varun 
>>>>>> saraf
>>>>>>  wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I know mapserver uses a point-in-polygon method to find a feature
>>>>>>> given a set of co-ordinates, but can it do the same thing reversed?
>>>>>>> For example. Each polygon I draw has a number associated with it which
>>>>>>> is in a "dbf" file with the same name as the "shp" file that mapserver
>>>>>>> uses to draw the polygons. My current map file allows me to fetch that
>>>>>>> unique number whenever I pass the co-ordinates of any point inside
>>>>>>> that polygon (mapserver uses the point-in-polygon method to fetch me
>>>>>>> the polygonID). The query I use is
>>>>>>>
>>>>>>> http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/workshop-5.0/testMa
>>>>>>> p.map&mode=query&mapxy=-77.098617
>>>>>>> 38.87795
>>>>>>>
>>>>>>> where mapxy keeps changing based on the user's click. The html
>>>>>>> template I send just has the variable name [polygonID] which helps me
>>>>>>> get the polygon ID of the point I specify in the mapxy variable. Now,
>>>>>>> is there a way in which I can send this polygonID to mapserver and get
>>>>>>> hold of any point (perhaps the centroid) inside of this polygon? Can
>>>>>>> someone point me in the right direction here?
>>>>>>>
>>>>>>> Thanks a lot.
>>>>>>>
>>>>>>> -Varun
>>>>>>> ___
>>>>>>> mapserver-users mailing list
>>>>>>> mapserver-users@lists.osgeo.org
>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>>>
>>>>>>
>>>>> ___
>>>>> mapserver-users mailing list
>>>>> mapserver-users@lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>
>>>>
>>> ___
>>> mapserver-users mailing list
>>> mapserver-users@lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] Finding the centroid given the feature

2009-06-02 Thread Varun saraf
Thanks a lot Steve. I am able to use the itemquery to fetch the other
attributes correctly but somehow, the center of polygon isn't working
right. Its returning to me, the co-ordinates that are outside the
bounds of the mapping application. All my data is in the actual
geographic co-ordinate system followed by Google maps and it returns a
latitude/longitude pair corresponsing to some place in Antarctica. Any
idea on what might be wrong?

On Tue, Jun 2, 2009 at 1:50 PM, Steve Lime  wrote:
> Yes, you'd need to create a template for that. You could return JSON, XML, 
> csv or whatever. This would
> be the most straightfoward using 5.2 or ideally 5.4.1 (due out today) and the 
> new style templates. You
> could create a template output format to use like so:
>
> OUTPUTFORMAT
>  NAME 'geom_center'
>  DRIVER 'TEMPLATE'
>  MIMETYPE 'text/plain'
>  FORMATOPTION 'FILE=geom_center.tmpl'
> END
>
> where geom_center.tmpl might look like:
>
> 
> [shpmidx],[shpmidy]
>
> and your query would look like:
>
> http://.../cgi-bin/mapserv?map=foo.map&...itemquery 
> stuff...&qformat=geom_center
>
> Steve
>
>>>> On 6/2/2009 at 12:17 PM, in message
> <6db14d250906021017kb56f49ak36b4d0e4be417...@mail.gmail.com>, Varun saraf
>  wrote:
>> Center of the geometry works perfect. I need to get access to any
>> point inside the polygon feature. I believe I can use an itemQuery on
>> mapserver to query the attribute but how does mapserver return the
>> center point? Do I need to create an HTML template for that too?
>>
>> On Mon, Jun 1, 2009 at 4:11 PM, Steve Lime  
>> wrote:
>>> MapServer templates can produce a center point for a geometry but it's not a
>> true centroid but those
>>> aren't guaranteed to be "in" the polygon. MapScript could be used as well I
>> suppose. In either case you'd
>>> send a lookup request to the CGI or MapScript, do an attribute query and
>> return whatever you'd need.
>>>
>>> Steve
>>>
>>>>>> On 5/29/2009 at 9:32 AM, in message
>>> <6db14d250905290732pb01747wce200eddfe73d...@mail.gmail.com>, Varun saraf
>>>  wrote:
>>>> I am using mapserver 5.0 with google maps and the data source is the
>>>> US Census tracts as shape files and dbf files.
>>>>
>>>> On Thu, May 28, 2009 at 2:12 PM, Steve Lime 
>>>> wrote:
>>>>> What version are you using? What data source?
>>>>>
>>>>> Steve
>>>>>
>>>>>>>> On 5/28/2009 at 10:01 AM, in message
>>>>> <6db14d250905280801q3660a6a7ycbcd5f5a238c5...@mail.gmail.com>, Varun saraf
>>>>>  wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I know mapserver uses a point-in-polygon method to find a feature
>>>>>> given a set of co-ordinates, but can it do the same thing reversed?
>>>>>> For example. Each polygon I draw has a number associated with it which
>>>>>> is in a "dbf" file with the same name as the "shp" file that mapserver
>>>>>> uses to draw the polygons. My current map file allows me to fetch that
>>>>>> unique number whenever I pass the co-ordinates of any point inside
>>>>>> that polygon (mapserver uses the point-in-polygon method to fetch me
>>>>>> the polygonID). The query I use is
>>>>>>
>>>>>> http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/workshop-5.0/testMa
>>>>>> p.map&mode=query&mapxy=-77.098617
>>>>>> 38.87795
>>>>>>
>>>>>> where mapxy keeps changing based on the user's click. The html
>>>>>> template I send just has the variable name [polygonID] which helps me
>>>>>> get the polygon ID of the point I specify in the mapxy variable. Now,
>>>>>> is there a way in which I can send this polygonID to mapserver and get
>>>>>> hold of any point (perhaps the centroid) inside of this polygon? Can
>>>>>> someone point me in the right direction here?
>>>>>>
>>>>>> Thanks a lot.
>>>>>>
>>>>>> -Varun
>>>>>> ___
>>>>>> mapserver-users mailing list
>>>>>> mapserver-users@lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>>
>>>>>
>>>> ___
>>>> mapserver-users mailing list
>>>> mapserver-users@lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>>>
>> ___
>> mapserver-users mailing list
>> mapserver-users@lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] Finding the centroid given the feature

2009-06-02 Thread Varun saraf
Center of the geometry works perfect. I need to get access to any
point inside the polygon feature. I believe I can use an itemQuery on
mapserver to query the attribute but how does mapserver return the
center point? Do I need to create an HTML template for that too?

On Mon, Jun 1, 2009 at 4:11 PM, Steve Lime  wrote:
> MapServer templates can produce a center point for a geometry but it's not a 
> true centroid but those
> aren't guaranteed to be "in" the polygon. MapScript could be used as well I 
> suppose. In either case you'd
> send a lookup request to the CGI or MapScript, do an attribute query and 
> return whatever you'd need.
>
> Steve
>
>>>> On 5/29/2009 at 9:32 AM, in message
> <6db14d250905290732pb01747wce200eddfe73d...@mail.gmail.com>, Varun saraf
>  wrote:
>> I am using mapserver 5.0 with google maps and the data source is the
>> US Census tracts as shape files and dbf files.
>>
>> On Thu, May 28, 2009 at 2:12 PM, Steve Lime 
>> wrote:
>>> What version are you using? What data source?
>>>
>>> Steve
>>>
>>>>>> On 5/28/2009 at 10:01 AM, in message
>>> <6db14d250905280801q3660a6a7ycbcd5f5a238c5...@mail.gmail.com>, Varun saraf
>>>  wrote:
>>>> Hi,
>>>>
>>>> I know mapserver uses a point-in-polygon method to find a feature
>>>> given a set of co-ordinates, but can it do the same thing reversed?
>>>> For example. Each polygon I draw has a number associated with it which
>>>> is in a "dbf" file with the same name as the "shp" file that mapserver
>>>> uses to draw the polygons. My current map file allows me to fetch that
>>>> unique number whenever I pass the co-ordinates of any point inside
>>>> that polygon (mapserver uses the point-in-polygon method to fetch me
>>>> the polygonID). The query I use is
>>>>
>>>> http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/workshop-5.0/testMa
>>>> p.map&mode=query&mapxy=-77.098617
>>>> 38.87795
>>>>
>>>> where mapxy keeps changing based on the user's click. The html
>>>> template I send just has the variable name [polygonID] which helps me
>>>> get the polygon ID of the point I specify in the mapxy variable. Now,
>>>> is there a way in which I can send this polygonID to mapserver and get
>>>> hold of any point (perhaps the centroid) inside of this polygon? Can
>>>> someone point me in the right direction here?
>>>>
>>>> Thanks a lot.
>>>>
>>>> -Varun
>>>> ___
>>>> mapserver-users mailing list
>>>> mapserver-users@lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>>>
>> ___
>> mapserver-users mailing list
>> mapserver-users@lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] Finding the centroid given the feature

2009-05-29 Thread Varun saraf
I am using mapserver 5.0 with google maps and the data source is the
US Census tracts as shape files and dbf files.

On Thu, May 28, 2009 at 2:12 PM, Steve Lime  wrote:
> What version are you using? What data source?
>
> Steve
>
>>>> On 5/28/2009 at 10:01 AM, in message
> <6db14d250905280801q3660a6a7ycbcd5f5a238c5...@mail.gmail.com>, Varun saraf
>  wrote:
>> Hi,
>>
>> I know mapserver uses a point-in-polygon method to find a feature
>> given a set of co-ordinates, but can it do the same thing reversed?
>> For example. Each polygon I draw has a number associated with it which
>> is in a "dbf" file with the same name as the "shp" file that mapserver
>> uses to draw the polygons. My current map file allows me to fetch that
>> unique number whenever I pass the co-ordinates of any point inside
>> that polygon (mapserver uses the point-in-polygon method to fetch me
>> the polygonID). The query I use is
>>
>> http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/workshop-5.0/testMa
>> p.map&mode=query&mapxy=-77.098617
>> 38.87795
>>
>> where mapxy keeps changing based on the user's click. The html
>> template I send just has the variable name [polygonID] which helps me
>> get the polygon ID of the point I specify in the mapxy variable. Now,
>> is there a way in which I can send this polygonID to mapserver and get
>> hold of any point (perhaps the centroid) inside of this polygon? Can
>> someone point me in the right direction here?
>>
>> Thanks a lot.
>>
>> -Varun
>> ___
>> mapserver-users mailing list
>> mapserver-users@lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Finding the centroid given the feature

2009-05-28 Thread Varun saraf
Hi,

I know mapserver uses a point-in-polygon method to find a feature
given a set of co-ordinates, but can it do the same thing reversed?
For example. Each polygon I draw has a number associated with it which
is in a "dbf" file with the same name as the "shp" file that mapserver
uses to draw the polygons. My current map file allows me to fetch that
unique number whenever I pass the co-ordinates of any point inside
that polygon (mapserver uses the point-in-polygon method to fetch me
the polygonID). The query I use is

http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/workshop-5.0/testMap.map&mode=query&mapxy=-77.098617
38.87795

where mapxy keeps changing based on the user's click. The html
template I send just has the variable name [polygonID] which helps me
get the polygon ID of the point I specify in the mapxy variable. Now,
is there a way in which I can send this polygonID to mapserver and get
hold of any point (perhaps the centroid) inside of this polygon? Can
someone point me in the right direction here?

Thanks a lot.

-Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


Re: [mapserver-users] Re: Dynamic data loading using Google maps andMapserver

2009-05-07 Thread Varun saraf
yes my data is in lat, long. I discovered the inverse lat long in
mapxy just after sending this email and tried it. It works now but the
New problem is that the result is a little tweaked. I guess its a
problem with the projection. The tract number is not the current one
when I click somewhere on the border of a tract. The projection is not
that big a problem for me right now. I need to get this thing up and
running by EOD with google maps (The dynamic clicking on the map etc).

Thanks a lot for the prompt reply.

On Thu, May 7, 2009 at 1:32 PM, Steve Lime  wrote:
> Something's backwards, you're mapxy is 38.87795, -77.098617 but your extents 
> are neg,pos,neg,pos? Also
> is your data in lat/lon?
>
> Steve
>
>>>> On 5/7/2009 at 12:27 PM, in message
> <6db14d250905071027j7ff0aac8j30edeb7f8c938...@mail.gmail.com>, Varun saraf
>  wrote:
>> Hi All,
>>
>> I am trying to integrate the census tracts on the google maps base. I
>> am using the tile mode and have successfully drawn the shape files
>> over the states of USA. I have some data in an access database that I
>> need to show to the user when he selects a particular census tract
>> (the shapes are polygons). However, since its a tile mode that I am
>> using on google maps, I am unable to understand how do I get the
>> information from mapserver as to which census tract was selected by
>> the user? Is there a way mapserver can send me the polygon selected
>> based on a co-ordinate lying inside the polygon? I know there is a way
>> by using queries and a querymap for doing this. The query that I am
>> using is as follows
>>
>> http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/census/testMap.map&;
>> mode=query&mapxy=38.87795
>> -77.098617
>>
>> I am providing a template in my map file that has the tract variables.
>> However, the result is always the same
>>
>> "msQueryByPoint(): Search returned no results. No matching record(s)
>> found." Is it that mapserver is trying to look for a point feature in
>> the location specifies by mapxy in the link above? How do I make
>> mapserver to look for a polygon enclosing this co-ordinate and return
>> me the result? I am attaching my mapfile also for reference.
>>
>> MAP
>>     NAME testMap
>>     STATUS ON
>>     SIZE 600 300
>>     EXTENT -84 37 -75 40
>>     UNITS DD
>>     SHAPEPATH "data"
>>     IMAGECOLOR 255 255 255
>>     CONFIG "MS_ERRORFILE" "ms_error.txt"
>>
>>     IMAGETYPE PNG
>>
>>     WEB
>>       IMAGEPATH "/ms4w/tmp/ms_tmp/"
>>       IMAGEURL "/ms_tmp/"
>>     END
>>
>>     QUERYMAP
>>         STATUS ON
>>         STYLE HILITE
>>     END
>>
>>     LAYER
>>         NAME "virginia"
>>         STATUS DEFAULT
>>         TYPE polygon
>>         DATA tr51_d00
>>         DEBUG 5
>>         TOLERANCE 1000
>>         TOLERANCEUNITS pixels
>>
>>         TEMPLATE "bodytemplate.html"
>>         HEADER "imapheader.html"
>>         FOOTER "imapfooter.html"
>>
>>         CLASS
>>          STYLE
>>             OUTLINECOLOR 128 128 128
>>             COLOR 153 205 255
>>           END
>>          TEMPLATE "pointTemplate.html"
>>       END
>>
>>     END
>> END
>>
>> Thanks,
>> Varun
>>
>> On Mon, May 4, 2009 at 3:30 PM, Varun saraf  wrote:
>>> Hi Steve,
>>>
>>> If I provide Mapserver with a point x,y in WGS84 projection (from
>>> google maps) as a query, can mapserver give me the enclosing polygon
>>> information (using point-in-polygon method or something else)? If yes,
>>> how? I have already drawn the polygons on google map using tile mode.
>>> Can you suggest me a book/doc that helps with querying mapserver?
>>>
>>> Thanks,
>>> Varun
>>>
>>> On Sun, May 3, 2009 at 9:56 AM, Steve Lime  
>>> wrote:
>>>> Both examples show how to do this. You have to create a query using
>>>> the coordinate from Google to access MapServer. My example uses the
>>>> principle to query points but would work for polygons (which are actually
>>>> easier). You could issue straight MapServer queries:
>>>>
>>>>
>> http://.../cgi-bin/mapserv?mode=query&map=something.map&mapxy=google_x+google_y
>> &qlayer=the_polygons
>>>>
>>>> or do a WFS query. Since you're already using

Re: [mapserver-users] Re: Dynamic data loading using Google maps andMapserver

2009-05-07 Thread Varun saraf
Hi All,

I am trying to integrate the census tracts on the google maps base. I
am using the tile mode and have successfully drawn the shape files
over the states of USA. I have some data in an access database that I
need to show to the user when he selects a particular census tract
(the shapes are polygons). However, since its a tile mode that I am
using on google maps, I am unable to understand how do I get the
information from mapserver as to which census tract was selected by
the user? Is there a way mapserver can send me the polygon selected
based on a co-ordinate lying inside the polygon? I know there is a way
by using queries and a querymap for doing this. The query that I am
using is as follows

http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/census/testMap.map&mode=query&mapxy=38.87795
-77.098617

I am providing a template in my map file that has the tract variables.
However, the result is always the same

"msQueryByPoint(): Search returned no results. No matching record(s)
found." Is it that mapserver is trying to look for a point feature in
the location specifies by mapxy in the link above? How do I make
mapserver to look for a polygon enclosing this co-ordinate and return
me the result? I am attaching my mapfile also for reference.

MAP
NAME testMap
STATUS ON
SIZE 600 300
EXTENT -84 37 -75 40
UNITS DD
SHAPEPATH "data"
IMAGECOLOR 255 255 255
CONFIG "MS_ERRORFILE" "ms_error.txt"

IMAGETYPE PNG

WEB
  IMAGEPATH "/ms4w/tmp/ms_tmp/"
  IMAGEURL "/ms_tmp/"
END

QUERYMAP
STATUS ON
STYLE HILITE
END

LAYER
NAME "virginia"
STATUS DEFAULT
TYPE polygon
DATA tr51_d00
DEBUG 5
TOLERANCE 1000
TOLERANCEUNITS pixels

TEMPLATE "bodytemplate.html"
HEADER "imapheader.html"
FOOTER "imapfooter.html"

CLASS
   STYLE
  OUTLINECOLOR 128 128 128
  COLOR 153 205 255
END
   TEMPLATE "pointTemplate.html"
END

END
END

Thanks,
Varun

On Mon, May 4, 2009 at 3:30 PM, Varun saraf  wrote:
> Hi Steve,
>
> If I provide Mapserver with a point x,y in WGS84 projection (from
> google maps) as a query, can mapserver give me the enclosing polygon
> information (using point-in-polygon method or something else)? If yes,
> how? I have already drawn the polygons on google map using tile mode.
> Can you suggest me a book/doc that helps with querying mapserver?
>
> Thanks,
> Varun
>
> On Sun, May 3, 2009 at 9:56 AM, Steve Lime  wrote:
>> Both examples show how to do this. You have to create a query using
>> the coordinate from Google to access MapServer. My example uses the
>> principle to query points but would work for polygons (which are actually
>> easier). You could issue straight MapServer queries:
>>
>>  http://.../cgi-bin/mapserv?mode=query&map=something.map&mapxy=google_x+google_y&qlayer=the_polygons
>>
>> or do a WFS query. Since you're already using straight MapServer the former
>> would probably be easiest.
>>
>> Steve
>>
>>>>> Varun saraf  05/02/09 1:34 PM >>>
>> Hi,
>>
>> Thanks a lot Jim and Steve. These are great examples but I am dividing
>> each state of USA into about 1300 polygons and I need a way to find
>> which polygon is selected by the user. I tried building Gpolygons
>> using the polygon data that i have (after converting it into a GML
>> file) but it makes Google damn slow to redraw the polygons on zoom in
>> and zoom out. The tile mode in mapserver is much faster.
>>
>> Now, After I draw the polygon in tile mode using mapserver, Is there a
>> way Mapserver can return to me the specific polygon info (say
>> co-ordinates or any other data in the dbf file relating to that
>> polygon) when I select it on google map? Goggle I believe can give me
>> the exact co-ordinates of the point I clicked. Can mapserver use this
>> point location to find which polygon was selected?
>>
>> Thanks,
>> Varun
>>
>> 2009/5/2 Jim Strevinas :
>>> A beautiful example that uses the Google Maps API is:
>>>
>>> http://www.dyasdesigns.com/geoxml/gmlusa.htm
>>>
>>> It makes use of an API plugin called geoxml that can load XML data which can
>>> be produced by
>>> a WFS server. In the source code, a static GML file is used but a google
>>> search shows that it can
>>> connect to a live WFS server using the URL.
>>>
>>>> Date: Sat, 2 May 2009 09:28:01 -0500
>>>> From: steve.l...@dnr.state.mn.us
>

Re: [mapserver-users] Re: Dynamic data loading using Google maps andMapserver

2009-05-04 Thread Varun saraf
Hi Steve,

If I provide Mapserver with a point x,y in WGS84 projection (from
google maps) as a query, can mapserver give me the enclosing polygon
information (using point-in-polygon method or something else)? If yes,
how? I have already drawn the polygons on google map using tile mode.
Can you suggest me a book/doc that helps with querying mapserver?

Thanks,
Varun

On Sun, May 3, 2009 at 9:56 AM, Steve Lime  wrote:
> Both examples show how to do this. You have to create a query using
> the coordinate from Google to access MapServer. My example uses the
> principle to query points but would work for polygons (which are actually
> easier). You could issue straight MapServer queries:
>
>  http://.../cgi-bin/mapserv?mode=query&map=something.map&mapxy=google_x+google_y&qlayer=the_polygons
>
> or do a WFS query. Since you're already using straight MapServer the former
> would probably be easiest.
>
> Steve
>
>>>> Varun saraf  05/02/09 1:34 PM >>>
> Hi,
>
> Thanks a lot Jim and Steve. These are great examples but I am dividing
> each state of USA into about 1300 polygons and I need a way to find
> which polygon is selected by the user. I tried building Gpolygons
> using the polygon data that i have (after converting it into a GML
> file) but it makes Google damn slow to redraw the polygons on zoom in
> and zoom out. The tile mode in mapserver is much faster.
>
> Now, After I draw the polygon in tile mode using mapserver, Is there a
> way Mapserver can return to me the specific polygon info (say
> co-ordinates or any other data in the dbf file relating to that
> polygon) when I select it on google map? Goggle I believe can give me
> the exact co-ordinates of the point I clicked. Can mapserver use this
> point location to find which polygon was selected?
>
> Thanks,
> Varun
>
> 2009/5/2 Jim Strevinas :
>> A beautiful example that uses the Google Maps API is:
>>
>> http://www.dyasdesigns.com/geoxml/gmlusa.htm
>>
>> It makes use of an API plugin called geoxml that can load XML data which can
>> be produced by
>> a WFS server. In the source code, a static GML file is used but a google
>> search shows that it can
>> connect to a live WFS server using the URL.
>>
>>> Date: Sat, 2 May 2009 09:28:01 -0500
>>> From: steve.l...@dnr.state.mn.us
>>> To: vsaraf@gmail.com
>>> Subject: Re: [mapserver-users] Re: Dynamic data loading using Google maps
>>> andMapserver
>>> CC: mapserver-users@lists.osgeo.org
>>>
>>> One way to do that is to construct MapServer queries based on the event
>>> and submit them using AJAX. This site does just that but with OpenLayers:
>>>
>>> http://www.dnr.state.mn.us/waters/csg/index_copy.html
>>>
>>> Click on the dots and a MapServer query is done behind the scenes. If
>>> successful
>>> a little window control is populated, if not, then nothing happens. Simple
>>> templates
>>> are used to present the information.
>>>
>>> Steve
>>>
>>> >>> Varun saraf  05/01/09 11:54 AM >>>
>>> Hi,
>>>
>>> I just had a look at ImageMap Template on "Output generation"...Can
>>> this be used on google maps to get information pooped up on a
>>> mouseover or mouseclick in tile mode? If not, what is it that I can do
>>> to get a similar result when using Mapserver with google maps?
>>>
>>> Regards,
>>> Varun
>>>
>>> On Thu, Apr 30, 2009 at 6:30 PM, Varun saraf  wrote:
>>> > Hi,
>>> >
>>> > I have successfully drawn layers on of google maps as base using
>>> > mapserver. However, I am trying to figure out how to get data
>>> > dynamically displayed on the web page when a user clicks on a certain
>>> > area. For example, I have divided the entire state of virginia into
>>> > many sectors (using a polygon shp file). My requirement is that I want
>>> > data to come up on the map/web page when the user selects a particular
>>> > sector. I know google provides me with an event api for clicking on
>>> > the map but how do I pass this event to mapserver so it can send me
>>> > the label for that sector from the shape file? I need to be able to
>>> > recognize what sector the user has clicked. Is this possible using
>>> > just the mapserv cgi script and a map file or a MapScript has to be
>>> > written/used? Can someone point me in the right direction here? Even
>>> > providing the link for a previous discussion on this topic would help.
>>

Re: [mapserver-users] Re: Dynamic data loading using Google maps andMapserver

2009-05-02 Thread Varun saraf
Hi,

Thanks a lot Jim and Steve. These are great examples but I am dividing
each state of USA into about 1300 polygons and I need a way to find
which polygon is selected by the user. I tried building Gpolygons
using the polygon data that i have (after converting it into a GML
file) but it makes Google damn slow to redraw the polygons on zoom in
and zoom out. The tile mode in mapserver is much faster.

Now, After I draw the polygon in tile mode using mapserver, Is there a
way Mapserver can return to me the specific polygon info (say
co-ordinates or any other data in the dbf file relating to that
polygon) when I select it on google map? Goggle I believe can give me
the exact co-ordinates of the point I clicked. Can mapserver use this
point location to find which polygon was selected?

Thanks,
Varun

2009/5/2 Jim Strevinas :
> A beautiful example that uses the Google Maps API is:
>
> http://www.dyasdesigns.com/geoxml/gmlusa.htm
>
> It makes use of an API plugin called geoxml that can load XML data which can
> be produced by
> a WFS server. In the source code, a static GML file is used but a google
> search shows that it can
> connect to a live WFS server using the URL.
>
>> Date: Sat, 2 May 2009 09:28:01 -0500
>> From: steve.l...@dnr.state.mn.us
>> To: vsaraf@gmail.com
>> Subject: Re: [mapserver-users] Re: Dynamic data loading using Google maps
>> andMapserver
>> CC: mapserver-users@lists.osgeo.org
>>
>> One way to do that is to construct MapServer queries based on the event
>> and submit them using AJAX. This site does just that but with OpenLayers:
>>
>> http://www.dnr.state.mn.us/waters/csg/index_copy.html
>>
>> Click on the dots and a MapServer query is done behind the scenes. If
>> successful
>> a little window control is populated, if not, then nothing happens. Simple
>> templates
>> are used to present the information.
>>
>> Steve
>>
>> >>> Varun saraf  05/01/09 11:54 AM >>>
>> Hi,
>>
>> I just had a look at ImageMap Template on "Output generation"...Can
>> this be used on google maps to get information pooped up on a
>> mouseover or mouseclick in tile mode? If not, what is it that I can do
>> to get a similar result when using Mapserver with google maps?
>>
>> Regards,
>> Varun
>>
>> On Thu, Apr 30, 2009 at 6:30 PM, Varun saraf  wrote:
>> > Hi,
>> >
>> > I have successfully drawn layers on of google maps as base using
>> > mapserver. However, I am trying to figure out how to get data
>> > dynamically displayed on the web page when a user clicks on a certain
>> > area. For example, I have divided the entire state of virginia into
>> > many sectors (using a polygon shp file). My requirement is that I want
>> > data to come up on the map/web page when the user selects a particular
>> > sector. I know google provides me with an event api for clicking on
>> > the map but how do I pass this event to mapserver so it can send me
>> > the label for that sector from the shape file? I need to be able to
>> > recognize what sector the user has clicked. Is this possible using
>> > just the mapserv cgi script and a map file or a MapScript has to be
>> > written/used? Can someone point me in the right direction here? Even
>> > providing the link for a previous discussion on this topic would help.
>> >
>> > Thanks,
>> > Varun
>> >
>> ___
>> mapserver-users mailing list
>> mapserver-users@lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>> ___
>> mapserver-users mailing list
>> mapserver-users@lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
> 
> Invite your mail contacts to join your friends list with Windows Live
> Spaces. It's easy! Try it!
> ___
> mapserver-users mailing list
> mapserver-users@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Re: Dynamic data loading using Google maps and Mapserver

2009-05-01 Thread Varun saraf
Hi,

I just had a look at ImageMap Template on "Output generation"...Can
this be used on google maps to get information pooped up on a
mouseover or mouseclick in tile mode? If not, what is it that I can do
to get a similar result when using Mapserver with google maps?

Regards,
Varun

On Thu, Apr 30, 2009 at 6:30 PM, Varun saraf  wrote:
> Hi,
>
> I have successfully drawn layers on of google maps as base using
> mapserver. However, I am trying to figure out how to get data
> dynamically displayed on the web page when a user clicks on a certain
> area. For example, I have divided the entire state of virginia into
> many sectors (using a polygon shp file). My requirement is that I want
> data to come up on the map/web page when the user selects a particular
> sector. I know google provides me with an event api for clicking on
> the map but how do I pass this event to mapserver so it can send me
> the label for that sector from the shape file? I need to be able to
> recognize what sector the user has clicked. Is this possible using
> just the mapserv cgi script and a map file or a MapScript has to be
> written/used? Can someone point me in the right direction here? Even
> providing the link for a previous discussion on this topic would help.
>
> Thanks,
> Varun
>
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users


[mapserver-users] Dynamic data loading using Google maps and Mapserver

2009-04-30 Thread Varun saraf
Hi,

I have successfully drawn layers on of google maps as base using
mapserver. However, I am trying to figure out how to get data
dynamically displayed on the web page when a user clicks on a certain
area. For example, I have divided the entire state of virginia into
many sectors (using a polygon shp file). My requirement is that I want
data to come up on the map/web page when the user selects a particular
sector. I know google provides me with an event api for clicking on
the map but how do I pass this event to mapserver so it can send me
the label for that sector from the shape file? I need to be able to
recognize what sector the user has clicked. Is this possible using
just the mapserv cgi script and a map file or a MapScript has to be
written/used? Can someone point me in the right direction here? Even
providing the link for a previous discussion on this topic would help.

Thanks,
Varun
___
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users