<div dir="ltr"><div>Hi Jukka,</div><div>I use the library within a web application not a desktop application.</div><div>At the moment I am developing with NetBeans: I don't find any place where to specify the numeric separator.</div><div><br></div><div>However, the faulty code in <b>mapObj.java:397</b> is</div><div><b><font size="2"><span style="font-family:monospace">long cPtr = mapscriptJNI.mapObj_draw(swigCPtr, this);</span></font></b></div><div>and <b>mapscriptJNI</b> is generated by SWIG, which is a C/C++ wrapper, so the JAVA_OPT is unlikely to be used.<br></div><div><br></div><div>Francesco<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno gio 27 gen 2022 alle ore 12:13 Rahkonen Jukka (MML) <<a href="mailto:jukka.rahkonen@maanmittauslaitos.fi">jukka.rahkonen@maanmittauslaitos.fi</a>> ha scritto:<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 style="overflow-wrap: break-word;" lang="FI">
<div class="gmail-m_9219442774282526548WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi,<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">Have you considered to change the locale with your own code as first aid?  I do not know how to do that but some desktop application seems to do that with Java options<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">rem --- uncomment and change your language/country here to overwrite OS locale setting ---<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">set JAVA_OPTS=%JAVA_OPTS% -Duser.language=en -Duser.country=EN<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><u></u> <u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0cm 0cm">
<p class="MsoNormal"><b>Lähettäjä:</b> MapServer-dev <<a href="mailto:mapserver-dev-bounces@lists.osgeo.org" target="_blank">mapserver-dev-bounces@lists.osgeo.org</a>>
<b>Puolesta </b>Francesco Martinelli<br>
<b>Lähetetty:</b> torstai 27. tammikuuta 2022 12.07<br>
<b>Vastaanottaja:</b> MapServer Dev List <<a href="mailto:mapserver-dev@lists.osgeo.org" target="_blank">mapserver-dev@lists.osgeo.org</a>><br>
<b>Aihe:</b> [mapserver-dev] msPostGISLayerWhichShapes() Error : java library set wrong query<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Dear developers,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I have an issue with the java library on the call to <b>mapObj.draw()</b>, of
<b>mapserver 7.6.4</b>, compiled and running on Ubuntu 20.04<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Apparently it is "sensible" to the locale which is:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">$ localectl<br>
   System Locale: LANG=it_IT.UTF-8<br>
       VC Keymap: n/a<br>
      X11 Layout: it<br>
       X11 Model: pc105<br>
$ locale -c decimal_point<br>
LC_NUMERIC<br>
,<br>
$<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I already asked the mapserver-users list, but without success.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><b>Here is the code</b>:<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">    mapObj myMap = new mapObj("myMapFile.map");<br>
    rectObj originalMapView = myMap.getExtent();<br>
    <br>
    rectObj maxView = new rectObj(-1, -1, -1, -1, myMap.getUnits().swigValue());<br>
    maxView.setMinx(originalMapView.getMinx());<br>
    maxView.setMaxx(originalMapView.getMaxx());<br>
    maxView.setMiny(originalMapView.getMiny());<br>
    maxView.setMaxy(originalMapView.getMaxy());<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">    rectObj myView = new rectObj(-1, -1, -1, -1, 3);<br>
    myView.setMinx(<b>774076.75</b>);<br>
    myView.setMaxx(<b>1014076.75</b>);<br>
    myView.setMiny(<b>4875124.5</b>);<br>
    myView.setMaxy(<b>5115124.5</b>);<u></u><u></u></p>
</div>
<p class="MsoNormal">    myMap.setExtent(myView);<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">    myMap.setSize(600, 600);<br>
<br>
    pointObj mousePosition = new pointObj(300, 300, 0);<br>
    myMap.zoomPoint(1, mousePosition, 600, 600, myView, maxView);<u></u><u></u></p>
</div>
<p class="MsoNormal">    myMap.draw();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><b>resulting in the error</b>:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><b>java.lang.UnknownError: msDrawMap():</b> Image handling error. Failed to draw layer named 'MyLayer'.;<b>msPostGISLayerWhichShapes(): Query error</b>. Error executing query. Check server logs<br>
edu.umn.gis.mapscript.mapscriptJNI.mapObj_draw(Native Method)<br>
edu.umn.gis.mapscript.mapObj.draw(mapObj.java:397)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><b>and in the ERROR file</b>:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">[Wed Jan 26 17:14:19 2022].569532 msPostGISLayerWhichShapes(): Error (ERROR:  parse error - invalid geometry<br>
HINT:  "POLYGON((774076,75" <-- parse error at position 18 within geometry<br>
) executing query: select "my_column"::text,ST_AsBinary(("the_geom"),'NDR') as geom,"gid"::text from (SELECT * FROM classi_comuni WHERE tipo_area = 2 ORDER BY tipo_area DESC) AS confini where "the_geom" && ST_GeomFromText('<b>POLYGON((774076,75 4875124,5,774076,75
 5115124,5,1014076,75 5115124,5,1014076,75 4875124,5,774076,75 4875124,5))</b>',find_srid('','classi_comuni','the_geom'))<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">As far as I understand the correct query should be (in
<b><span style="color:black;background:red none repeat scroll 0% 0%">red</span></b> the changes):<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">select "my_column"::text,ST_AsBinary(("the_geom"),'NDR') as geom,"gid"::text from (SELECT * FROM classi_comuni WHERE tipo_area = 2 ORDER BY tipo_area DESC) AS confini where "the_geom"
 && ST_GeomFromText('<b>POLYGON((774076<span style="color:black;background:red none repeat scroll 0% 0%">.</span>75 4875124<span style="color:black;background:red none repeat scroll 0% 0%">.</span>5,774076<span style="color:black;background:red none repeat scroll 0% 0%">.</span>75 5115124<span style="color:black;background:red none repeat scroll 0% 0%">.</span>5,1014076<span style="color:black;background:red none repeat scroll 0% 0%">.</span>75
 5115124<span style="color:black;background:red none repeat scroll 0% 0%">.</span>5,1014076<span style="color:black;background:red none repeat scroll 0% 0%">.</span>75 4875124.5,774076<span style="color:black;background:red none repeat scroll 0% 0%">.</span>75 4875124<span style="color:black;background:red none repeat scroll 0% 0%">.</span>5</b>))',find_srid('','classi_comuni','the_geom'))<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<div>
<p class="MsoNormal">I think the following parameters in mapfile could be of interest to you:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt">    CONFIG "MS_ERRORFILE" "myfile"<br>
    DEBUG 6<br>
    ...<br>
    LAYER<br>
        CONNECTIONTYPE postgis<br>
        DATA "the_geom FROM (SELECT * FROM classi_comuni WHERE tipo_area = 2 ORDER BY tipo_area DESC) AS confini USING UNIQUE gid"<br>
        CLASSITEM "my_column"<br>
    ...<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Please could you help?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thank you,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Francesco<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

</blockquote></div>