9 constexpr const char *
_errorPrefix = QT_TR_NOOP(
"Shape file load failed. %1");
12ShapeFileHelper::ShapeFileType ShapeFileHelper::_getShapeFileType(
const QString &file, QString &
errorString)
16 if (file.endsWith(kmlFileExtension, Qt::CaseInsensitive)) {
17 return ShapeFileType::KML;
18 }
else if (file.endsWith(shpFileExtension, Qt::CaseInsensitive)) {
19 return ShapeFileType::SHP;
22 const QString kmlExt = QString(kmlFileExtension).mid(1);
23 const QString shpExt = QString(shpFileExtension).mid(1);
24 errorString = QString(_errorPrefix).arg(tr(
"Unsupported file type. Only %1 and %2 are supported.").arg(kmlExt, shpExt));
27 return ShapeFileType::None;
30ShapeFileHelper::ShapeType ShapeFileHelper::determineShapeType(
const QString &file, QString &
errorString)
35 case ShapeFileType::KML:
37 case ShapeFileType::SHP:
39 case ShapeFileType::None:
41 return ShapeType::Error;
45int ShapeFileHelper::getEntityCount(
const QString &file, QString &
errorString)
50 case ShapeFileType::KML:
52 case ShapeFileType::SHP:
54 case ShapeFileType::None:
60bool ShapeFileHelper::loadPolygonsFromFile(
const QString &file, QList<QList<QGeoCoordinate>> &polygons, QString &
errorString,
double filterMeters)
66 case ShapeFileType::KML:
68 case ShapeFileType::SHP:
70 case ShapeFileType::None:
76bool ShapeFileHelper::loadPolylinesFromFile(
const QString &file, QList<QList<QGeoCoordinate>> &polylines, QString &
errorString,
double filterMeters)
82 case ShapeFileType::KML:
84 case ShapeFileType::SHP:
86 case ShapeFileType::None:
92bool ShapeFileHelper::loadPointsFromFile(
const QString &file, QList<QGeoCoordinate> &points, QString &
errorString)
98 case ShapeFileType::KML:
100 case ShapeFileType::SHP:
102 case ShapeFileType::None:
108QStringList ShapeFileHelper::fileDialogKMLFilters()
110 static const QStringList filters = QStringList(tr(
"KML Files (*%1)").arg(kmlFileExtension));
114QStringList ShapeFileHelper::fileDialogKMLOrSHPFilters()
116 static const QStringList filters = QStringList(tr(
"KML/SHP Files (*%1 *%2)").arg(kmlFileExtension, shpFileExtension));
#define QGC_LOGGING_CATEGORY(name, categoryStr)
constexpr const char * _errorPrefix
ShapeFileHelper::ShapeType determineShapeType(const QString &file, QString &errorString)
bool loadPolygonsFromFile(const QString &kmlFile, QList< QList< QGeoCoordinate > > &polygons, QString &errorString, double filterMeters=ShapeFileHelper::kDefaultVertexFilterMeters)
bool loadPointsFromFile(const QString &kmlFile, QList< QGeoCoordinate > &points, QString &errorString)
Load all point entities.
bool loadPolylinesFromFile(const QString &kmlFile, QList< QList< QGeoCoordinate > > &polylines, QString &errorString, double filterMeters=ShapeFileHelper::kDefaultVertexFilterMeters)
int getEntityCount(const QString &kmlFile, QString &errorString)
Get the number of geometry entities in the KML file.
ShapeFileHelper::ShapeType determineShapeType(const QString &file, QString &errorString)
bool loadPointsFromFile(const QString &shpFile, QList< QGeoCoordinate > &points, QString &errorString)
Load all point entities.
int getEntityCount(const QString &shpFile, QString &errorString)
Get the number of entities in the shapefile.
bool loadPolygonsFromFile(const QString &shpFile, QList< QList< QGeoCoordinate > > &polygons, QString &errorString, double filterMeters=ShapeFileHelper::kDefaultVertexFilterMeters)
bool loadPolylinesFromFile(const QString &shpFile, QList< QList< QGeoCoordinate > > &polylines, QString &errorString, double filterMeters=ShapeFileHelper::kDefaultVertexFilterMeters)