summaryrefslogtreecommitdiff
path: root/src/mbgl/tile
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/tile')
-rw-r--r--src/mbgl/tile/custom_geometry_tile.cpp4
-rw-r--r--src/mbgl/tile/geojson_tile.cpp8
-rw-r--r--src/mbgl/tile/geojson_tile.hpp6
-rw-r--r--src/mbgl/tile/geojson_tile_data.hpp18
-rw-r--r--src/mbgl/tile/geometry_tile_data.hpp5
-rw-r--r--src/mbgl/tile/vector_tile_data.cpp2
-rw-r--r--src/mbgl/tile/vector_tile_data.hpp2
7 files changed, 24 insertions, 21 deletions
diff --git a/src/mbgl/tile/custom_geometry_tile.cpp b/src/mbgl/tile/custom_geometry_tile.cpp
index 24f3526184..7e99a4568c 100644
--- a/src/mbgl/tile/custom_geometry_tile.cpp
+++ b/src/mbgl/tile/custom_geometry_tile.cpp
@@ -30,7 +30,7 @@ CustomGeometryTile::~CustomGeometryTile() {
void CustomGeometryTile::setTileData(const GeoJSON& geoJSON) {
- auto featureData = mapbox::geometry::feature_collection<int16_t>();
+ auto featureData = mapbox::feature::feature_collection<int16_t>();
if (geoJSON.is<FeatureCollection>() && !geoJSON.get<FeatureCollection>().empty()) {
const double scale = util::EXTENT / options.tileSize;
@@ -76,7 +76,7 @@ void CustomGeometryTile::querySourceFeatures(
auto featureCount = layer->featureCount();
for (std::size_t i = 0; i < featureCount; i++) {
auto feature = layer->getFeature(i);
-
+
// Apply filter, if any
if (queryOptions.filter && !(*queryOptions.filter)(style::expression::EvaluationContext { static_cast<float>(id.overscaledZ), feature.get() })) {
continue;
diff --git a/src/mbgl/tile/geojson_tile.cpp b/src/mbgl/tile/geojson_tile.cpp
index 7a83da2267..4cf971df84 100644
--- a/src/mbgl/tile/geojson_tile.cpp
+++ b/src/mbgl/tile/geojson_tile.cpp
@@ -8,19 +8,19 @@ namespace mbgl {
GeoJSONTile::GeoJSONTile(const OverscaledTileID& overscaledTileID,
std::string sourceID_,
const TileParameters& parameters,
- mapbox::geometry::feature_collection<int16_t> features)
+ mapbox::feature::feature_collection<int16_t> features)
: GeometryTile(overscaledTileID, sourceID_, parameters) {
updateData(std::move(features));
}
-void GeoJSONTile::updateData(mapbox::geometry::feature_collection<int16_t> features) {
+void GeoJSONTile::updateData(mapbox::feature::feature_collection<int16_t> features) {
setData(std::make_unique<GeoJSONTileData>(std::move(features)));
}
-
+
void GeoJSONTile::querySourceFeatures(
std::vector<Feature>& result,
const SourceQueryOptions& options) {
-
+
// Ignore the sourceLayer, there is only one
if (auto tileData = getData()) {
if (auto layer = tileData->getLayer({})) {
diff --git a/src/mbgl/tile/geojson_tile.hpp b/src/mbgl/tile/geojson_tile.hpp
index 270406267c..725dc4850c 100644
--- a/src/mbgl/tile/geojson_tile.hpp
+++ b/src/mbgl/tile/geojson_tile.hpp
@@ -12,10 +12,10 @@ public:
GeoJSONTile(const OverscaledTileID&,
std::string sourceID,
const TileParameters&,
- mapbox::geometry::feature_collection<int16_t>);
+ mapbox::feature::feature_collection<int16_t>);
+
+ void updateData(mapbox::feature::feature_collection<int16_t>);
- void updateData(mapbox::geometry::feature_collection<int16_t>);
-
void querySourceFeatures(
std::vector<Feature>& result,
const SourceQueryOptions&) override;
diff --git a/src/mbgl/tile/geojson_tile_data.hpp b/src/mbgl/tile/geojson_tile_data.hpp
index 3402c2a009..3605af9690 100644
--- a/src/mbgl/tile/geojson_tile_data.hpp
+++ b/src/mbgl/tile/geojson_tile_data.hpp
@@ -7,9 +7,9 @@ namespace mbgl {
class GeoJSONTileFeature : public GeometryTileFeature {
public:
- const mapbox::geometry::feature<int16_t>& feature;
+ const mapbox::feature::feature<int16_t>& feature;
- GeoJSONTileFeature(const mapbox::geometry::feature<int16_t>& feature_)
+ GeoJSONTileFeature(const mapbox::feature::feature<int16_t>& feature_)
: feature(feature_) {
}
@@ -21,7 +21,7 @@ public:
return feature.properties;
}
- optional<FeatureIdentifier> getID() const override {
+ FeatureIdentifier getID() const override {
return feature.id;
}
@@ -47,7 +47,7 @@ public:
class GeoJSONTileLayer : public GeometryTileLayer {
public:
- GeoJSONTileLayer(std::shared_ptr<const mapbox::geometry::feature_collection<int16_t>> features_)
+ GeoJSONTileLayer(std::shared_ptr<const mapbox::feature::feature_collection<int16_t>> features_)
: features(std::move(features_)) {
}
@@ -64,17 +64,17 @@ public:
}
private:
- std::shared_ptr<const mapbox::geometry::feature_collection<int16_t>> features;
+ std::shared_ptr<const mapbox::feature::feature_collection<int16_t>> features;
};
class GeoJSONTileData : public GeometryTileData {
public:
- GeoJSONTileData(mapbox::geometry::feature_collection<int16_t> features_)
- : features(std::make_shared<mapbox::geometry::feature_collection<int16_t>>(
+ GeoJSONTileData(mapbox::feature::feature_collection<int16_t> features_)
+ : features(std::make_shared<mapbox::feature::feature_collection<int16_t>>(
std::move(features_))) {
}
- GeoJSONTileData(std::shared_ptr<const mapbox::geometry::feature_collection<int16_t>> features_)
+ GeoJSONTileData(std::shared_ptr<const mapbox::feature::feature_collection<int16_t>> features_)
: features(std::move(features_)) {
}
@@ -88,7 +88,7 @@ public:
private:
- std::shared_ptr<const mapbox::geometry::feature_collection<int16_t>> features;
+ std::shared_ptr<const mapbox::feature::feature_collection<int16_t>> features;
};
} // namespace mbgl
diff --git a/src/mbgl/tile/geometry_tile_data.hpp b/src/mbgl/tile/geometry_tile_data.hpp
index bd64a1d153..6ce67a532e 100644
--- a/src/mbgl/tile/geometry_tile_data.hpp
+++ b/src/mbgl/tile/geometry_tile_data.hpp
@@ -43,7 +43,7 @@ public:
virtual FeatureType getType() const = 0;
virtual optional<Value> getValue(const std::string& key) const = 0;
virtual PropertyMap getProperties() const { return PropertyMap(); }
- virtual optional<FeatureIdentifier> getID() const { return {}; }
+ virtual FeatureIdentifier getID() const { return NullValue {}; }
virtual GeometryCollection getGeometries() const = 0;
};
@@ -83,6 +83,9 @@ Feature convertFeature(const GeometryTileFeature&, const CanonicalTileID&);
GeometryCollection fixupPolygons(const GeometryCollection&);
struct ToGeometryCollection {
+ GeometryCollection operator()(const mapbox::geometry::empty&) const {
+ return GeometryCollection();
+ }
GeometryCollection operator()(const mapbox::geometry::point<int16_t>& geom) const {
return { { geom } };
}
diff --git a/src/mbgl/tile/vector_tile_data.cpp b/src/mbgl/tile/vector_tile_data.cpp
index 2d4a01bda3..6363b0d3dd 100644
--- a/src/mbgl/tile/vector_tile_data.cpp
+++ b/src/mbgl/tile/vector_tile_data.cpp
@@ -29,7 +29,7 @@ std::unordered_map<std::string, Value> VectorTileFeature::getProperties() const
return feature.getProperties();
}
-optional<FeatureIdentifier> VectorTileFeature::getID() const {
+FeatureIdentifier VectorTileFeature::getID() const {
return feature.getID();
}
diff --git a/src/mbgl/tile/vector_tile_data.hpp b/src/mbgl/tile/vector_tile_data.hpp
index 48beaf9d07..7c95121a37 100644
--- a/src/mbgl/tile/vector_tile_data.hpp
+++ b/src/mbgl/tile/vector_tile_data.hpp
@@ -16,7 +16,7 @@ public:
FeatureType getType() const override;
optional<Value> getValue(const std::string& key) const override;
std::unordered_map<std::string, Value> getProperties() const override;
- optional<FeatureIdentifier> getID() const override;
+ FeatureIdentifier getID() const override;
GeometryCollection getGeometries() const override;
private: