swh:1:snp:ff2a11cd2e44dd19ec3814028ef2ce6605664e63
Tip revision: 274d1562128cd47a037ac200c052c584cfe59a09 authored by Eric Fischer on 10 November 2016, 19:02:01 UTC
Update to new Wagyu output
Update to new Wagyu output
Tip revision: 274d156
mvt.hpp
#include <mapbox/geometry/feature.hpp>
typedef mapbox::geometry::value mvt_value;
struct mvt_layer;
enum mvt_operation {
mvt_moveto = 1,
mvt_lineto = 2,
mvt_closepath = 7
};
struct mvt_geometry {
int x;
int y;
int /* mvt_operation */ op;
mvt_geometry(int op, long long x, long long y);
};
enum mvt_geometry_type {
mvt_point = 1,
mvt_linestring = 2,
mvt_polygon = 3
};
struct mvt_feature {
std::vector<unsigned> tags;
std::vector<mvt_geometry> geometry;
int /* mvt_geometry_type */ type;
unsigned long long id;
bool has_id;
mvt_feature() {
has_id = false;
id = 0;
}
};
struct mvt_value_cmp {
bool operator()(const mvt_value &a, const mvt_value &b) const;
};
struct mvt_layer {
int version;
std::string name;
std::vector<mvt_feature> features;
std::vector<std::string> keys;
std::vector<mvt_value> values;
int extent;
// Add a key-value pair to a feature, using this layer's constant pool
void tag(mvt_feature &feature, std::string key, mvt_value value);
// For tracking the key-value constants already used in this layer
std::map<std::string, size_t> key_map;
std::map<mvt_value, size_t, mvt_value_cmp> value_map;
};
struct mvt_tile {
std::vector<mvt_layer> layers;
std::string encode();
bool decode(std::string &message);
};
bool is_compressed(std::string const &data);
int decompress(std::string const &input, std::string &output);
int compress(std::string const &input, std::string &output);
int dezig(unsigned n);