[mapserver-users] How to hide the "?map=servemap.map" from URL under IIS
Hi, Can anyone point out the right way to alias my mapserver URL under IIS 7? I'm not seeing it. Thanks, James ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] HOW-TO convert USGS topo to GTiff
Nice write up. Thanks for sharing that. I didn't know about turning off layers. This is the GDAL command I like to use. gdal_translate -of GTiff bm.pdf bm.tif --config GDAL_PDF_DPI 300 -co "COMPRESS=JPEG" -co "JPEG_QUALITY=85" It appears to provide a good trade-off between file size and image quality. Mike On 3/27/2014 2:00 PM, mapserver-users-requ...@lists.osgeo.org wrote: I have had several people send me follow-up emails about converting the USGS eTopos (you can download these from store.usgs.gov), so I thought it might make sense to just post this to the list as a HOW-TO. Apologies for cross-post. The challenge is to take the GeoPDF that you download from USGS and make it into a series of TIFFs you can mosaic together. This requires at least GDAL 1.8 and for full functionality you want 1.10. First, the simplest syntax would be gdal_translate topo.pdf topo.tif That would give you a GeoTiff with all the layers turned on, rendered at 150 dpi. Easy enough. However, depending on what you want, you may want to alter that. For example the GeoPDF renders differently as you zoom in; it has scale-dependent rendering. So you may want to change the dpi to a higher number. I did all mine at 300 dpi which seemed to fit a 24k rendering in ArcMap and looks nice on the screen. gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif That still has all the layers turned on though. You may want some of them off. For example, you may want to turn off the NAIP data and the UTM grid (like I did). If so you can specify certain LAYERS to turn off, first you have to figure out what they are with this (this requires GDAL 1.10): gdal_info -mdd LAYERS topo.pdf will return the metadata and a list of layers something like this: Metadata (LAYERS): LAYER_00_NAME=Map_Collar LAYER_01_NAME=Map_Collar.Map_Elements LAYER_02_NAME=Map_Frame LAYER_03_NAME=Map_Frame.Projection_and_Grids LAYER_04_NAME=Map_Frame.Projection_and_Grids.Projection_Coordinate_Values LAYER_05_NAME=Map_Frame.Projection_and_Grids.Geographic_and_Grid_Ticks LAYER_06_NAME=Map_Frame.Projection_and_Grids.Projection_Line_Mask LAYER_07_NAME=Map_Frame.Projection_and_Grids.Grid_Lines LAYER_28_NAME=Map_Frame.Land_Cover.Woodland LAYER_29_NAME=Images LAYER_30_NAME=Images.Orthoimage So I'm looking to get rid of layer 7 and layer 30. The syntax for that uses the layer name like this: gdal_translate --config GDAL_PDF_DPI 300 --config GDAL_PDF_LAYERS_OFF Map_Frame.Projection_and_Grids.Grid_Lines,Images.Orthoimage topo.pdf topo.tif This only works for the new 2011/12/13 maps. The historic maps are scanned images, so they don't have any real layers. They are just one raster image in a PDF. So you would just do gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif. What you get in both cases is an output GeoTIFF of the topo map. The map will have all the collar info, so you will then have to crop the images, remove the collars, and mosaic the slivers to get a seamless mosaic, but that is just done the same way as any other imagery collection. That process is to simply: Crop the image to its minimum size with gdalwarp Burn some null value to the remaining collar slivers with gdal_rasterize -i -burn Mosaic the neighboring tile data into the sliver with gdalwarp One other cool thing about the GeoPDF with its scale-dependent rendering is that you could create topos at different dpis (scales) and thus make your overviews look like what a 100K or 250K topo would look like (well with the new ones anyway, not the historic ones). Don't forget to RTF(riendly!)M http://www.gdal.org/frmt_pdf.html ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] HOW-TO convert USGS topo to GTiff
I have had several people send me follow-up emails about converting the USGS eTopos (you can download these from store.usgs.gov), so I thought it might make sense to just post this to the list as a HOW-TO. Apologies for cross-post. The challenge is to take the GeoPDF that you download from USGS and make it into a series of TIFFs you can mosaic together. This requires at least GDAL 1.8 and for full functionality you want 1.10. First, the simplest syntax would be gdal_translate topo.pdf topo.tif That would give you a GeoTiff with all the layers turned on, rendered at 150 dpi. Easy enough. However, depending on what you want, you may want to alter that. For example the GeoPDF renders differently as you zoom in; it has scale-dependent rendering. So you may want to change the dpi to a higher number. I did all mine at 300 dpi which seemed to fit a 24k rendering in ArcMap and looks nice on the screen. gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif That still has all the layers turned on though. You may want some of them off. For example, you may want to turn off the NAIP data and the UTM grid (like I did). If so you can specify certain LAYERS to turn off, first you have to figure out what they are with this (this requires GDAL 1.10): gdal_info -mdd LAYERS topo.pdf will return the metadata and a list of layers something like this: Metadata (LAYERS): LAYER_00_NAME=Map_Collar LAYER_01_NAME=Map_Collar.Map_Elements LAYER_02_NAME=Map_Frame LAYER_03_NAME=Map_Frame.Projection_and_Grids LAYER_04_NAME=Map_Frame.Projection_and_Grids.Projection_Coordinate_Values LAYER_05_NAME=Map_Frame.Projection_and_Grids.Geographic_and_Grid_Ticks LAYER_06_NAME=Map_Frame.Projection_and_Grids.Projection_Line_Mask LAYER_07_NAME=Map_Frame.Projection_and_Grids.Grid_Lines LAYER_28_NAME=Map_Frame.Land_Cover.Woodland LAYER_29_NAME=Images LAYER_30_NAME=Images.Orthoimage So I'm looking to get rid of layer 7 and layer 30. The syntax for that uses the layer name like this: gdal_translate --config GDAL_PDF_DPI 300 --config GDAL_PDF_LAYERS_OFF Map_Frame.Projection_and_Grids.Grid_Lines,Images.Orthoimage topo.pdf topo.tif This only works for the new 2011/12/13 maps. The historic maps are scanned images, so they don't have any real layers. They are just one raster image in a PDF. So you would just do gdal_translate --config GDAL_PDF_DPI 300 topo.pdf topo.tif. What you get in both cases is an output GeoTIFF of the topo map. The map will have all the collar info, so you will then have to crop the images, remove the collars, and mosaic the slivers to get a seamless mosaic, but that is just done the same way as any other imagery collection. That process is to simply: Crop the image to its minimum size with gdalwarp Burn some null value to the remaining collar slivers with gdal_rasterize -i -burn Mosaic the neighboring tile data into the sliver with gdalwarp One other cool thing about the GeoPDF with its scale-dependent rendering is that you could create topos at different dpis (scales) and thus make your overviews look like what a 100K or 250K topo would look like (well with the new ones anyway, not the historic ones). Don't forget to RTF(riendly!)M http://www.gdal.org/frmt_pdf.html === Michael Smith MS GISP State GIS Manager, Maine Office of GIS State of Maine, Office of Information Technology michael.smith _at_ maine.gov 207-215-5530 Board Member, Maine GeoLibrary Education Chair, Maine GIS Users Group State Rep, National States Geographic Information Council [cid:image001.jpg@01CF49A3.32BF2BC0] State House Station 145 51 Commerce Drive Augusta, ME 04333-0145 69o 47' 58.9"W 44o 21' 54.8"N <>___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Combine GetFeatureInfo for layers with same data source
hello again, some PHP could help, call the script from your client instead of mapserv-cgi: > ELSEIF ($_GET['REQUEST'] == "GetFeatureInfo" or $_GET['request'] == > "GetFeatureInfo") { > IF ($_GET['QUERY_LAYERS'] == 'Abwasser,Verbandsgebiet' OR > $_GET['QUERY_LAYERS'] == 'Verbandsgebiet,Abwasser' ) { > $url = str_replace('Abwasser,Verbandsgebiet', > 'Abwasser', $url) > $url = str_replace('Verbandsgebiet,Abwasser', > 'Abwasser', $url) > } >$answer = file_get_contents($url); >$answer = utf8_decode($answer); >ECHO $answer; > } (whole script attached) Jörg Am 27.03.2014 14:03, schrieb TDS: > Hello, > > that's the problem. The user should select one or both of them. If both, > all two layer names are send in the QUERY_LAYERS inquiry - like it should. > > Bye, TDS > > mailto:t...@tds-net.de > > 1+1=10 > You have a question? - 42 or RTFM. > Am 27.03.2014 13:58, schrieb Jörg Thomsen: >> Hi, >> >> okay, join is not what you need, sorry. >> Would it work for you if only one of the two layers is queryable? >> >> At the moment I have no idea... >> >> Jörg >> >> Am 27.03.2014 11:57, schrieb TDS: >>> Hello, >>> >>> I've read this and I'm confused of how it can work... >>> ONE-TO-ONE or ONE-TO-MANY or ... I want to have a solution *scream* If >>> both layers are queried it should be one table, because the date is the >>> same. Only the class item differs. >>> >>> >>> Example Mapfile: >>> LAYER >>> STATUSon >>> NAME"Trinkwasserversorgung" >>> TYPEPOLYGON >>> DATA"wv_wilster_84.shp" >>> DUMPtrue >>> TOLERANCE3 >>> TOLERANCEUNITSpixels >>> CLASSITEM"TW" >>> >>> HEADER"templates/header.html" >>> TEMPLATE"templates/template.html" >>> FOOTER"templates/footer.html" >>> >>> JOIN >>> NAME "Wasser" >>> TABLE "wv_wilster_84.dbf" >>> FROM "Id" >>> TO "Id" >>> TYPE ONE-TO-ONE >>> END >>> >>>CLASS >>> NAME "Trinkwasser" >>> EXPRESSION "Trinkwasser" >>> STYLE >>> COLOR 130 192 255 >>> END >>> STYLE >>> OUTLINECOLOR 120 120 120 >>> WIDTH 2 >>> ANTIALIAS TRUE >>> END >>> END >>> >>> CLASS >>> NAME "Selbstversorger" >>> STYLE >>> SYMBOL "im_schraffur" >>> END >>> EXPRESSION "Selbstversorger" >>> STYLE >>> OUTLINECOLOR 120 120 120 >>> WIDTH 2 >>> ANTIALIAS TRUE >>> END >>> END >>> >>> PROJECTION >>> "init=epsg:4326" >>> END >>> >>> METADATA >>> "wms_title""Verbandsgebiet" >>> "wms_title metadata""" >>> "wms_include_items""all" >>> "wms_srs""EPSG:4326 EPSG:54004 EPSG:41001 >>> EPSG:31467 EPSG:31468" >>> END >>> END >>> >>> LAYER >>> STATUSon >>> NAME"Abwasserentsorgung" >>> TYPEPOLYGON >>> DATA"wv_wilster_84.shp" >>> DUMPtrue >>> TOLERANCE3 >>> TOLERANCEUNITSpixels >>> CLASSITEM"AW" >>> >>> HEADER"templates/header.html" >>> TEMPLATE"templates/template.html" >>> FOOTER"templates/footer.html" >>> >>> JOIN >>> NAME "Wasser" >>> TABLE "wv_wilster_84.dbf" >>> FROM "Id" >>> TO "Id" >>> TYPE ONE-TO-ONE >>> END >>> >>> CLASS >>> NAME "Abwasser" >>> EXPRESSION "Abwasser" >>> STYLE >>> COLOR 255 128 0 >>> END >>> STYLE >>> OUTLINECOLOR 120 120 120 >>> WIDTH 2 >>> ANTIALIAS TRUE >>> END >>> END >>> >>> CLASS >>> NAME "Diverse Abwasseraufgaben" >>> STYLE >>> SYMBOL "schraffur_orange" >>> END >>> EXPRESSION "Diverse Abwasseraufgaben" >>> STYLE >>> OUTLINECOLOR 120 120 120 >>> WIDTH 2 >>> ANTIALIAS TRUE >>> END >>> END >>> >>> CLASS >>> NAME "Kein Abwasser" >>> EXPRESSION "Kein Abwasser" >>> STYLE >>> OUTLINECOLOR 120 120 120 >>> WIDTH 2 >>> ANTIALIAS TRUE >>> END >>> END >>> >>>
Re: [mapserver-users] Combine GetFeatureInfo for layers with same data source
Hello, that's the problem. The user should select one or both of them. If both, all two layer names are send in the QUERY_LAYERS inquiry - like it should. Bye, TDS mailto:t...@tds-net.de 1+1=10 You have a question? - 42 or RTFM. Am 27.03.2014 13:58, schrieb Jörg Thomsen: Hi, okay, join is not what you need, sorry. Would it work for you if only one of the two layers is queryable? At the moment I have no idea... Jörg Am 27.03.2014 11:57, schrieb TDS: Hello, I've read this and I'm confused of how it can work... ONE-TO-ONE or ONE-TO-MANY or ... I want to have a solution *scream* If both layers are queried it should be one table, because the date is the same. Only the class item differs. Example Mapfile: LAYER STATUSon NAME"Trinkwasserversorgung" TYPEPOLYGON DATA"wv_wilster_84.shp" DUMPtrue TOLERANCE3 TOLERANCEUNITSpixels CLASSITEM"TW" HEADER"templates/header.html" TEMPLATE"templates/template.html" FOOTER"templates/footer.html" JOIN NAME "Wasser" TABLE "wv_wilster_84.dbf" FROM "Id" TO "Id" TYPE ONE-TO-ONE END CLASS NAME "Trinkwasser" EXPRESSION "Trinkwasser" STYLE COLOR 130 192 255 END STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END CLASS NAME "Selbstversorger" STYLE SYMBOL "im_schraffur" END EXPRESSION "Selbstversorger" STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END PROJECTION "init=epsg:4326" END METADATA "wms_title""Verbandsgebiet" "wms_title metadata""" "wms_include_items""all" "wms_srs""EPSG:4326 EPSG:54004 EPSG:41001 EPSG:31467 EPSG:31468" END END LAYER STATUSon NAME"Abwasserentsorgung" TYPEPOLYGON DATA"wv_wilster_84.shp" DUMPtrue TOLERANCE3 TOLERANCEUNITSpixels CLASSITEM"AW" HEADER"templates/header.html" TEMPLATE"templates/template.html" FOOTER"templates/footer.html" JOIN NAME "Wasser" TABLE "wv_wilster_84.dbf" FROM "Id" TO "Id" TYPE ONE-TO-ONE END CLASS NAME "Abwasser" EXPRESSION "Abwasser" STYLE COLOR 255 128 0 END STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END CLASS NAME "Diverse Abwasseraufgaben" STYLE SYMBOL "schraffur_orange" END EXPRESSION "Diverse Abwasseraufgaben" STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END CLASS NAME "Kein Abwasser" EXPRESSION "Kein Abwasser" STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END PROJECTION "init=epsg:4326" END METADATA "wms_title""Abwasser" "wms_title metadata""" "wms_include_items""all" "wms_srs""EPSG:4326 EPSG:54004 EPSG:41001 EPSG:31467 EPSG:31468" END END Bye, TDS mailto:t...@tds-net.de 1+1=10 You have a question? - 42 or RTFM. Am 26.03.2014 21:50, schrieb j...@mapmedia.de: Hi, Referring to your signatur: rtfm ;) Try http://mapserver.org/de/mapfile/join.htm Join streets_main with the dbf of streets_sub. Read the doc carefuly, it's a bit tricky. You may find a working example under http://mapmedia.de/downloads/viewcategory/5-vortraege ( Workshop_umn...) Jörg On Wed, 26 Mar 2014 20:58:17 +0100, TDS wrote: Hello, is it possible to join two layers in GetFeatureInfo with same template and same shape file to output only one combined html file? Example: Streets_Ma
Re: [mapserver-users] Combine GetFeatureInfo for layers with same data source
Hi, okay, join is not what you need, sorry. Would it work for you if only one of the two layers is queryable? At the moment I have no idea... Jörg Am 27.03.2014 11:57, schrieb TDS: > Hello, > > I've read this and I'm confused of how it can work... > ONE-TO-ONE or ONE-TO-MANY or ... I want to have a solution *scream* If > both layers are queried it should be one table, because the date is the > same. Only the class item differs. > > > Example Mapfile: > LAYER > STATUSon > NAME"Trinkwasserversorgung" > TYPEPOLYGON > DATA"wv_wilster_84.shp" > DUMPtrue > TOLERANCE3 > TOLERANCEUNITSpixels > CLASSITEM"TW" > > HEADER"templates/header.html" > TEMPLATE"templates/template.html" > FOOTER"templates/footer.html" > > JOIN > NAME "Wasser" > TABLE "wv_wilster_84.dbf" > FROM "Id" > TO "Id" > TYPE ONE-TO-ONE > END > >CLASS > NAME "Trinkwasser" > EXPRESSION "Trinkwasser" > STYLE > COLOR 130 192 255 > END > STYLE > OUTLINECOLOR 120 120 120 > WIDTH 2 > ANTIALIAS TRUE > END > END > > CLASS > NAME "Selbstversorger" > STYLE > SYMBOL "im_schraffur" > END > EXPRESSION "Selbstversorger" > STYLE > OUTLINECOLOR 120 120 120 > WIDTH 2 > ANTIALIAS TRUE > END > END > > PROJECTION > "init=epsg:4326" > END > > METADATA > "wms_title""Verbandsgebiet" > "wms_title metadata""" > "wms_include_items""all" > "wms_srs""EPSG:4326 EPSG:54004 EPSG:41001 > EPSG:31467 EPSG:31468" > END > END > > LAYER > STATUSon > NAME"Abwasserentsorgung" > TYPEPOLYGON > DATA"wv_wilster_84.shp" > DUMPtrue > TOLERANCE3 > TOLERANCEUNITSpixels > CLASSITEM"AW" > > HEADER"templates/header.html" > TEMPLATE"templates/template.html" > FOOTER"templates/footer.html" > > JOIN > NAME "Wasser" > TABLE "wv_wilster_84.dbf" > FROM "Id" > TO "Id" > TYPE ONE-TO-ONE > END > > CLASS > NAME "Abwasser" > EXPRESSION "Abwasser" > STYLE > COLOR 255 128 0 > END > STYLE > OUTLINECOLOR 120 120 120 > WIDTH 2 > ANTIALIAS TRUE > END > END > > CLASS > NAME "Diverse Abwasseraufgaben" > STYLE > SYMBOL "schraffur_orange" > END > EXPRESSION "Diverse Abwasseraufgaben" > STYLE > OUTLINECOLOR 120 120 120 > WIDTH 2 > ANTIALIAS TRUE > END > END > > CLASS > NAME "Kein Abwasser" > EXPRESSION "Kein Abwasser" > STYLE > OUTLINECOLOR 120 120 120 > WIDTH 2 > ANTIALIAS TRUE > END > END > > PROJECTION > "init=epsg:4326" > END > > METADATA > "wms_title""Abwasser" > "wms_title metadata""" > "wms_include_items""all" > "wms_srs""EPSG:4326 EPSG:54004 EPSG:41001 > EPSG:31467 EPSG:31468" > END > END > > > > Bye, TDS > > mailto:t...@tds-net.de > > 1+1=10 > You have a question? - 42 or RTFM. > Am 26.03.2014 21:50, schrieb j...@mapmedia.de: >> >> Hi, >> >> Referring to your signatur: rtfm ;) >> >> Try http://mapserver.org/de/mapfile/join.htm >> >> Join streets_main with the dbf of streets_sub. Read the doc carefuly, >> it's a bit tricky. >> >> You may find a working example under >> http://mapmedia.de/downloads/viewcategory/5-vortraege ( >> >> Workshop_umn...) >> >> Jörg >> >> >> >> On Wed, 26 Mar 2014 20:58:17 +0100, TDS wrote: >> >>> Hello, >>> >>> >>> is it possible to join two layers in GetFeatureInfo with same >>> template and same shape file to output only one combined html file? >>> >>> Example: >>> Streets_Main => streets.shp => template.html >>> Streets_Sub => streets.shp => template.html >>> >>> OUTPUT: >>> >>> Current: >>> Output for Streets_Mains >>> Output
Re: [mapserver-users] Combine GetFeatureInfo for layers with same data source
Hello, I've read this and I'm confused of how it can work... ONE-TO-ONE or ONE-TO-MANY or ... I want to have a solution *scream* If both layers are queried it should be one table, because the date is the same. Only the class item differs. Example Mapfile: LAYER STATUS on NAME "Trinkwasserversorgung" TYPE POLYGON DATA "wv_wilster_84.shp" DUMP true TOLERANCE 3 TOLERANCEUNITS pixels CLASSITEM "TW" HEADER "templates/header.html" TEMPLATE "templates/template.html" FOOTER "templates/footer.html" JOIN NAME "Wasser" TABLE "wv_wilster_84.dbf" FROM "Id" TO "Id" TYPE ONE-TO-ONE END CLASS NAME "Trinkwasser" _expression_ "Trinkwasser" STYLE COLOR 130 192 255 END STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END CLASS NAME "Selbstversorger" STYLE SYMBOL "im_schraffur" END _expression_ "Selbstversorger" STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END PROJECTION "init=epsg:4326" END METADATA "wms_title" "Verbandsgebiet" "wms_title metadata" "" "wms_include_items" "all" "wms_srs" "EPSG:4326 EPSG:54004 EPSG:41001 EPSG:31467 EPSG:31468" END END LAYER STATUS on NAME "Abwasserentsorgung" TYPE POLYGON DATA "wv_wilster_84.shp" DUMP true TOLERANCE 3 TOLERANCEUNITS pixels CLASSITEM "AW" HEADER "templates/header.html" TEMPLATE "templates/template.html" FOOTER "templates/footer.html" JOIN NAME "Wasser" TABLE "wv_wilster_84.dbf" FROM "Id" TO "Id" TYPE ONE-TO-ONE END CLASS NAME "Abwasser" _expression_ "Abwasser" STYLE COLOR 255 128 0 END STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END CLASS NAME "Diverse Abwasseraufgaben" STYLE SYMBOL "schraffur_orange" END _expression_ "Diverse Abwasseraufgaben" STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END CLASS NAME "Kein Abwasser" _expression_ "Kein Abwasser" STYLE OUTLINECOLOR 120 120 120 WIDTH 2 ANTIALIAS TRUE END END PROJECTION "init=epsg:4326" END METADATA "wms_title" "Abwasser" "wms_title metadata" "" "wms_include_items" "all" "wms_srs" "EPSG:4326 EPSG:54004 EPSG:41001 EPSG:31467 EPSG:31468" END END Bye, TDS mailto:t...@tds-net.de 1+1=10 You have a question? - 42 or RTFM. Am 26.03.2014 21:50, schrieb j...@mapmedia.de: Hi, Referring to your signatur: rtfm ;) Try http://mapserver.org/de/mapfile/join.htm Join