Commit graph

15 commits

Author SHA1 Message Date
Alberto Valverde
a613dc6397 Created python binding to memory_datasource which can be added Features built programaticcaly. See tests for sample use until docs are done. #528 is almost closed. 2010-03-19 16:16:15 +00:00
Artem Pavlenko
47dc1e197b + merge mapnik2 to trunk 2009-12-16 20:02:06 +00:00
Dane Springmeyer
80a5bdf6e3 revert pickling support on datsources since they can't be created directly from python - we now dump and load in the layer object via params as of r1149 - see #345 2009-05-20 00:26:44 +00:00
Dane Springmeyer
196b01c16c + make interface to datasource attributes, featuresets, and features more pythonicby adding feature.envelope() method returning combined extent of geometries, ds.fields() method returning list of names, and featureset.features() which returns list of all features in featurset - now accessible via datasource.all_features()- closes #283, #280, #171 2009-05-01 01:21:29 +00:00
Artem Pavlenko
9970766461 formatting 2009-03-15 23:33:46 +00:00
Dane Springmeyer
3e51c02513 + add pickling interface to layers and datasources (closes #205) - TODO support parameters 2009-02-16 01:53:34 +00:00
Artem Pavlenko
9a75034a88 + applied python_point_datasource.patch from lwu 2009-01-13 00:56:09 +00:00
Artem Pavlenko
8010d5433f 1. Removed srid from geometry class
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")
2007-06-12 08:59:54 +00:00
Artem Pavlenko
af44541598 implemented query_map_point method on map object:
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
2006-12-06 20:26:59 +00:00
Artem Pavlenko
68bbcac872 Reflect featureset and feature classes in Python. Featureset follows Python iterator protocol e.g:
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.
2006-12-01 10:08:13 +00:00
Artem Pavlenko
f1393cc019 1. hit_test implementation for geometry objects:
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
2006-11-25 11:02:59 +00:00
Jean-Francois Doyon
9170b57041 Reorder headers to prevent a warning.
See http://docs.python.org/api/includes.html for details.
2006-10-16 23:26:57 +00:00
Artem Pavlenko
1b7e1b421e added missing header 2006-10-16 21:57:27 +00:00
Artem Pavlenko
2351cb38d0 1.added Describe() to Datasource, return list of attributes/types.
2.modified WMS to work with new Projection
2006-10-16 21:34:09 +00:00
Artem Pavlenko
bb235fa316 1.added projection transformation support based on proj4 (new dependency!!!)
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
2006-10-16 13:44:52 +00:00