Hello Paul, hello list, now the circumference of those polygons is rendered correct. But (unfortenately) only parts of the area are filled with the polygon-color.
Imagine, that all points of the oracle-geometry-object are connected by straight-lines (instead of arcs). The inner area of this outline is not rendered in the polygon-color. The segment archs between this outline and the arcs of the circumference are filled with the correct color. If there is a straight line in the circumference, the area is filled correct ! (See the little gif-examples of the appendix, if it is allowed to upload appendixes to the list !) There is no difference using driver gd or agg ! greetings Herbert >-----Ursprüngliche Nachricht----- >Von: Paul Ramsey [mailto:[EMAIL PROTECTED] >Gesendet: Montag, 22. September 2008 18:17 >An: Steve Lime >Cc: [email protected]; Schönhammer, Herbert >Betreff: Re: AW: [mapserver-users] Oracle Spatial + MS 5.2.0: >No drawing ofcertain objects > > >Should work, methinks. > > break; >+ case 32: /* simple polygon with only arcs >for bounds */ >+ osArcPolygon(hand, shape, obj, ord_start, >ord_end, points, data3d); >+ shape->type = MS_SHAPE_POLYGON; >+ break; > case 33: /* rectangle defined by 2 points */ > > >On Mon, Sep 22, 2008 at 6:55 AM, Steve Lime ><[EMAIL PROTECTED]> wrote: >> The shape->type value needs to be set to MS_SHAPE_POLYGON I believe. >> I've not looked at where >> Paul's patch sits in the source though so I don't know where >that needs >> to happen. Perhaps as the >> second line in each of the cases of the patch? >> >> e.g. shape->type = MS_SHAPE_POLYGON; >> >> Steve >> >>>>> Schönhammer, Herbert <[EMAIL PROTECTED]> 09/22/08 >> 2:43 AM >>> >> Hallo Paul, >> >> using this patch, mapserver is not ignoring those polygons anymore >> (polygons, which exists ONLY of a connected sequence of circular arcs >> that closes on itself). >> >> But instead of rendering those polygons, I get know an error message: >> >> msDrawMap(): Image handling error. Failed to draw layer named >> 'stgk_gebaeude_orcl'. >> msDrawShape(): General error message. Only polygon shapes >can be drawn >> using a POLYGON layer definition. >> >> >> The first step for rendering those polgons is done: >Mapserver recognizes >> the polygons ! >> >> Can I do anything else ? >> >> Greetings >> Herbert >> >> >> >> "polygons, which exists ONLY of >>>a connected sequence of circular arcs that closes on itself >> >>>-----Ursprüngliche Nachricht----- >>>Von: Paul Ramsey [mailto:[EMAIL PROTECTED] >>>Gesendet: Freitag, 19. September 2008 16:40 >>>An: Schönhammer, Herbert >>>Cc: Mapserver-users ([email protected]) >>>Betreff: Re: [mapserver-users] Oracle Spatial + MS 5.2.0: No >>>drawing of certain objects >>> >>> >>>Try the following completely untested patch: >>> >>>Index: maporaclespatial.c >>>=================================================================== >>>--- maporaclespatial.c (revision 7827) >>>+++ maporaclespatial.c (working copy) >>>@@ -1476,6 +1476,9 @@ >>> case 31: /* simple polygon with n points, last >>>point equals the first one */ >>> osClosedPolygon(hand, shape, obj, ord_start, >>>ord_end, points, elem_type, data3d); >>> break; >>>+ case 32: /* simple polygon with only arcs >>>for bounds */ >>>+ osArcPolygon(hand, shape, obj, ord_start, >>>ord_end, points, data3d); >>>+ break; >>> case 33: /* rectangle defined by 2 points */ >>> osRectangle(hand, shape, obj, ord_start, >>>ord_end, points, point5, data3d); >>> break; >>> >>> >>> >>> >>>On Fri, Sep 19, 2008 at 3:20 AM, Schönhammer, Herbert >>><[EMAIL PROTECTED]> wrote: >>>> Hallo Paul, >>>> >>>> 1.) Yes, there is no difference in behavior between the old >>>and new mapserver versions. >>>> >>>> 2.) Yes and No. In detail: >>>> >>>> 2a) If there is at most ONE straight line in the polygon, >>>mapserver renders this polygon correct, even if there is a >>>curved segement (arc) in the polygon. For example this is a >>>church, which contains three arcs in the polygon (triple >>>11,2,2 and 31,2,2 and 51,2,2). This polygon is rendered correct. >>>> >>>> INSERT INTO AX_GEBAEUDE (FID,GEOM) VALUES >>>(14080503,mdsys.sdo_geometry(2003,82032,null,mdsys.sdo_elem_inf >>>o_array(1,1005,7,1,2,1,11,2,2,15,2,1,31,2,2,35,2,1,51,2,2,55,2, >>>1),mdsys.sdo_ordinate_array(4506867.81,5430890.76,4506872.05,54 >>>30889.72,4506881.01,5430887.51,4506881.58,5430889.82,4506883.14 >>>,5430896.16,4506937.22,5430883.9,4506941.09222415,5430884.75129 >>>585,4506943.86,5430887.59,4506948.31,5430886.72,4506947.53,5430 >>>882.98,4506950.45,5430882.37,4506950.02,5430880.3,4506955.17,54 >>>30879.23,4506955.58,5430881.2,4506958.35,5430880.62,4506959.21, >>>5430884.73,4506961.57385865,5430886.53782314,4506960.13,5430889 >>>.14,4506960.94,5430893,4506957.92,5430893.63,4506958.4,5430896. >>>12,4506953.2,5430897.12,4506952.74,5430894.72,4506950.1,5430895 >>>.27,4506949.23,5430891.12,4506944.73,5430892,4506942.9045371,54 >>>30896.27675424,4506939.38,5430899.31,4506893.36,5430909.55,4506 >>>886.79,5430911.01,4506888.96,5430919.81,4506882.98,5430921.28,4 >>>506874.83,5430923.28,4506874.09,5430920.3,4506872.55,5430914.03 >>>,4506866.92,5430915.42,4506864.74,5430915.95,4506861.35,5430902 >>>.17,4506870.09,5430900.02,4506867.81,5430890.76))); >>>> >>>> 2b) Mapserver does not render polygons, which exis>> Greetings >>>> Herbert >>>> >>>>>-----Ursprüngliche Nachricht----- >>>>>Von: Paul Ramsey [mailto:[EMAIL PROTECTED] >>>>>Gesendet: Donnerstag, 18. September 2008 16:35 >>>>>An: Schönhammer, Herbert >>>>>Betreff: Re: [mapserver-users] Oracle Spatial + MS 5.2.0: No >>>>>drawing of certain objects >>>>> >>>>> >>>>>So, to confirm, there is now no difference in behavior between your >>>>>old and new mapserver installations? >>>>> >>>>>However, the old and new installations share an inability to render >>>>>polygons that include curved boundaries? >>>>> >>>>>P. >>>>> >>>>>On Thu, Sep 18, 2008 at 3:14 AM, Schönhammer, Herbert >>>>><[EMAIL PROTECTED]> wrote: >>>>>> Hallo Paul, >>>>>> >>>>>> (I needed some time because new hardware, ...) >>>>>> >>>>>> Okay: First of all: >>>>>> >>>>>> The reported NEW DIFFICULTIES are not reproducable any more. >>>>>I really don't know what happened. But LINESTRINGS made up of >>>>>a connected sequence of circular arcs ARE DRAWN by mapserver. >>>>>> >>>>>> The old problem still exists. >>>>>> ============================= >>>>>> POLYGONS made up of a connected sequence of circular arcs >>>>>ARE NOT DRAWN by mapserver. No error message. >>>>>> >>>>>> I have made a config error in my mapfile. So I could get an >>>>>error message from mapserver. In this error message the >>>>>SQL-statement sent to the oracle database is: >>>>>> >>>>>> SELECT fid, geom FROM AX_GEBAEUDE WHERE SDO_FILTER( geom, >>>>>MDSYS.SDO_GEOMETRY(2003, 82032, >>>>>NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARR >>>>>AY(4505602.25,5430841.31,4505622.97,5430856.39) >>>>>),'querytype=window') = 'TRUE' >>>>>> >>>>>> When i submit this SQL direct to the databse I get 4 >>>geometries back. >>>>>> Two POLYGONS made up of straight line segements. >>>>>> Two POLYGONS made up of a connected sequence of circular arcs. >>>>>> >>>>>> The polygons with straight line segments are drawn, the >>>>>polygons made up of a connected sequence of circular arcs are >>>>>not drawn. >>>>>> >>>>>> I have exported these objects from my database: >>>>>> >>>>>> The drawn polygons are: >>>>>> INSERT INTO AX_GEBAEUDE (FID,GEOM) VALUES >>>>>(14079074,mdsys.sdo_geometry(2003,82032,null,mdsys.sdo_elem_inf >>>>>o_array(1,1003,1),mdsys.sdo_ordinate_array(4505658.59,5430772.1 >>>>>7,4505643.27,5430803.04,4505634.39,5430798.05,4505625.41,543081 >>>>>4,4505619.34,5430810.5898,4505607.9,5430830.95,4505607.4,543083 >>>>>0.7,4505600.29,5430845.02,4505511.2,5430801.08,4505534.42,54307 >>>>>54.01,4505552.34,5430762.86,4505569.51,5430728.08,4505658.59,54 >>>>>30772.17))); >>>>>> INSERT INTO AX_GEBAEUDE (FID,GEOM) VALUES >>>>>(14079078,mdsys.sdo_geometry(2003,82032,null,mdsys.sdo_elem_inf >>>>>o_array(1,1003,1),mdsys.sdo_ordinate_array(4505643.27,5430803.0 >>>>>4,4505643.85,5430803.37,4505644.39,5430803.67,4505644.34,543080 >>>>>3.76,4505635.46,5430819.49,4505633.64,5430822.73,4505619.68,543 >>>>>0847.46,4505609.69,5430841.9199,4505613.95,5430834.36,4505625.4 >>>>>1,5430814,4505634.39,5430798.05,4505643.27,5430803.04))); >>>>>> >>>>>> The polygons which are not drawn are: >>>>>> INSERT INTO AX_GEBAEUDE (FID,GEOM) VALUES >>>>>(14079126,mdsys.sdo_geometry(2003,82032,null,mdsys.sdo_elem_inf >>>>>o_array(1,1003,2),mdsys.sdo_ordinate_array(4505611.03,5430848.5 >>>>>5,4505611.03,5430845.19,4505614.39,5430845.19,4505614.39,543084 >>>>>8.55,4505611.03,5430848.55))); >>>>>> INSERT INTO AX_GEBAEUDE (FID,GEOM) VALUES >>>>>(14079128,mdsys.sdo_geometry(2003,82032,null,mdsys.sdo_elem_inf >>>>>o_array(1,1003,2),mdsys.sdo_ordinate_array(4505615.64,5430849.9 >>>>>,4505615.64,5430847.3,4505618.24,5430847.3,4505618.24,5430849.9 >>>>>,4505615.64,5430849.9))); >>>>>> >>>>>> >>>>>> All polygons are GTYPE=2003 in SRID=82032. All POLYGONS are >>>>>SDO_ETYPE=1003. >>>>>> The POLYGONS with SDO_INTERPRETATION = 1 are drawn. >>>>>> The POLYGONS with SDO_INTERPRETATION = 2 are not drawn. >>>>>> >>>>>> >>>>>> greetings >>>>>> Herbert >>>>>> >>>>>>>-----Ursprüngliche Nachricht----- >>>>>>>Von: Paul Ramsey [mailto:[EMAIL PROTECTED] >>>>>>>Gesendet: Donnerstag, 11. September 2008 19:07 >>>>>>>An: Schönhammer, Herbert >>>>>>>Cc: Mapserver-users (ma>>>>>Betreff: Re: >[mapserver-users] Oracle Spatial + MS 5.2.0: No >>>>>>>drawing of certain objects >>>>>>> >>>>>>> >>>>>>>Could you do a bit more legwork and see if the problem >>>appears at the >>>>>>>transition to 5.0 or the transition to 5.2? From there we >>>>>can probably >>>>>>>find the code change that caused it. >>>>>>> >>>>>>>P. >>>>>>> >>>>>>>On Wed, Sep 10, 2008 at 7:03 AM, Schönhammer, Herbert >>>>>>><[EMAIL PROTECTED]> wrote: >>>>>>>> Hi list, >>>>>>>> >>>>>>>> ( I had a similar discussion using Mapserver 4.10.x and >>>>>>>Oracle Spatial 9i in >>>>>>>> May 2007. But the problems changed using Mapserver 5.2.0 .). >>>>>>>> >>>>>>>> >>>>>>>> The new environmet: >>>>>>>> =============== >>>>>>>> Server SLES10 >>>>>>>> Mapserver 5.2.0 >>>>>>>> Oracle OCI - Interface used with Oracle 11-Client-Software >>>>>>>> >>>>>>>> DB-Server Windows 2xxx >>>>>>>> Oracle Spatial 10g >>>>>>>> >>>>>>>> >>>>>>>> The new problem : >>>>>>>> ============== >>>>>>>> Line strings made up of a connected sequence of circular >>>>>>>arcs ARE NOT DRAWN. >>>>>>>> No error message is generated by mapserver, but the objects >>>>>>>are not shown in >>>>>>>> the map. >>>>>>>> >>>>>>>> Example: >>>>>>>> INSERT INTO AX_BES_GEBLINIE (FID,GEOM) VALUES >>>>>>>> >>>>>>>(14196363,mdsys.sdo_geometry(2002,82032,null,mdsys.sdo_elem_inf >>>>>>>o_array(1,2,2),mdsys.sdo_ordinate_array(4512474.1948,5426555.09 >>>>>>>79,4512473.3318,5426554.2349,4512474.1948,5426553.3719,4512475. >>>>>>>0578,5426554.2349,4512474.1948,5426555.0979))); >>>>>>>> >>>>>>>> (Background: >>>>>>>> In my mailing from May 2007 I reported that these >>>Objects are drawn >>>>>>>> correctly by mapserver. This statement is indeed >>>>>>>reproducable correct using >>>>>>>> mapserver 4.10.x. This is independent from the used oracle >>>>>>>version ( 9i or >>>>>>>> 10g ). >>>>>>>> Now, using mapserver 5.2.0 these objects are not drawn >>>>>>>anymore. No error >>>>>>>> message is produced. This is also independent from the used >>>>>>>oracle version ( >>>>>>>> 9i or 10g ). ) >>>>>>>> >>>>>>>> The old problem: >>>>>>>> ============ >>>>>>>> Polygons made up of a connected sequence of circular arcs >>>>>>>ARE NOT DRAWN. No >>>>>>>> error message is generated by mapserver, but the objects are >>>>>>>not shown in >>>>>>>> the map. >>>>>>>> >>>>>>>> (This problem was already reported in May 2007. The >>>>>>>behaviour did not change >>>>>>>> from mapserver 4.10.x to 5.2.0) >>>>>>>> >>>>>>>> Example: >>>>>>>> INSERT INTO AX_GEBAEUDE (FID,GEOM) VALUES >>>>>>>> >>>>>>>(14079065,mdsys.sdo_geometry(2003,82032,null,mdsys.sdo_elem_inf >>>>>>>o_array(1,1003,2),mdsys.sdo_ordinate_array(4505553.2585,5430757 >>>>>>>.2937,4505551.1659,5430755.2011,4505553.2585,5430753.1085,45055 >>>>>>>55.3511,5430755.2011,4505553.2585,5430757.2937))); >>>>>>>> >>>>>>>> >>>>>>>> Oracle Documentation: >>>>>>>> ================= >>>>>>>> Reading the Oracle Docs, I think all the objects are correct >>>>>>>defined. The >>>>>>>> geometries are validating by oracle 9i and oracle 10g (Using >>>>>>>the st_valid - >>>>>>>> method, e.g. SELECT a.GEOM.ST_IsValid() >>>>>>>> FROM ax_bes_geblinie a WHERE a.fid = 14196363;). >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Does anybody know a solution how to draw these objects with >>>>>>>mapserver ? >>>>>>>> >>>>>>>> greetings >>>>>>>> Herbert >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> mapserver-users mailing list >>>>>>>> [email protected] >>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> _______________________________________________ >>>> mapserver-users mailing list >>>> [email protected] >>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users >>>> >>> >> _______________________________________________ >> mapserver-users mailing list >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/mapserver-users >> >> _______________________________________________ >> mapserver-users mailing list >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/mapserver-users >> >
<<attachment: ms-error.gif>>
<<attachment: ms-correct.gif>>
_______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
