[QGIS-Developer] Handling "complex" geometries

L.Bartoletti lbartoletti at tuxfamily.org
Mon Oct 16 14:54:33 PDT 2017


Hi,

I'm working on an AutoCAD to QGis migration topic for town planners and 
landscapers that made me think about something that I would like your 
opinion.

I recently committed new features to draw and I have just proposed QEPs 
to improve the drawing "a la" CAD in QGis, but I'm wondering about the 
representation of some geometries and how to manage them well.

There is no known method to transform an ellipse into an arc, so 
geometry is always segmented. Similarly, a circle is represented by 
several arcs which, when a node is modified, can deform the circle.
I've often seen landscapers or town planners (like me) drawings with 
splines. We don't yet have the possibility to draw it (TODO ;) ) but 
clearly, how to manage it in QGis afterwards?

Even if it's boring to take up again, a circle or ellipse is simple to 
redraw if you want to modify them, but a spline is more complex.

Apart from DXF/DWG formats, I am not aware of the direct support of 
these geometries in GIS formats (maybe GML 3 and those compliant with 
ISO 19107:2003? I didn't know this standard until today), in any case, 
they don't exist in the standard OGC "simple feature access" which seems 
to be our basis, right? Thus, we must convert them: arcs or segments for 
circles, segments for splines and ellipses.

So, how can we keep track of the originals geometries without having to 
convert them?
Here are some thoughts mixed up ...

- Never mind, we stay with primitive types
- Added support for existing geometries (circles, ellipses) when formats 
offer it. There is maybe a link to do with GDAL/OGR.
- We try to be full ISO and we develop all the geometries in QGis :D

For formats that do not support these types, we record at best (arc, 
segments) but for editing:
- The action is stored in memory and until the editing session is 
finished, the geometry can be modified by moving the quadrants (circles, 
ellipses) or control points (splines)
- Information is stored in an auxiliary or base file for RDBMS. Thus, 
when it is opened in QGis you can find the information and modify the 
geometries correctly, otherwise it remains open as it is today in arc or 
segmented. It's like an external/"proprietary" feature.

How do you feel about that?

Regards.

Loïc



More information about the QGIS-Developer mailing list