[mapserver-dev] legend problem with label annotation

Annabell Schelton Lima aschelton at uci.cu
Wed Dec 28 20:00:58 EST 2011


Hello everyone,

I have a legend problem using MapServer 6.0.1, the legend icon image it´s not correctly generated when i use the atributte OFFSET in the label declaration. The image result  is strange if i change the OFFset parameter...Any idea about the problem?

Best Regards..

----- Mensaje original -----
De: Jachym Cepicky <jachym.cepicky at gmail.com>
Para: mapserver-dev at lists.osgeo.org
Enviado: Thu, 15 Dec 2011 19:01:21 -0500 (CST)
Asunto: [mapserver-dev] Re: bug in mapserver WFS 1.1 client and axis order?

I had a look into the mapserver source code, at mapwfslayer.c and I
would say, the wfs 1.1 axis order  issue is *NOT* handeled there.

My C skills together with my knowledge of the code base of mapserver
are too poor, but little experimenting gave me the WFS request, going
to remote server, with correct axes order in BBOX parameter:

Index: mapwfslayer.c
===================================================================
--- mapwfslayer.c	(revision 12900)
+++ mapwfslayer.c	(working copy)
@@ -431,11 +431,20 @@
         snprintf(pszURL + strlen(pszURL), bufferSize-strlen(pszURL),
"&FILTER=%s",
                  msEncodeUrl(psParams->pszFilter));
     }
-    else
-      snprintf(pszURL + strlen(pszURL), bufferSize-strlen(pszURL),
-               "&BBOX=%.15g,%.15g,%.15g,%.15g",
-               bbox->minx, bbox->miny, bbox->maxx, bbox->maxy);
-
+    else {
+        /* we have to take care on the axis order in WFS 1.1.0 */
+        if(strncmp(pszVersion,"1.1",3) == 0) {
+            /*
+            msFreeProjection(&lp->projection);
+            msLoadProjectionStringEPSG(&(lp->projection),
"epsg:4326"); <- brutal-force experiment method, this works
+            */
+            msAxisNormalizePoints(&(lp->projection) , 1,
&(bbox->minx), &(bbox->miny) );  /* <- this  does not work, there is
no epsgaxis=ne in the lp->projection */
+            msAxisNormalizePoints(&(lp->projection), 1,
&(bbox->maxx), &(bbox->maxy) );
+        }
+        snprintf(pszURL + strlen(pszURL), bufferSize-strlen(pszURL),
+            "&BBOX=%.15g,%.15g,%.15g,%.15g",
+            bbox->minx, bbox->miny, bbox->maxx, bbox->maxy); /* <-
minx is miny, miny is minx. same applies for max* coordinates
+    }
     if (psParams->nMaxFeatures > 0)
       snprintf(pszURL + strlen(pszURL), bufferSize-strlen(pszURL),
                "&MAXFEATURES=%d", psParams->nMaxFeatures);

The lp->projection does not contain "epsgaxis" parameter (used in
msAxisNormalizePoints), but then readed from EPSG string directly

msLoadProjectionStringEPSG(&(lp->projection), "epsg:4326");

it works.

I do not know, what is the best and safest way, how to make sure,
MapServer will take care about the correct axis order, when acting as
client for WFS 1.1, but the patch should point at least the point,
where to start

Would anybody be so kind and fix this issue?

Thanks

Jachym

2011/12/13 Jachym Cepicky <jachym.cepicky at gmail.com>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> I have a problem with MapServer, acting as WFS 1.1.0 client, trying to
> get data from WFS 1.1.0 (geoserver), in EPSG:4326. The axes order
> *should be* swapped, AFAIK in this case, but MapServer *does not* do
> this in the request in the BBOX parameter.
>
> Example:
>
> This is generated by MapServer and does not work (Czech Republic in
> form minx,miny,maxx,maxy)
>
> http://briseide01.ingr.briseide.eu:8080/geoserver/wfs?&REQUEST=GetFeature&VERSION=1.1.0&SERVICE=WFS&TYPENAME=ccss:Flood2010_transport_roads&BBOX=14.8607842326919,50.8338629310625,15.393635878137,51.0495564151432
>
> And this returns some data - axis oder is Lat/Lon (miny,minx,maxy,maxx)
>
> http://briseide01.ingr.briseide.eu:8080/geoserver/wfs?&REQUEST=GetFeature&VERSION=1.1.0&SERVICE=WFS&TYPENAME=ccss:Flood2010_transport_roads&BBOX=50.8338629310625,14.8607842326919,51.0495564151432,15.393635878137
>
> I've created ticket to this [1] with mapfile posted, the important
> part looks like follows:
>
> 70        LAYER
> 71          CONNECTION "http://briseide01.ingr.briseide.eu:8080/geoserver/ows?"
> 72          CONNECTIONTYPE WFS
> 73          DATA "Flood2010_transport_roads"
> 74          METADATA
> 75            "wfs_extent"      "14.9948950985 50.8659873396 15.2607258548
> 51.0177787275"
> 76            "wfs_request_method"      "GET"
> 77            "wms_extent"      "14.9948950985 50.8659873396 15.2607258548
> 51.0177787275"
> 78            "wfs_title"       "Flood2010_transport_roads"
> 79            "wfs_typename"    "ccss:Flood2010_transport_roads"
> 80            "gml_include_items"       "all"
> 81            "wfs_version"     "1.1.0"
> 82            "wms_title"       "Flood2010_transport_roads"
> 83            "wfs_srs"         "EPSG:4326"
> 84          END # METADATA
> 85          NAME "ccss:Flood2010_transport_roads"
> 86          PROJECTION
> 87            "init=epsg:4326"
> 88          END # PROJECTION
> 89          STATUS OFF
> 90          TEMPLATE "foo"
> 91          TILEITEM "location"
> 92          TYPE LINE
> 93          UNITS METERS
> 94          CLASS
> 95            STYLE
> 96              ANGLE 0
> 97              COLOR 238 153 0
> 98              OFFSET 0 0
> 99              OUTLINECOLOR 134 81 0
> 100             SIZE 5
> 101             WIDTH 5
> 102           END # STYLE
> 103         END # CLASS
> 104       END # LAYER
>
>
> Testing on mapserver-trunk
>
> Thanks
>
> Jachym
>
> [1] http://trac.osgeo.org/mapserver/ticket/4118
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk7miNYACgkQyKt0uAjU4I89egCfdGtWHL38EcQ0GVbHuq+24x+Z
> aAAAoLyktOmEXL3nYv3+198DzBTRxbKU
> =tXPU
> -----END PGP SIGNATURE-----



-- 
Jachym Cepicky
e-mail: jachym.cepicky gmail com
URL: http://les-ejk.cz
GPG: http://les-ejk.cz/pgp/JachymCepicky.pgp
_______________________________________________
mapserver-dev mailing list
mapserver-dev at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-dev


Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com



Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com


More information about the mapserver-dev mailing list