diff --git a/hoot-core/src/main/cpp/hoot/core/io/OgrUtilities.cpp b/hoot-core/src/main/cpp/hoot/core/io/OgrUtilities.cpp
index 527d44a..2decf5d 100644
--- a/hoot-core/src/main/cpp/hoot/core/io/OgrUtilities.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/io/OgrUtilities.cpp
@@ -61,13 +61,13 @@ void OgrUtilities::loadDriverInfo()
_drivers.push_back(OgrDriverInfo(".csv", "CSV", true, true, GDAL_OF_VECTOR));
_drivers.push_back(OgrDriverInfo(".gml", "GML", true, true, GDAL_OF_VECTOR));
_drivers.push_back(OgrDriverInfo(".gpx", "GPX", true, true, GDAL_OF_VECTOR));
- _drivers.push_back(OgrDriverInfo(".kml", "KML/LIBKML", true, true, GDAL_OF_ALL));
- _drivers.push_back(OgrDriverInfo(".kmz", "LIBKML", true, true, GDAL_OF_ALL));
+ _drivers.push_back(OgrDriverInfo(".kml", "LIBKML", true, true, GDAL_OF_VECTOR));
+ _drivers.push_back(OgrDriverInfo(".kmz", "LIBKML", true, true, GDAL_OF_VECTOR));
_drivers.push_back(OgrDriverInfo(".dxf", "DXF", true, true, GDAL_OF_VECTOR));
// Order is important here for the two FileGDB drivers, grab the first for read ops and the second for write
_drivers.push_back(OgrDriverInfo(".gdb", "OpenFileGDB", true, false, GDAL_OF_VECTOR));
_drivers.push_back(OgrDriverInfo(".gdb", "FileGDB", true, true, GDAL_OF_VECTOR));
- _drivers.push_back(OgrDriverInfo(".gpkg", "GPKG", true, true, GDAL_OF_ALL));
+ _drivers.push_back(OgrDriverInfo(".gpkg", "GPKG", true, true, GDAL_OF_ALL));
_drivers.push_back(OgrDriverInfo(".pix", "PCIDSK", true, true, GDAL_OF_ALL));
_drivers.push_back(OgrDriverInfo(".sql", "PGDump", true, true, GDAL_OF_VECTOR));
_drivers.push_back(OgrDriverInfo(".gtm", "GPSTrackMaker", true, true, GDAL_OF_VECTOR));
@@ -203,7 +203,7 @@ std::shared_ptr<GDALDataset> OgrUtilities::openDataSource(const QString& url, bo
// options["Z_POSSIBLE_NAMES"] = ConfigOptions().getOgrReaderCsvZfield();
options["KEEP_GEOM_COLUMNS"] = ConfigOptions().getOgrReaderCsvKeepGeomFields();
}
- if (QString(driverInfo._driverName) == "OGR_OGDI")
+ else if (QString(driverInfo._driverName) == "OGR_OGDI")
{
// From the GDAL docs:
// From GDAL/OGR 1.8.0, setting the OGR_OGDI_LAUNDER_LAYER_NAMES configuration option
@@ -211,6 +211,10 @@ std::shared_ptr<GDALDataset> OgrUtilities::openDataSource(const QString& url, bo
// For example : watrcrsl_hydro instead of 'watrcrsl@hydro(*)_line'
options["OGR_OGDI_LAUNDER_LAYER_NAMES"] = ConfigOptions().getOgrReaderOgdiLaunderLayerNames();
}
+ else if (QString(driverInfo._driverName) == "LIBKML")
+ {
+ options["OSM_USE_CUSTOM_INDEXING"] = "NO";
+ }
std::shared_ptr<GDALDataset> result(static_cast<GDALDataset*>(GDALOpenEx(url.toUtf8().data(),
driverInfo._driverType, (driverInfo._driverName != NULL ? drivers : NULL), options.getCrypticOptions(), NULL)));