marble
shp2pn2.cpp
Go to the documentation of this file.
9 // For the Natural Earth Layer providing the Default data set at 0.5 arcminute resolution should be enough.
10 // This fileformat allows for even better packed data than the PNT format. For detailed polygons at arcminute
15 // In the fileformat initially a file header is provided that provides the file format version and the number
16 // of polygons stored inside the file. A Polygon starts with the Polygon Header which provides the feature id
17 // and the number of so called "absolute nodes" that are about to follow. Absolute nodes always contain
18 // absolute geodetic coordinates. The Polygon Header also provides a flag that allows to specify whether the
19 // polygon is supposed to represent a line string ("0") or a linear ring ("1"). Each absolute node can be followed
20 // by relative nodes: These relative nodes are always nodes that follow in correct order inside the polygon after
21 // "their" absolute node. Each absolute node specifies the number of relative nodes which contain relative
22 // coordinates in reference to their absolute node. So an absolute node provides the absolute reference for
23 // relative nodes across a theoretical area of 2x2 squaredegree-area (which in practice frequently might rather
26 // So much of the compression works by just referencing lat/lon diffs to special "absolute nodes". Hence the
66 enum polygonFlagType { LINESTRING = 0, LINEARRING = 1, OUTERBOUNDARY = 2, INNERBOUNDARY = 3, MULTIGEOMETRY = 4 };
93 quint32 getParentNodes( QVector<GeoDataCoordinates>::Iterator begin, QVector<GeoDataCoordinates>::Iterator end )
110 void printAllNodes( QVector<GeoDataCoordinates>::Iterator begin, QVector<GeoDataCoordinates>::Iterator end, QDataStream &stream )
186 fileHeaderPolygons += 1 + polygon->innerBoundaries().size(); // outer boundary + number of inner boundaries of the polygon
QVector< GeoDataCoordinates >::Iterator begin()
Returns an iterator that points to the begin of the LineString.
Definition: GeoDataLineString.cpp:193
void printAllNodes(QVector< GeoDataCoordinates >::Iterator begin, QVector< GeoDataCoordinates >::Iterator end, QDataStream &stream)
Definition: shp2pn2.cpp:110
A container for Features, Styles and in the future Schemas.
Definition: GeoDataDocument.h:65
Definition: Pn2Runner.cpp:50
A LinearRing that allows to store a closed, contiguous set of line segments.
Definition: GeoDataLinearRing.h:68
iterator begin()
QVector< GeoDataGeometry * >::Iterator end()
Definition: GeoDataMultiGeometry.cpp:140
This file contains the headers for MarbleModel.
Definition: Pn2Runner.cpp:50
GeoDataPolyStyle & polyStyle()
Return the label style of this style.
Definition: GeoDataStyle.cpp:153
const T & at(int i) const
QVector< GeoDataCoordinates >::Iterator end()
Returns an iterator that points to the end of the LineString.
Definition: GeoDataLineString.cpp:204
const GeoDataStyle * style() const
Return the style assigned to the placemark, or a default style if none has been set.
Definition: GeoDataFeature.cpp:709
qreal latitude(GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian) const
retrieves the latitude of the GeoDataCoordinates object use the unit parameter to switch between Radi...
Definition: GeoDataCoordinates.cpp:751
const PluginManager * pluginManager() const
Definition: MarbleModel.cpp:634
virtual bool isClosed() const
Returns whether a LineString is a closed polygon.
Definition: GeoDataLineString.cpp:310
GeoDataGeometry * geometry()
The geometry of the GeoDataPlacemark is to be rendered to the marble map along with the icon at the c...
Definition: GeoDataPlacemark.cpp:152
Definition: Pn2Runner.cpp:50
qreal nodeDistance(const GeoDataCoordinates &A, const GeoDataCoordinates &B)
Definition: shp2pn2.cpp:80
Definition: Pn2Runner.cpp:50
quint32 getParentNodes(QVector< GeoDataCoordinates >::Iterator begin, QVector< GeoDataCoordinates >::Iterator end)
Definition: shp2pn2.cpp:93
GeoDataDocument * openFile(const QString &fileName, DocumentRole role=UserDocument, int timeout=30000)
Definition: ParsingRunnerManager.cpp:121
virtual bool open(QFlags< QIODevice::OpenModeFlag > mode)
A LineString that allows to store a contiguous set of line segments.
Definition: GeoDataLineString.h:75
GeoDataLinearRing & outerBoundary()
Returns the outer boundary that is represented as a LinearRing.
Definition: GeoDataPolygon.cpp:123
qreal longitude(GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian) const
retrieves the longitude of the GeoDataCoordinates object use the unit parameter to switch between Rad...
Definition: GeoDataCoordinates.cpp:739
Definition: Pn2Runner.cpp:50
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:97
qreal lonDistance(const GeoDataCoordinates &A, const GeoDataCoordinates &B)
Definition: shp2pn2.cpp:74
QVector< GeoDataLinearRing > & innerBoundaries()
Returns a set of inner boundaries which are represented as LinearRings.
Definition: GeoDataPolygon.cpp:139
Definition: GeoDataSchema.h:30
QVector< GeoDataGeometry * >::Iterator begin()
Definition: GeoDataMultiGeometry.cpp:134
This file contains the headers for MarbleWidget.
GeoDataSimpleField & simpleField(const QString &name) const
Definition: GeoDataSchema.cpp:79
int indexOf(const QRegExp &rx, int from) const
qreal latDistance(const GeoDataCoordinates &A, const GeoDataCoordinates &B)
Definition: shp2pn2.cpp:68
QStringList arguments()
iterator end()
a class representing a point of interest on the map
Definition: GeoDataPlacemark.h:54
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:42 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:42 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.