Hi,
i think this problem was solved already thousand times but i could not find a 
solution via google.

We have polygons in a postgis 2.1 db describing the satellite images which 
sometimes cross the antimeridan. These polygons shall be rendered to a map via 
WMS calls using google Mercator in the map client (or any other projection 
supported by the WMS). The problem is that the polygons are drawn incorrect 
(see attached image which is the outcome of the following call
http://db5.devel.intern/cgi-bin/catalog_view.fcgi?SERVICE=WMS&VERSION=1.1.1&REQUEST=getmap&layers=coveragepols_test&bbox=19068286.820724,-2282715.4123002,20749901.442696,-1809417.3332432&srs=epsg:3785&format=image/png&width=800&height=800)

Any hint on documentation or how to overcome this problem is very welcome!
Kind regards,
Peter


These are the details: umn ms 6.4.1
## layer defintion
    LAYER
        NAME "coveragepols_test"
        TYPE POLYGON
        STATUS ON
        DEBUG 5
        UNITS dd
        SIZEUNITS PIXELS
        TOLERANCE 3
        TOLERANCEUNITS PIXELS
        PROCESSING "CLOSE_CONNECTION=DEFER"
        CONNECTIONTYPE POSTGIS
        CONNECTION"user=... password=.... dbname=... host='localhost' port=5432"
        DATA "coverage_poly FROM (SELECT id as image_id, coveragepoly as 
coverage_poly
                                                                     FROM 
public.view_test
                                                                   ) foo USING 
UNIQUE image_id USING SRID=4326"
        PROJECTION
            "init=epsg:4326"
        END
        METADATA
            "ows_title" "Coverage Polygons"
            #"ows_extent" "-20037508.34 -20037508.34 20037508.34 20037508.34"
            "ows_extent" "-180 -89 180 89"
            "wms_srs" "EPSG:3875 EPSG:900913 EPSG:4326" #output
        END
        CLASS
            NAME "Coverage Polygons"
            #STYLE
            #   COLOR 231 182 21
            #END
            STYLE
                OUTLINECOLOR 10 255 0
                WIDTH 2
           END
        END
    END




##used data
CREATE TABLE view_test
(
  id bigserial NOT NULL,
  catalog_id integer,
  dataset_id integer,
  image_path character varying(256) NOT NULL,
  coveragepoly geometry(MultiPolygon,4326),
  CONSTRAINT view_test_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE view_test
  OWNER TO searchdb_admin;

INSERT INTO public.view_test (catalog_id,dataset_id,image_path,coveragepoly)
VALUES (15829509, 2061925, '', st_multi(st_geomfromtext('POLYGON((180.655999799 
-15.8486300543,180.606999598 -16.0696710923,180.558000402 
-16.2907050895,180.509000201 -16.5117270167,180.459000201 -16.7327328505,180.41 
-16.9537185677,180.36 -17.1746801448,180.310999799 -17.3956135586,180.260999799 
-17.6165178033,180.210999799 -17.8373888554,180.160999799 
-18.0582267149,180.110999799 -18.2790293703,180.06 -18.4997958157,180.01 
-18.7205260511,179.991351841 -18.8027016697,180.235999799 
-18.8380677932,180.478000402 -18.8720267552,180.716999598 
-18.9047223899,180.735999799 -18.8224783746,180.785 
-18.6015670891,180.834000201 -18.3806216053,180.883000402 
-18.1596439348,180.931999598 -17.9386350835,180.980999799 -17.7175950513,181.03 
-17.4965258499,181.079000201 -17.2754304969,181.128000402 
-17.054309998,181.175999799 -16.8331663649,181.225 -16.6120056327,181.273000402 
-16.3908308187,181.321999598 -16.1696449407,181.37 -15.9484540334,181.134000201 
-15.9164302957,180.896999598 -15.8832025749,180.655999799 
-15.8486300543))',4326)));
INSERT INTO public.view_test (catalog_id,dataset_id,image_path,coveragepoly)
VALUES (15836184, 2063096, '', st_multi(st_geomfromtext('POLYGON((179.545984711 
-15.9171514786,179.495243412 -16.1403429893,179.444430698 
-16.3635103601,179.39354657 -16.5866535908,179.342587005 
-16.8097726816,179.291548984 -17.0328726614,179.240427479 
-17.2559535305,179.189217461 -17.4790142828,179.137916918 
-17.7020488835,179.086521827 -17.9250553209,179.035031181 
-18.1480315832,178.983387648 -18.3712140414,179.243388654 
-18.4105864011,179.497604104 -18.4480185073,179.746907061 
-18.4837567894,179.797483404 -18.2603590827,179.847922953 
-18.0371695836,179.898278012 -17.8139509153,179.948551599 
-17.5907060954,179.998746731 -17.3674381412,180.049000201 
-17.1441520821,180.099000201 -16.9208519413,180.149000201 
-16.6975347013,180.199000201 -16.4741983504,180.249000201 
-16.2508398713,180.298000402 -16.0274612754,180.053000402 
-15.9924049487,179.802257091 -15.9557151479,179.545984711 
-15.9171514786))',4326)));
INSERT INTO public.view_test (catalog_id,dataset_id,image_path,coveragepoly)
VALUES (17349264, 2322838, '', st_multi(st_geomfromtext('POLYGON((179.512290179 
72.1542419267,179.144996874 71.9140629718,178.786510145 
71.6732398732,178.436519681 71.431805025,178.09473374 
71.1897945653,177.760579284 70.9470277758,178.409691839 
70.8557411573,179.049974648 70.7633884077,179.683210657 70.6697257057,180.037 
70.9090975825,180.398 71.1476343103,180.768 71.3855111027,181.146 
71.6226895184,181.534 71.8591349187,180.869 71.9588213447,180.196 
72.0571058194,179.512290179 72.1542419267))',4326)));
INSERT INTO public.view_test (catalog_id,dataset_id,image_path,coveragepoly)
VALUES (17068914, 2257845, '', st_multi(st_geomfromtext('POLYGON((179.039884317 
66.7567958853,178.848036178 66.5444771894,178.659274879 
66.3319824792,178.473510114 66.1193169453,178.290653052 
65.9064856728,178.110617892 65.6934935118,177.933322353 
65.4803448547,177.758687153 65.2670434883,177.586635006 
65.0535926383,177.417090186 64.8399952046,177.249979201 
64.6262540807,177.085232004 64.4123723214,176.922783052 
64.1983530566,176.762120618 63.9835922069,176.601173726 
63.752017263,176.440226834 63.5204423192,176.279279942 
63.2888673753,176.11833305 63.0572924315,175.957386158 
62.8257174876,175.796439266 62.5941425438,175.635492375 
62.3625675999,175.474545483 62.1309926561,175.313598591 
61.8994177122,175.794181146 61.8349421828,176.269645981 
61.7699080473,176.741344538 61.7041913201,176.91309487 
61.9341579796,177.084845202 62.1641246391,177.256595534 
62.3940912986,177.428345866 62.6240579581,177.600096198 
62.8540246176,177.77184653 63.0839912771,177.943596862 
63.3139579366,178.115347194 63.5439245961,178.287097526 
63.7738912556,178.458501351 63.9870341862,178.631810997 
64.1994137729,178.807570808 64.4116291457,178.98584849 
64.6236763672,179.166716008 64.8355512763,179.350248692 
65.047249762,179.536524184 65.2587677865,179.725621852 
65.4701011843,179.917623217 65.6812454324,180.113 65.8921955223,180.311 
66.1029459981,180.512 66.3134910974,180.716 66.5238248589,180.164 
66.6023721443,179.605404276 66.6799870814,179.039884317 
66.7567958853))',4326)));


INSERT INTO public.view_test (catalog_id,dataset_id,image_path,coveragepoly)
VALUES (15836249, 2063096, 
'/BrowseUDM/ams/2014/3/21/1395403157193100/324329_131001_browse.jpg', 
st_multi(st_geomfromtext('POLYGON((179.838948 -17.340608,179.835209 
-17.557215,180.06104 -17.5607,180.064513 -17.344047,179.838948 
-17.340608))',4326)));
INSERT INTO public.view_test (catalog_id,dataset_id,image_path,coveragepoly)
VALUES (15836252, 2063096, 
'/BrowseUDM/ams/2014/3/21/1395403157193100/324329_6031228_browse.jpg', 
st_multi(st_geomfromtext('POLYGON((179.928689 -16.910725,179.932063 
-17.127389,180.157366 -17.123996,180.153734 -16.907378,179.928689 
-16.910725))',4326)));
INSERT INTO public.view_test (catalog_id,dataset_id,image_path,coveragepoly)
VALUES (15836230, 2063096, 
'/BrowseUDM/ams/2014/3/21/1395403157193100/324329_6031528_browse.jpg', 
st_multi(st_geomfromtext('POLYGON((179.918861 -16.260704,179.922088 
-16.477383,180.146628 -16.474126,180.143154 -16.257492,179.918861 
-16.260704))',4326)));





BlackBridge AG | Sitz Berlin | Amtsgericht Charlottenburg - Registergericht | 
HRB 152785 | Aufsichtsratsvorsitzender: David Westwood | Vorstand: Ryan Johnson
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to