No drawing of certain polygon rings stroed in Oracle Spatial

Fernando Simon fsimon at UNIVALI.BR
Sun Mar 18 23:33:16 EDT 2007


Hi,
    The problem that you report it's strange, I need to investigate more
to try find the solution. This approach to draw the circle I never used.
    Maybe (very possible) that the problem with the SDO_INTERPRETATION
and SDO_GTYPE that you relate is the core of the problem.
    You can try to simplify your arc's as lines, Oracle 9i contains a
function that transform arc's to lines, I don't remember the name now (I
don't have the docs here now). You can try this way to solve the
problem, you need to test the interoperability of these converted
polygons with Topoase.
    Now I can't test (I'm starting my Master), I just can test, change
the code and report a solution after the day 26.
    Best regards.

-------------------------------------------------------------------
Fernando Simon
UMN Mapserver and Oracle Spatial developer
-------------------------------------------------------------------

Schönhammer, Herbert wrote:
>
> Hi,
>
> I have some troubles drawing of certain geometries, stored in Oracle
> Spatial 9i.
>
> In general, I'm able to say, that polygon rings are drawn without
> problems (Connected by line strings or compound line strings connected
> by circular arcs AND line strings). But there are some types, which
> are not drawn by mapserver. There is no warning or error reported by
> mapserver ! These certain geometries only are not present in the drawn
> png-file (or what ever). The geometries in the neighbourhood are drawn !
>
> My Environment
> ==============
>
> - Oracle 9i with Spatial Option on a Windows 2003 Server
> - MapServer 4.8.4 (Mapserver 4.10.1 does the same !) on a SuSE SLES 9
> compiled with an Oracle 10g - Client
> - MapServer used as WMS-Server
>
>
>
>
> In detail the geometry, whis is NOT drawn by mapserver
> ======================================================
> Our application (Autodesk Topoase 3) is not storing a circle as a
> circle in Oracle Spatial. The circle is splitted into two arcs,
> connected to each other at the end-/start-points of the arcs. The
> drawn picture should be the picture of a circle.
>
> The stored geometry has the properties:
> GTYPE 2003 (= 2-dim POLYGON)
>
> In Detail:
> (2003; 82032; ; (1; 1003; 2; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ); (4505542,97176542; 5430753,10554764; 4505541,58808944;
> 5430750,58265205; 4505544,16794032; 5430749,30831663;
> 4505545,28931113; 5430751,74858283; 4505542,97176542;
> 5430753,10554764; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ))
>
> The geometry validates (SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT), the
> result is TRUE.
>
>
>
>
> The same geometry stored as LINE or CURVE IS drawn !!
> =====================================================
>
> GTYPE 2002  (= 2-dim LINE or CURVE)
>
>
> (2002; 82032; ; (1; 2; 2; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ); (4505542,97176542; 5430753,10554764; 4505541,58808944;
> 5430750,58265206; 4505544,16794032; 5430749,30831663;
> 4505545,28931113; 5430751,74858283; 4505542,97176542;
> 5430753,10554764; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ))
>
>
> Note
> ====
>
> Changing the mapserver Layer TYPE from POLYGON to LINE (or vice versa)
> does not have any effect !!!
>
>
>
> In detail a "circle", which IS drawn by mapserver
> =================================================
>
> GTYPE 2002 (= 2-dim LINE or CURVE)
>
> (2002; 82032; ; (1; 4; 1; 1; 2; 2; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ); (4506079,8746; 5430398,0938; 4506070,0144; 5430388,2336;
> 4506079,8746; 5430378,3734; 4506089,7348; 5430388,2336; 4506079,8746;
> 5430398,0938; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
> ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ))
>
> The geometry also validates (SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT),
> the result is TRUE.
>
> BUT:
> ----
> Please look at the first triplet of SDO_ELEM_INFO.
> Looking in Oracle Documentation, the combination of SDO_ETYPE=4 with a
> SDO_INTERPRETATION=1 is NOT allowed. SDO_INTERPRETATION MUST be bigger
> than 1.
>
> (Is there a bug in the doc ??????)
>
>
> My problem
> ==========
> Creating new circles, the application stores them as GTYPE 2003, which
> is not drawn !
>
>
> Does anybody know, what's the matter?
> =====================================
>
> Is there anybody, who has some tipps for me ?
>
>
> With kind regards
>
> *Schönhammer Herbert*
>
>



More information about the mapserver-users mailing list