+ ensure mapnik::memory_datasource is wrapped in std::shared_ptr in Python bindings
+ register implicit conversion from std::shared_ptr<memory_datasource> to std::shared_pre<datasource>
ref #2020
- aligned the plugins to using the new methods with severity
- implemented per object severity, with fallback to global (with global functions to set them programmatically)
- initial check in of logger python bindings (todo)
2. Pass resolution to bbox query
3. Use variant<int,double,string> as parameter value e.g in Python:
ds = Raster(file="/path/to/file",lox = 12312.4,.....)
Added extractor facility to work with mapnik::parameter (C++):
mapnik::parameters params;
params["parameter0"] = 123.456;
params["parameter1"] = "123.456"; // initialize with string extract double later
boost::optional<double> val0 = params.get<double>("parameter0");
if (val0)
{
std::cout << *val0;
}
// with default value. NOTE: there is no 'parameter2' in params
boost::optional<double> val2 = params.get<double>("parameter2",654.321);
std::cout << * val2;
//
4. Added Gdal factory method in __init__.py
ds = Gdal(file="/tmp/file.tiff")
fs = m.query_map_point(x,y) # Map (screen) coordinates
for feature in fs:
print feature
TODO: provide interface to feature in Python, at the moment only __str__ implemented which dumps attributes
ds = Shapefile(file="/../..")
for f in ds.features_at_point(Coord(-2,51)):
print f
TODO:
1.access to Feature properties
2.feature_at_point to accept screen coordinates
3.apply hit_test for geometries.
bool hit_test(double x, double y, double tol);
2. added image_view(unsigned x, unsigned y, unsigned width, unsigned height)
allowing to select region from image data e.g (in Python):
im = Image(2048,2048)
view = im.view(0,0,256,256)
save_to_file(filename,type, view)
3. changed envelope method to return vy value in datasource classes
4. features_at_point impl for shape and postgis plug-ins
Map and Layer objects both have a new parameter 'srs', initialized to "+proj=latlong +datum=WGS84" by default.
Basic usage (Python):
p = Projection("+proj=merc +datum=WGS84")
point = p.forward(Coord(-2,51))
...
2.reflected arithmetic operators for Envelope/Coord into Python
3.altered return policies for python objects
4.modified build system to require proj4 lib and headers