4#include "RasterTileExtractor.h"
5#include "VectorExtractor.h"
7#include "geofeatures.h"
9#include "godot_cpp/variant/dictionary.hpp"
10#include "godot_cpp/variant/variant.hpp"
15class EXPORT GeoDataset;
26 static void _bind_methods();
39 Dictionary get_file_info();
42 Ref<GeoDataset> get_dataset();
52 Ref<GeoFeature> get_feature_by_id(
int id);
55 Array get_all_features();
59 Ref<GeoFeature> create_feature();
63 void remove_feature(Ref<GeoFeature> feature);
75 void save_new(String file_path);
79 Array get_features_near_position(
double pos_x,
double pos_y,
double radius,
int max_features);
82 Array get_features_in_square(
double top_left_x,
double top_left_y,
double size_meters,
86 Array get_attribute_names();
89 bool has_attribute(String attribute_name);
93 Array get_features_by_attribute_filter(String filter);
96 Ref<GeoFeature> get_specialized_feature(std::shared_ptr<Feature> raw_feature);
101 void set_native_layer(std::shared_ptr<NativeLayer> new_layer);
105 void set_origin_dataset(Ref<GeoDataset> dataset);
110 std::shared_ptr<NativeLayer> layer;
111 std::map<std::shared_ptr<Feature>, Ref<GeoFeature>> feature_cache;
112 Ref<GeoDataset> origin_dataset;
124 static void _bind_methods();
134 bool has_write_access();
140 Dictionary get_file_info();
146 Image::Format get_format();
151 int get_band_count();
154 Array get_band_descriptions();
158 Ref<GeoDataset> get_dataset();
163 Ref<GeoRasterLayer> clone();
168 Ref<GeoImage> get_image(
double top_left_x,
double top_left_y,
double size_meters,
int img_size,
169 GeoImage::INTERPOLATION interpolation_type);
173 Ref<GeoImage> get_band_image(
double top_left_x,
double top_left_y,
double size_meters,
int img_size,
174 GeoImage::INTERPOLATION interpolation_type,
int band_index);
179 float get_value_at_position(
double pos_x,
double pos_y);
185 float get_value_at_position_with_resolution(
double pos_x,
double pos_y,
186 double pixel_size_meters);
192 void set_value_at_position(
double pos_x,
double pos_y, Variant value);
197 void smooth_add_value_at_position(
double pos_x,
double pos_y,
double summand,
double radius);
204 void overlay_image_at_position(
double pos_x,
double pos_y, Ref<Image> image,
double scale);
211 Vector3 get_center();
222 float get_pixel_size();
225 void load_from_file(String file_path,
bool write_access);
230 void set_native_dataset(std::shared_ptr<NativeDataset> new_dataset);
234 void set_origin_dataset(Ref<GeoDataset> dataset);
241 Ref<GeoDataset> origin_dataset;
242 std::shared_ptr<NativeDataset> dataset;
252 static void _bind_methods();
262 Dictionary get_file_info();
265 bool has_write_access();
268 Array get_raster_layers();
271 Array get_feature_layers();
276 Ref<GeoRasterLayer> get_raster_layer(String name);
281 Ref<GeoFeatureLayer> get_feature_layer(String name);
286 Ref<GeoFeatureLayer> get_sql_feature_layer(String query);
290 void load_from_file(String file_path,
bool write_access);
295 void set_native_dataset(std::shared_ptr<NativeDataset> new_dataset);
299 std::shared_ptr<NativeDataset> dataset;
Definition: geodata.h:248
Definition: geodata.h:120