30 #include <QDomElement>
31 #include <QStringList>
41 class CORE_EXPORT
QgsGml :
public QObject
46 const QString& typeName,
47 const QString& geometryAttribute,
64 QMap<QgsFeatureId, QgsFeature* >
featuresMap()
const {
return mFeatures; }
67 QMap<QgsFeatureId, QString >
idsMap()
const {
return mIdMap; }
74 void handleProgressEvent( qint64 progress, qint64 totalSteps );
77 void dataReadProgress(
int progress );
78 void totalStepsUpdate(
int totalSteps );
80 void dataProgressAndSteps(
int progress,
int totalSteps );
98 void startElement(
const XML_Char* el,
const XML_Char** attr );
99 void endElement(
const XML_Char* el );
100 void characters(
const XML_Char* chars,
int len );
101 static void start(
void* data,
const XML_Char* el,
const XML_Char** attr )
103 static_cast<QgsGml*
>( data )->startElement( el, attr );
105 static void end(
void* data,
const XML_Char* el )
107 static_cast<QgsGml*
>( data )->endElement( el );
109 static void chars(
void* data,
const XML_Char* chars,
int len )
111 static_cast<QgsGml*
>( data )->characters( chars, len );
121 int readEpsgFromAttribute(
int& epsgNr,
const XML_Char** attr )
const;
127 QString readAttribute(
const QString& attributeName,
const XML_Char** attr )
const;
130 int createBBoxFromCoordinateString(
QgsRectangle &bb,
const QString& coordString )
const;
136 int pointsFromCoordinateString( QList<QgsPoint>& points,
const QString& coordString )
const;
138 int getPointWKB(
unsigned char** wkb,
int*
size,
const QgsPoint& )
const;
139 int getLineWKB(
unsigned char** wkb,
int*
size,
const QList<QgsPoint>& lineCoordinates )
const;
140 int getRingWKB(
unsigned char** wkb,
int*
size,
const QList<QgsPoint>& ringCoordinates )
const;
146 int createMultiLineFromFragments();
147 int createMultiPointFromFragments();
148 int createPolygonFromFragments();
149 int createMultiPolygonFromFragments();
151 int totalWKBFragmentSize()
const;
154 QWidget* findMainWindow()
const;
160 void calculateExtentFromFeatures();