44class FeatureDataHolder
47 FeatureDataHolder() { memset(&feature_data, 0,
sizeof feature_data); }
48 FeatureDataHolder(
const FeatureDataHolder & orig)
50 memset(&feature_data, 0,
sizeof feature_data);
55 virtual ~FeatureDataHolder();
56 FeatureDataHolder(
string name)
58 memset(&feature_data, 0,
sizeof feature_data);
61 FeatureDataHolder(
const player_vectormap_feature_data_t * feature)
63 memset(&feature_data, 0,
sizeof feature_data);
64 name = string(feature->name);
65 attrib = string(feature->attrib);
66 wkb.assign(feature->wkb, (feature->wkb) + (feature->wkb_count));
69 const player_vectormap_feature_data_t*
Convert();
74 player_vectormap_feature_data_t feature_data;
80 LayerInfoHolder() { memset(&layer_info,0,
sizeof(layer_info)); memset(&extent, 0,
sizeof(extent)); };
81 LayerInfoHolder(
const LayerInfoHolder & orig)
83 memset(&layer_info,0,
sizeof(layer_info));
87 LayerInfoHolder(
string name)
89 memset(&layer_info,0,
sizeof(layer_info));
91 memset(&extent, 0,
sizeof(extent));
93 virtual ~LayerInfoHolder()
95 free(layer_info.name);
98 const player_vectormap_layer_info_t* Convert();
102 player_vectormap_layer_info_t layer_info;
108 LayerDataHolder() { memset(&layer_data, 0,
sizeof layer_data); }
109 LayerDataHolder(
const LayerDataHolder & orig)
111 memset(&layer_data, 0,
sizeof layer_data);
113 features = orig.features;
115 LayerDataHolder(
string name)
117 memset(&layer_data,0,
sizeof(layer_data));
120 LayerDataHolder(
const player_vectormap_layer_data_t * layer)
122 memset(&layer_data, 0,
sizeof layer_data);
123 name = string(layer->name);
124 for (uint32_t ii = 0; ii < layer->features_count; ii++)
127 features.push_back(fd);
130 virtual ~LayerDataHolder();
132 const player_vectormap_layer_data_t* Convert();
134 vector<FeatureDataHolder> features;
135 player_vectormap_layer_data_t layer_data;
139class VectorMapInfoHolder
142 VectorMapInfoHolder() { memset(&info, 0,
sizeof info); memset(&extent, 0,
sizeof extent); };
143 VectorMapInfoHolder(
const VectorMapInfoHolder & orig)
145 memset(&info, 0,
sizeof info);
146 srid = orig.srid; layers = orig.layers; extent = orig.extent;
148 virtual ~VectorMapInfoHolder();
149 VectorMapInfoHolder(uint32_t srid,
BoundingBox extent)
151 this->srid = srid; this->extent = extent;
152 memset(&info, 0,
sizeof info);
155 const player_vectormap_info_t* Convert();
158 vector<LayerInfoHolder> layers;
160 player_vectormap_info_t info;
166 PostgresConn(
int debug = 0){ this->wkbprocessor = player_wkb_create_processor(); this->conn = NULL; this->debug = debug; };
167 virtual ~PostgresConn(){
if (Connected()) Disconnect(); player_wkb_destroy_processor(this->wkbprocessor); };
168 bool Connect(
const char* dbname,
const char* host,
const char* user,
const char* password,
const char* port);
170 bool Connected() {
return (conn != NULL) && (PQstatus(conn) != CONNECTION_BAD); };
178 BoundingBox BinaryToBBox(
const uint8_t *binary, uint32_t length);
179 uint32_t Text2Bin(
const char * text,
unsigned char * bin, uint32_t maxlen);
180 playerwkbprocessor_t wkbprocessor;
183 static void bbcb(
void * bbox,
double x0,
double y0,
double x1,
double y1);