Re: [MAPSERVER-USERS] Mapserver bug when generating a tiled map with MapFish
Isn't there anyone to help me with this ? 2008/8/4 Faldor [EMAIL PROTECTED] Hi all, I use Mapserver with mapfish for the client side to display shapefiles which I generated using ogr2ogr. The problem is when I try to display a tiled layer (mapfish singleTile property set to 'false'). Some tiles are generated by mapserver entirely blank ! After a few researches I think it is due to the fact that those tiles are extended across the -180°/+180° line. For exemple, here is the imgext property from one of the calls to MapServer which render a blank tile : imgext=178.59375+-1.40625+271.40625+91.40625 Do you know of a way to fix this ? Regards, Pierre-Benoît -- View this message in context: http://www.nabble.com/Mapserver-bug-when-generating-a-tiled-map-with-MapFish-tp18813432p18813432.html Sent from the Mapserver - User mailing list archive at Nabble.com. ___ 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] Mapserver bug when generating a tiled map with MapFish
Unfortunately there is no connection to internet on the platform I develop on. All is done localy. I will try to be more precise. I am trying to display a shapefile representing the whole world (it's a shapefile from Global Insight plus if it helps). I use mapfish without 'singleTile: true' so the layer is generated by tiles. There is no problem in the beggining when the map is zoomed to max extent. The problem occurs when I begin zooming in and trying to display America/Asia. One of the colums of tiles is drawn across the -180°/+180° longitude line, and those tiles are generated entirely blank (white, not even transparent). When I get the properties of the image (right-click on the blank tile - Properties) and I search in the Location of the image I can find : mapext=179.296875+44.296875+*225.703125* +90.703125imgext=179.296875+44.296875+*225.703125*+90.703125 So I guess the problem comes from that, MapServer doesn't recognise longitude greater than 180 or lower than -180. If I'm right I would appreciate any hint on how to handle this... Otherwise it may be a mapfish issue, maybe mapfish should always generate tiles with borders right on -180 / +180. This is the case at the beggining, lef tile has mapext=90+0+180+90 and right tile has mapext=-180+0+-90+90. But whenever I begin zooming in it goes awry, the border of tiles is no longer right on -180/+180 and some tiles are generated white by MapServer. If someone needs more informations I'm ready to give it. Best regards, PB 2008/8/6 Eric Lemoine [EMAIL PROTECTED] On Wed, Aug 6, 2008 at 2:28 PM, Pierre-Benoit Besse [EMAIL PROTECTED] wrote: Isn't there anyone to help me with this ? 2008/8/4 Faldor [EMAIL PROTECTED] Hi all, I use Mapserver with mapfish for the client side to display shapefiles which I generated using ogr2ogr. The problem is when I try to display a tiled layer (mapfish singleTile property set to 'false'). Some tiles are generated by mapserver entirely blank ! After a few researches I think it is due to the fact that those tiles are extended across the -180°/+180° line. For exemple, here is the imgext property from one of the calls to MapServer which render a blank tile : imgext=178.59375+-1.40625+271.40625+91.40625 Do you know of a way to fix this ? This is not enough information for anyone to help you. Could you provide a link or a web page to help people see what's going on? -- Eric ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [MAPSERVER-USERS] Displaying population density with Mapserver
Hi David, I tried WGS84 yesterday after a little research on projection, but it didn't change anything. I tried re-generating the shapefile with WGS84 projection but it's still the same. In fact, my data comes from GPW v3 ( http://sedac.ciesin.columbia.edu/gpw/global.jsp) but I didn't find any clue on the projection used, I suppose there is none as you say. When you speak about translating ground units, do you mean I have to translate my shapefile from degrees to, say, kilometers before I can use SIZEUNITS kilometers ? I thought it could be done dynamically by MapServer. I found a tutorial about this, I will try it anyway (assuming my data is WGS84) and give you the outcome :) I attached my mapfile this time, just in case I made a noob mistake somewhere... thank you very much ! Faldor 2008/5/28 Fawcett, David [EMAIL PROTECTED]: Faldor, When you have point coordinates stored in a text file, there really is no way to encode/attach the projection definition. Even if you could, it doesn't sound like you really know what spatial reference system (SRS) or projection that it is in. The key to projecting to another SRS or translating ground units to another measure (from degrees to meters) is knowing what the current SRS of the data is. Since your data is worldwide and it is unprojected (lat/lon), a good first guess would be to assume that it is unprojected with using the WGS84. Try defining your layer projection by including this block in your layer definition. PROJECTION init=epsg:4326 END David. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pierre-Benoit Besse Sent: Wednesday, May 28, 2008 4:11 AM To: Fawcett, David Cc: mapserver-users@lists.osgeo.org Subject: Re: [MAPSERVER-USERS] Displaying population density with Mapserver Well, I confess, I'm new to GIS applications and I do not know a lot about projections. I understand I have to tell MapServer what is the projection of each layer I use in the mapfile, but using ogrinfo on my shapefiles tells me that : Layer name: pop_density Geometry: Point Feature Count: 249937 Extent: (-180.00, -56.00) - (179.75, 83.50) Layer SRS WKT: (unknown) latitude: Real (24.15) longitude: Real (24.15) densite: Real (24.15) I generated this shapefile from a CSV file with 3 columns : latitude, longitude, density_value. Did I have to define a projection then ? How do I do that ? Best regards, Faldor 2008/5/27 Fawcett, David [EMAIL PROTECTED]: Have you defined an output projection for your map and input projections for each of your layers? It is likely that MapServer needs to know what the input projection/SRS is before it can translate to different units. David. -Original Message- From: Pierre-Benoit Besse [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 27, 2008 11:26 AM To: Fawcett, David Cc: Ritesh Ambastha; mapserver-users@lists.osgeo.org Subject: Re: [MAPSERVER-USERS] Displaying population density with Mapserver Ha, well, I prefer that :) I would need a lot of layer definitions to obtain something ok... But I just tried the ground units stuff, I tried with a 50 kilometers wide square and it drew squares the size of ASIA !! oO I had to define a 1 feet wide square to obtain something more or less ok... Does anybody know why ? Aside from that It seems to work, thank you ! I will try the scalesymbol stuff tomorrow. Regards 2008/5/27 Fawcett, David [EMAIL PROTECTED]: Before you create lots of different layers to simulate symbol scaling, you may want to try something else. It has been a long time since I have played with scaled symbols, but give it a try. You should be able to scale the symbols by setting a SYMBOLSCALE in the LAYER object. This is the scale at which you want the symbol to appear at the SIZE stated in the map file. You may want to modify STYLE MAXSIZE if you think that you will want your symbols to be larger than 50 pixels. Another completely different approach that just came to my mind would be to use ground units (e.g. meters) to set the size of your symbol. To do this, set LAYER SIZEUNITS to meters. Calculate the size of a symbol in meters on the ground that will touch adjacent symbols, or give you the desired amount of space between the symbols. That way, the symbols should scale consistently. David. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ritesh Ambastha Sent: Tuesday, May 27, 2008 10:16 AM To: mapserver-users@lists.osgeo.org Subject: Re: [MAPSERVER-USERS] Displaying population density with Mapserver Dear Faldor, Robert is absolutely right. You will have to make different LAYERS for the same POINT layer. But, define MAX/MINSCALE for each Layer. Change STYLE - SIZE values in each of the layer. You are done !! Cheers ! Ambastha Faldor wrote: Yes, but I need them to adapt for different extents
Re: [MAPSERVER-USERS] Displaying population density with Mapserver
ALRIGHT !! It was a noob mistake indeed, I did not specify UNITS in the MAP object. In fact I thought Mapserver could know it from the shapefile. Thank you very much, it works fine now :) Faldor 2008/5/29 Fawcett, David [EMAIL PROTECTED]: MapServer should do the conversion on the fly, my point was just that MapServer needs to know what SRS (and units) that the data is in, so it can make the translation. Can you post the text of your map file? David. -Original Message- *From:* Pierre-Benoit Besse [mailto:[EMAIL PROTECTED] *Sent:* Thursday, May 29, 2008 2:51 AM *To:* Fawcett, David *Cc:* mapserver-users@lists.osgeo.org *Subject:* Re: [MAPSERVER-USERS] Displaying population density with Mapserver Hi David, I tried WGS84 yesterday after a little research on projection, but it didn't change anything. I tried re-generating the shapefile with WGS84 projection but it's still the same. In fact, my data comes from GPW v3 ( http://sedac.ciesin.columbia.edu/gpw/global.jsp) but I didn't find any clue on the projection used, I suppose there is none as you say. When you speak about translating ground units, do you mean I have to translate my shapefile from degrees to, say, kilometers before I can use SIZEUNITS kilometers ? I thought it could be done dynamically by MapServer. I found a tutorial about this, I will try it anyway (assuming my data is WGS84) and give you the outcome :) I attached my mapfile this time, just in case I made a noob mistake somewhere... thank you very much ! Faldor 2008/5/28 Fawcett, David [EMAIL PROTECTED]: Faldor, When you have point coordinates stored in a text file, there really is no way to encode/attach the projection definition. Even if you could, it doesn't sound like you really know what spatial reference system (SRS) or projection that it is in. The key to projecting to another SRS or translating ground units to another measure (from degrees to meters) is knowing what the current SRS of the data is. Since your data is worldwide and it is unprojected (lat/lon), a good first guess would be to assume that it is unprojected with using the WGS84. Try defining your layer projection by including this block in your layer definition. PROJECTION init=epsg:4326 END David. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pierre-Benoit Besse Sent: Wednesday, May 28, 2008 4:11 AM To: Fawcett, David Cc: mapserver-users@lists.osgeo.org Subject: Re: [MAPSERVER-USERS] Displaying population density with Mapserver Well, I confess, I'm new to GIS applications and I do not know a lot about projections. I understand I have to tell MapServer what is the projection of each layer I use in the mapfile, but using ogrinfo on my shapefiles tells me that : Layer name: pop_density Geometry: Point Feature Count: 249937 Extent: (-180.00, -56.00) - (179.75, 83.50) Layer SRS WKT: (unknown) latitude: Real (24.15) longitude: Real (24.15) densite: Real (24.15) I generated this shapefile from a CSV file with 3 columns : latitude, longitude, density_value. Did I have to define a projection then ? How do I do that ? Best regards, Faldor 2008/5/27 Fawcett, David [EMAIL PROTECTED]: Have you defined an output projection for your map and input projections for each of your layers? It is likely that MapServer needs to know what the input projection/SRS is before it can translate to different units. David. -Original Message- From: Pierre-Benoit Besse [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 27, 2008 11:26 AM To: Fawcett, David Cc: Ritesh Ambastha; mapserver-users@lists.osgeo.org Subject: Re: [MAPSERVER-USERS] Displaying population density with Mapserver Ha, well, I prefer that :) I would need a lot of layer definitions to obtain something ok... But I just tried the ground units stuff, I tried with a 50 kilometers wide square and it drew squares the size of ASIA !! oO I had to define a 1 feet wide square to obtain something more or less ok... Does anybody know why ? Aside from that It seems to work, thank you ! I will try the scalesymbol stuff tomorrow. Regards 2008/5/27 Fawcett, David [EMAIL PROTECTED]: Before you create lots of different layers to simulate symbol scaling, you may want to try something else. It has been a long time since I have played with scaled symbols, but give it a try. You should be able to scale the symbols by setting a SYMBOLSCALE in the LAYER object. This is the scale at which you want the symbol to appear at the SIZE stated in the map file. You may want to modify STYLE MAXSIZE if you think that you will want your symbols to be larger than 50 pixels. Another completely different approach that just came to my mind would be to use ground units (e.g. meters) to set the size of your symbol. To do this, set LAYER SIZEUNITS to meters. Calculate the size of a symbol in meters