<div dir="ltr">Hi,<div><br><div>Following Jukka's advice on my elevation point query, I am trying to use WMS GetFeatureInfo, </div><div><br></div><div>I've mostly got it working but have a few more questions.  (I am using MS4W 4.0.5 which includes MapServer 7.7.0)</div><div><br></div><div>I added a LAYER to my WMS map file:</div><div><br></div><div><div style="color:rgb(0,0,0);font-size:14px;line-height:19px;white-space:pre"><div style="font-family:Consolas,"Courier New",monospace">  <span style="color:rgb(121,94,38)">LAYER</span></div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(0,0,255)">PROCESSING</span> "RESAMPLE=BILINEAR"</div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(0,0,255)">NAME</span> SRTM_<span style="color:rgb(9,134,88)">3</span>_arc-second_grid</div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(121,94,38)">METADATA</span></div><div style="font-family:Consolas,"Courier New",monospace">      "<span style="color:rgb(163,21,21)">wms_title</span>"           "SRTM - 3 arc-second grid" </div><div style="font-family:Consolas,"Courier New",monospace">      "ows_extent"          "-125 24 -66 50"</div><div style="font-family:Consolas,"Courier New",monospace">      "<span style="color:rgb(163,21,21)">wms_include_items</span>"   "all"</div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(121,94,38)">END</span></div><font face="Consolas, Courier New, monospace"><br></font><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(0,0,255)">TYPE</span> <span style="color:rgb(0,16,128)">RASTER</span></div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(0,0,255)">STATUS</span> <span style="color:rgb(0,16,128)">ON</span></div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(0,0,255)">TILEINDEX</span> "srtm_3_hgt-index.shp"</div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(0,0,255)">TILEITEM</span> "Location"</div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(0,0,255)">TEMPLATE</span> "../template.html"</div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(121,94,38)">PROJECTION</span></div><div style="font-family:Consolas,"Courier New",monospace">      "init=epsg:4326"</div><div style="font-family:Consolas,"Courier New",monospace">    <span style="color:rgb(121,94,38)">END</span></div><div style="font-family:Consolas,"Courier New",monospace">  <span style="color:rgb(121,94,38)">END</span></div><div style="font-family:Consolas,"Courier New",monospace"><span style="color:rgb(121,94,38)"><br></span></div><div style=""><span style="color:rgb(121,94,38)"><font face="arial, sans-serif">and an empty template except for the </font></span></div><font face="Consolas, Courier New, monospace">
</font><div style="font-family:Consolas,"Courier New",monospace;line-height:19px"><div><span style="color:rgb(0,128,0)"><!-- MapServer Template --></span></div></div><font face="Consolas, Courier New, monospace">
</font><font face="arial, sans-serif">line.  </font><span style="font-family:arial,sans-serif">Here's my query: </span></div></div><div style="color:rgb(0,0,0);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><br></div><div style="color:rgb(0,0,0);line-height:19px;white-space:pre"><span style="color:rgb(33,33,33);white-space:pre-wrap"><font face="monospace" style=""><a href="http://localhost:8080/wms">http://localhost:8080/wms</a>?
  SERVICE=WMS&
  VERSION=1.3.0&
  REQUEST=GetFeatureInfo&
  LAYERS=SRTM_3_arc-second_grid&
  CRS=EPSG:4326&
  BBOX=</font></span><span style="color:rgb(33,33,33);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans",Helvetica,Arial,sans-serif;font-size:12px;white-space:pre-wrap">42.94,-122.09,42.95,-122.08</span><span style="color:rgb(33,33,33);white-space:pre-wrap"><font face="monospace" style="">&
  WIDTH=2&
  HEIGHT=2&
  X=1&
  Y=1&
  QUERY_LAYERS=SRTM_3_arc-second_grid</font><font face="Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica, Arial, sans-serif" style="font-size:12px">
</font></span><font face="Consolas, Courier New, monospace" style="font-size:14px"><br></font></div><div style="color:rgb(0,0,0);line-height:19px;white-space:pre"><font face="arial, sans-serif"><span style="font-size:14px">This works fine and returns the elevation I am expecting.  However, the MapServer log complains about a "degenerate rect" every time:</span></font></div><div style="color:rgb(0,0,0);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre"><br></div><div style="color:rgb(0,0,0);font-family:Consolas,"Courier New",monospace;font-size:14px;line-height:19px;white-space:pre">[Tue Nov  2 07:58:44 2021].66000 msProjectRect(): Warning: degenerate rect {-122.082500,42.942500,-122.082500,42.942500}<br></div><div><br></div><div>What am I doing wrong here?   As I posted originally, I am really only interested in a point here.</div><div><br></div><div>Thank you very much,</div><div><br></div><div>carl</div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 1, 2021 at 12:58 AM Rahkonen Jukka (MML) <<a href="mailto:jukka.rahkonen@maanmittauslaitos.fi">jukka.rahkonen@maanmittauslaitos.fi</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="FI" style="overflow-wrap: break-word;">
<div class="gmail-m_1315811357735716798WordSection1">
<p class="MsoNormal"><span>Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">The WMS GetFeatureInfo should work and the answer in gis.stackexhange seems to contain all the details that you need for making it to work.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">With WCS what you did is probably the best you can do with Mapserver. With some other servers you may get a single pixel output by using WCS slicing (subset=Long(-100)&subset=Lat(22))
 or trimming with lowerlimit=upperlimit (subset=Long(-100,-100)&subset=Lat(22,22)) but Mapserver does not support either. See
<a href="https://osgeo-org.atlassian.net/browse/GEOS-9553" target="_blank">https://osgeo-org.atlassian.net/browse/GEOS-9553</a>.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I could not find a link to an answer by Stefan Meissl about why Mapserver does not support slicing but it was about dimensions. A raster image can be considered to be two dimensional
 even when it has only one pixel, but by the WCS standard each trim is removing one dimension. Slicing DEM with two axes must return a zero dimensional result and raster formats do not support that. I still think that subsets with lower=upper limits should
 works and return a single pixel output but that does not work with either Mapserver or Geoserver. See also
<a href="https://www.mail-archive.com/search?l=mapserver-users%40lists.osgeo.org&q=subject:%22%5C%5Bmapserver%5C-users%5C%5D+WCS+GetCoverage+request+one++by+one+pixel%22&o=newest&f=1" target="_blank">
https://www.mail-archive.com/search?l=mapserver-users%40lists.osgeo.org&q=subject:%22%5C%5Bmapserver%5C-users%5C%5D+WCS+GetCoverage+request+one++by+one+pixel%22&o=newest&f=1</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">-Jukka Rahkonen-<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b>Lähettäjä:</b> MapServer-users <<a href="mailto:mapserver-users-bounces@lists.osgeo.org" target="_blank">mapserver-users-bounces@lists.osgeo.org</a>>
<b>Puolesta </b>Carl Godkin<br>
<b>Lähetetty:</b> lauantai 30. lokakuuta 2021 2.10<br>
<b>Vastaanottaja:</b> <a href="mailto:mapserver-users@lists.osgeo.org" target="_blank">mapserver-users@lists.osgeo.org</a><br>
<b>Aihe:</b> [mapserver-users] Point query from Mapserver raster<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi,<u></u><u></u></p>
<div>
<p class="MsoNormal">Now that I have my WMS and WCS servers working well (thanks, list!!), I have one more thing I would like to figure out how to do.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I want to do point queries on [Lat,Lon] points for their elevation from the terrain layer I have.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I have done some searching and come across various ideas such as Raster Query (<a href="https://mapserver.org/input/raster.html#raster-query" target="_blank">https://mapserver.org/input/raster.html#raster-query</a>) and a query template  (<a href="https://gis.stackexchange.com/questions/167239/mapserver-raster-picking-elevation-data" target="_blank">https://gis.stackexchange.com/questions/167239/mapserver-raster-picking-elevation-data</a>)
 but haven't found enough information for either to implement it.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I came up with a solution that works fine, but might be considered as going "All Around the Barn"   What works is to add an ASCII output format to my map file that serves terrain like this:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black">   
</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(121,94,38)">OUTPUTFORMAT</span><span style="font-size:10.5pt;font-family:Consolas;color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black">     
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue">NAME</span><span style="font-size:10.5pt;font-family:Consolas;color:black"> XYZ<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black">     
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue">DRIVER</span><span style="font-size:10.5pt;font-family:Consolas;color:black"> "GDAL/XYZ"<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black">     
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue">MIMETYPE</span><span style="font-size:10.5pt;font-family:Consolas;color:black"> "text/plain"<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black">     
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue">IMAGEMODE</span><span style="font-size:10.5pt;font-family:Consolas;color:black">
</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(0,16,128)">FLOAT32</span><span style="font-size:10.5pt;font-family:Consolas;color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black">     
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue">EXTENSION</span><span style="font-size:10.5pt;font-family:Consolas;color:black"> "txt"<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black">   
</span><span style="font-size:10.5pt;font-family:Consolas;color:rgb(121,94,38)">END</span><span style="font-size:10.5pt;font-family:Consolas;color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Consolas;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(121,94,38)">and then use GetCoverage on a small rectangle whose lower-left corner
</span><span style="font-size:10.5pt;color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;font-family:Arial,sans-serif;color:rgb(121,94,38)">is the point whose elevation I want:</span><span style="font-size:10.5pt;color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:9pt;font-family:"Courier New";color:rgb(33,33,33)"><a href="http://localhost:8080/wcs?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetCoverage&coverageid=SRTM_3_arc-second_grid&format=XYZ&subset=Lat(42.948,42.958)&subset=Lon(-122.086,-122.076)" target="_blank">http://localhost:8080/wcs?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetCoverage&coverageid=SRTM_3_arc-second_grid&format=XYZ&subset=Lat(42.948,42.958)&subset=Lon(-122.086,-122.076)</a></span><span style="font-size:10.5pt;color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-size:10.5pt;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-family:Arial,sans-serif;color:rgb(33,33,33)">and then take the first line of the returned output file.</span><span style="color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-family:Arial,sans-serif;color:rgb(33,33,33)">What would Mapserver best practice be for a problem like this?</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-family:Arial,sans-serif;color:rgb(33,33,33)">Thanks very much,</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="font-family:Arial,sans-serif;color:rgb(33,33,33)">carl</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:14.25pt"><span style="color:black"><u></u> <u></u></span></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div>