[gdal-dev] Reading a shapefile containing multi-parts Polyline from OGR (C++ API)

Roland Baviere roland.baviere at districtlab.eu
Mon Oct 16 03:14:12 PDT 2023


Hi all,

 I hope this e-mel finds you well.

I am trying to read a shapefile layer from OGR from a C++ application
following the tutorial found here:
https://gdal.org/tutorials/vector_api_tut.html#reading-from-ogr

We have difficulties with a layer containing PolyLines with several parts.

The pre-existing code works fine for polylines having a unique part.

Do you have any example or advice to help me implement a version that works
for polylines containing several parts. My intention is to display each
shape on a map, so I need to retrieve the coordinates of points and draw
segment between points when relevant.

Thanks a lot for your help.

Kind regards,

Roland



//// CODE THAT WORKS for "simple" polylines but fails when dealiing with a
polyline containing several parts

int o = 0;
                        for(auto y : poGeometry->toLineString()) {
                            if (o == 0) {
                                line.mInCoord = QGeoCoordinate(y.getX(),
y.getY());
                            } else if (o ==
(poGeometry->toLineString()->getNumPoints() - 1)) {
                                line.mOutCoord = QGeoCoordinate(y.getX(),
y.getY());
                            } else {

line.mPath.addCoordinate(QGeoCoordinate(y.getX(), y.getY()));
                            }
                            qDebug() << o;
                            o++;
                        }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20231016/e876b8f3/attachment.htm>


More information about the gdal-dev mailing list