Commit graph

363 commits

Author SHA1 Message Date
Dane Springmeyer
6074e87bbb include optional - fix msvs compile - refs #2396 2014-08-28 19:29:07 -07:00
artemp
fe215a684e c++11 style : replace (almost) all typedef with type alias's 2014-07-07 18:23:15 +01:00
artemp
0702679bb0 don't call *params.get<std::string>("type"), instead use static datasource::name()
(FIXME: consider removing redundant 'name' in feature_layer_descriptor)
2014-06-26 10:51:24 +01:00
artemp
3ded23fbab move make_unique out of std namespace and allow building with c++14 compilers
( -std=c++1y )
2014-06-12 15:14:05 +01:00
Dane Springmeyer
d0b357cab7 scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging 2014-06-09 13:55:56 -07:00
artemp
22aa3f4aef create shape_io object per featureset to allow datasource sharing 2014-05-30 15:37:44 +01:00
artemp
1cb03bac2f mark is_open as const 2014-05-30 15:37:23 +01:00
artemp
2812735dfd c++ style 2014-05-30 10:15:29 +01:00
artemp
99bbb10290 c++11 : use int types from <cstdint> 2014-05-06 18:06:47 +01:00
artemp
ecc5acbdb9 attempt to handle multi-polygons in shape.input 2014-02-24 15:20:06 +00:00
Dane Springmeyer
f286363ad0 more consistent memset/memcpy usage 2014-01-28 15:05:10 -08:00
Dane Springmeyer
777e067770 remove workaround for boost less than 1.46 since 1.47 is now the min needed - refs #1082 2014-01-27 12:24:20 -08:00
Dane Springmeyer
63ea37b4c2 further no terminal port 2014-01-26 14:49:03 -08:00
Dane Springmeyer
b492437505 avoid dereferencing pointer more than once 2013-12-11 07:27:51 -08:00
Dane Springmeyer
f998b2bda6 Merge branch '2.3.x' of github.com:mapnik/mapnik
Conflicts:
	deps/agg/build.py
	deps/clipper/build.py
	include/mapnik/feature_style_processor_impl.hpp
	plugins/input/csv/csv_datasource.cpp
2013-11-03 23:10:21 -08:00
Dane Springmeyer
b21b59b835 shape.input: conditionally include boost interprocess 2013-10-28 18:31:20 -07:00
Dane Springmeyer
710d558218 scons: simplify linkflags/ldflags setting / attempt to fix #2025 2013-10-22 16:35:46 -04:00
artemp
7adee4ab36 c++11 : remove boost::make_shared includes 2013-10-17 15:09:56 +01:00
artemp
09ce29489e use const std::unique_ptr<> instead of boost::scoped_ptr<> 2013-09-20 14:22:58 +01:00
artemp
62af2e6765 + replace <boost/shared_ptr.hpp> with <memory> 2013-09-20 14:13:23 +01:00
artemp
b315eb2167 + use std::shared_ptr and std::make_shared 2013-09-20 14:01:27 +01:00
Dane Springmeyer
111bdccebc various post-merge fixes 2013-09-18 19:51:14 -07:00
artemp
d4b9a48cb1 + geometry::types Exterior/Interior polygon loops 2013-09-03 12:15:31 +01:00
artemp
4f4e2b001e Merge branch 'master' into c++11
Conflicts:
	SConstruct
	benchmark/run.cpp
	bindings/python/mapnik_datasource.cpp
	bindings/python/mapnik_feature.cpp
	bindings/python/python_optional.hpp
	include/mapnik/css_color_grammar.hpp
	include/mapnik/expression_grammar.hpp
	include/mapnik/feature.hpp
	include/mapnik/feature_style_processor_impl.hpp
	include/mapnik/image_filter_types.hpp
	include/mapnik/image_util.hpp
	include/mapnik/json/geometry_generator_grammar.hpp
	include/mapnik/json/geometry_grammar.hpp
	include/mapnik/processed_text.hpp
	include/mapnik/tiff_io.hpp
	include/mapnik/util/geometry_svg_generator.hpp
	include/mapnik/util/geometry_wkt_generator.hpp
	include/mapnik/utils.hpp
	include/mapnik/webp_io.hpp
	include/mapnik/wkt/wkt_grammar.hpp
	plugins/input/shape/shape_datasource.cpp
	plugins/input/shape/shapefile.hpp
	src/expression_grammar.cpp
	src/expression_string.cpp
	src/image_util.cpp
	src/json/feature_collection_parser.cpp
	src/json/feature_parser.cpp
	src/miniz.c
	src/symbolizer_helpers.cpp
	src/tiff_reader.cpp
	src/webp_reader.cpp
	tests/cpp_tests/geometry_converters_test.cpp
	tests/cpp_tests/image_io_test.cpp
	tests/cpp_tests/map_request_test.cpp
	tests/python_tests/image_test.py
	tests/visual_tests/test.py
2013-08-30 09:46:09 +01:00
Dane Springmeyer
4eef244e73 move SHAPE_MEMORY_MAPPED_FILE to be a global define 2013-08-13 14:48:04 -04:00
Dane Springmeyer
134cbc3eec forward declare mapped_region in mapped_memory_cache.hpp and other shared memory fixups 2013-08-13 14:13:56 -04:00
Dane Springmeyer
d2000b465b Merge branch 'master' of github.com:mapnik/mapnik 2013-08-13 12:19:19 -04:00
Dane Springmeyer
28ed9a2cfd only include mapped_memory_cache.hpp if truly building shapefile plugin with -DSHAPE_MEMORY_MAPPED_FILE 2013-08-13 12:19:01 -04:00
Dane Springmeyer
e32c225307 fix handling of F and O type dbf fields and sync handling for attribute_descriptors - refs #1614 and closes #1976 2013-08-07 18:58:01 -04:00
Dane Springmeyer
4fb2e271f6 Revert "as discussed with @artemp - there should be no need or benefit to trying to handle F type in dbf since it is a foxpro extension that shapefiles do not commonly use"
This reverts commit 53acae94be.
2013-08-07 18:42:16 -04:00
Dane Springmeyer
31931b89cb git rid of a few fixme 2013-07-23 16:00:16 -04:00
Dane Springmeyer
19ce56b051 one more special case handling of utf8 in ogr plugin - refs #1177 2013-06-02 21:09:21 -07:00
Dane Springmeyer
3b2bdba7b0 iwyu 2013-06-02 20:19:33 -07:00
Dane Springmeyer
0365d3e081 start centralizing filesystem operations in mapnik::util::fs - refs #1177 2013-06-02 19:28:24 -07:00
Dane Springmeyer
370609feed shape.input: when reading from mapped memory cache keep a mapped_region_ptr member to ensure the memory stays alive - refs #1877 2013-05-30 14:32:20 -07:00
Dane Springmeyer
49933d7d0f remove tab 2013-05-21 12:54:48 -07:00
artem@windows
154c93017a * add support for unicode (utf16) paths on windows 2013-05-21 09:42:55 -07:00
artem@windows
871ac5b4bb * add support for unicode (utf16) paths on windows 2013-05-21 09:48:12 +01:00
Dane Springmeyer
3fbf4df67d add support for statically linking datasource input plugins - closes #1810 and #1821 - refs #249 2013-05-16 11:55:58 -07:00
artemp
c73e48fa58 + use std::unique_ptr instead of std::auto_ptr (deprecated!) 2013-04-19 09:50:50 +01:00
Dane Springmeyer
9da1f35b5e plugins do not need to store nulls / save space - refs #1644 2013-04-11 16:05:29 -07:00
artemp
bfaee4afae + avoid std::string->C-string->std::string round trip 2013-04-10 12:44:05 +01:00
Dane Springmeyer
e2c7283522 Added new mapnik-config options: git-describe, defines, includes, dep-includes, and cxxflags - closes #1443 2013-03-13 19:49:59 -07:00
Dane Springmeyer
5b3cca9d44 remove used variables 2013-03-11 12:59:11 -07:00
artemp
e9f03a565f + explicit polygon path closing 2013-03-01 11:08:58 -05:00
Dane Springmeyer
ceb8ffcc6f fixup includes for shape input 2013-01-14 01:49:35 -08:00
Dane Springmeyer
071c67d438 iwyu 2013-01-13 22:01:13 -08:00
Dane Springmeyer
b5c06965ac refactor expression and value type usage to speed up compile time 2013-01-08 14:17:31 -08:00
Dane Springmeyer
4bd5484cdb fixup includes and value type and params usage across plugins 2013-01-04 09:23:06 -08:00
Dane Springmeyer
4471c0f6f4 fixup includes 2013-01-03 18:53:00 -08:00
Dane Springmeyer
626e0056fd replace boost::trim with faster internal trim - refs #1633 2013-01-03 18:02:21 -08:00
Dane Springmeyer
000b714eae fix more clang++ -Wshadow warnings 2013-01-03 12:37:45 -08:00
artemp
f5dd9e53c4 + calc int_parser/generator type from mapnik::value_integer 2012-12-18 18:05:45 +00:00
artemp
a38b252ccd Merge branch 'master' into bigint
Conflicts:
	plugins/input/geojson/geojson_datasource.cpp
	plugins/input/postgis/postgis_featureset.cpp
2012-12-18 13:57:39 +00:00
artemp
274fbf8f7a + ensure 'close path' handled correcly
(currenlty SEG_CLOSE command must have valid x,y)
+ implement real_policies in wkt and geojson generators
2012-12-18 11:44:35 +00:00
Dane Springmeyer
43244efb7d Merge branch 'master' of github.com:mapnik/mapnik into no-bind 2012-12-17 13:03:11 -08:00
Dane Springmeyer
7b39333234 remove as much mutable as possible 2012-12-17 12:59:15 -08:00
Dane Springmeyer
c5410fac7e remove bind option for datasources - refs #962 2012-12-17 10:03:07 -08:00
Dane Springmeyer
bb27156df0 use internal noncopyable class to speed up compile times slightly 2012-12-16 18:19:52 -08:00
artemp
c4bae9d30a Merge branch 'master' into bigint
Conflicts:
	bindings/python/mapnik_feature.cpp
	plugins/input/shape/dbfile.cpp
2012-12-14 10:01:21 +00:00
Dane Springmeyer
9575bb8786 return value_null for null integer stored in shapefile dbf - closes #1638 - refs #1642 2012-12-11 19:40:46 -08:00
Dane Springmeyer
e928c483bf properly support tolerance in shape filter_at_point - refs #1640 2012-12-11 14:46:52 -08:00
artemp
02bb955b59 + simplify and refactor shape featuresets to be more resilient to various
quirky shapefiles.
+ fix io navigation functions to use std::streampos
2012-12-11 09:37:53 +00:00
Dane Springmeyer
c0021d0760 remove unused iostream includes and unnecessary usage of ostringstream - refs #1055 2012-12-06 23:06:12 -08:00
artemp
da0d74529d + fix record length check to account for OGR not writing PointZ according to
shapefile spec - PointZ: type,x,y,z,measure  (#1193, #504)
2012-12-06 15:14:06 +00:00
artemp
8fa88a71b6 Merge branch 'master' into bigint 2012-12-03 13:14:31 +00:00
artemp
855aea95e0 + mapnik::value and mapnik::parameters - initial support for 64-bit integers 2012-12-03 13:12:09 +00:00
Dane Springmeyer
e9ca5b47e2 finish support for dbf logical type, strip handling of memo, and add tests for all basic types - refs #1614 2012-12-02 21:37:39 -08:00
Dane Springmeyer
4e9f6c12eb Merge branch 'master' of github.com:mapnik/mapnik 2012-11-29 17:53:06 -08:00
Dane Springmeyer
53acae94be as discussed with @artemp - there should be no need or benefit to trying to handle F type in dbf since it is a foxpro extension that shapefiles do not commonly use 2012-11-29 17:44:06 -08:00
artemp
26889c4761 + support 'logical' type #1614 2012-11-29 17:19:34 +00:00
artemp
85e00d6596 Merge remote-tracking branch 'origin/master' 2012-11-29 10:36:18 +00:00
artemp
430e75e0ac + better stdout 2012-11-29 10:35:03 +00:00
artemp
913e1d0cfe + don't expect we _must_ consume all input when parsing numbers
some DBF can have some junk appended to records #1605
2012-11-29 10:23:51 +00:00
Dane Springmeyer
46ee60b398 fix row_limit behavior in shape.input to stop reading when count = row_limit, not just when count > row_limit 2012-11-28 14:15:53 -08:00
Manel Clos
8f7083d14d Add tolerance parameter to features_at_point
Make map.query_point() always pass tolerance to datasources
2012-09-28 15:12:10 +02:00
artemp
967d6110bf + singleton: return ref from instance() method 2012-09-07 16:23:03 +01:00
artemp
11e6ba0c09 + make client methods non-static in classes derived from
mapnik::singleton<> (TODO: apply to all)
+ ensure client methods are accessed through instance() method
2012-09-07 14:56:30 +01:00
Dane Springmeyer
a12b8f1d2f c++ style 2012-09-03 10:27:48 -07:00
Dane Springmeyer
ac418a7d4e remote the last references 2012-08-27 16:43:40 -07:00
artemp
618bc1ba0f + close polygon 2012-07-26 15:20:23 +01:00
artemp
4ddddba254 + use pre-increment op 2012-07-26 11:58:48 +01:00
artemp
690b56a511 + use std::auto_ptr 2012-07-26 11:57:41 +01:00
Dane Springmeyer
241bf28da0 'include what you use' in plugins to set up for future forward declarations in mapnik/feature.hpp and mapnik/datasource.hpp 2012-07-24 19:21:55 -07:00
Dane Springmeyer
669c4906d4 avoid c-linkage warning with datasources - closes #1323 2012-07-20 18:34:41 -07:00
Dane Springmeyer
e21bcb35a1 whitespace 2012-04-16 22:22:35 -07:00
kunitoki
74342e3083 - no need to #ifdef all the time: the compiler should optimize out the log calls when no MAPNIK_LOG is defined
- initially got rid of those ifdefs in plugins only
2012-04-09 12:05:49 +02:00
kunitoki
8c58a9aa73 - improved again the logging facilities
- 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)
2012-04-09 03:00:51 +02:00
Dane Springmeyer
31303ff341 shape plugin: only add feature value if parsing is successful 2012-04-07 17:56:58 -07:00
kunitoki
af201551b8 got rid of old CVS $Id comments kludge in files 2012-04-08 02:45:01 +02:00
kunitoki
1f351e0e09 implement new debug system 2012-04-08 02:20:56 +02:00
Artem Pavlenko
385ca5b5b5 Merge remote-tracking branch 'origin/master' 2012-03-13 16:44:36 +00:00
Dane Springmeyer
b36739fd88 apply mapnik_format.el formatting 2012-03-13 07:59:22 -07:00
Artem Pavlenko
3f681a7504 + move mapnik::context_ptr to initialization list 2012-03-13 10:19:46 +00:00
Artem Pavlenko
3891922b28 use const ref and avoid creating temp std::string 2012-03-13 10:11:58 +00:00
Dane Springmeyer
5bdaf44a7a Revert "shape: check if multiple parts are interior rings or separate"
This reverts commit faaa4f6e3f.
2012-02-26 22:11:22 -08:00
Dane Springmeyer
e2d398f6db add permissive flag to ogr and shape plugins to work around boost interprocess compile bug - closes #1082 - refs #950 and #1001 2012-02-14 10:33:40 -08:00
Dane Springmeyer
0e701dd899 initialize context in init list 2012-02-02 08:58:20 -08:00
Dane Springmeyer
77c58e487d whitespace fixes 2012-02-01 17:37:35 -08:00
Artem Pavlenko
7601095e24 move context's typedef inside to avoid poluting global namespace 2012-01-19 17:36:27 -05:00
Artem Pavlenko
a88186fef8 no need for boost::noncopyable in derived classes 2012-01-18 09:13:29 -05:00
Dane Springmeyer
820b9a2b25 merge master with feature_impl 2012-01-17 17:47:27 -05:00
Dane Springmeyer
e1ba3f723d add issue # to code comments 2012-01-17 13:33:35 -05:00
Dane Springmeyer
6a2a847c3b remove unused shx code 2012-01-17 10:06:59 -05:00
Dane Springmeyer
b0d0d06564 finish refactor, moving to separate method off datasources to get_geometry_type and using enums all around 2012-01-17 01:09:46 -05:00
Artem Pavlenko
86ea7f2951 remove unused data members 2012-01-12 12:28:53 +00:00
Artem Pavlenko
159a69a0bb add shape_utils 2012-01-12 12:20:39 +00:00
Artem Pavlenko
0bb8adbbdc factor out common code to reduce duplication (shape_utils) 2012-01-12 12:18:50 +00:00
Artem Pavlenko
c6338f82af use boost::noncopyable 2012-01-12 10:11:01 +00:00
Artem Pavlenko
3bd41e45a4 upgrade shape.input to new feature impl 2012-01-12 10:04:08 +00:00
Dane Springmeyer
7be62e594a ensure all plugins report best guess at top level geometry_type using new descriptor attribute 2012-01-11 20:03:23 -08:00
Artem Pavlenko
faaa4f6e3f shape: check if multiple parts are interior rings or separate
polygons. Currently only test if first coordinate inside exterior
ring and assume first ring is exterior.

If this approach is not robust enough we can calculate ring orientations
instead. Shape file convention is: CW - exterior, CCW - interior.

very simple
2012-01-05 16:24:38 +00:00
Artem Pavlenko
02dce6a756 make shape_io work with geometry_container concept 2011-12-09 12:25:13 +00:00
Artem Pavlenko
b689670ffd switch back from mapnik2 to mapnik
add mapnik2 module which redirects to mapnik and issues DeprecationWarning
2011-11-23 11:33:58 +00:00
Dane Springmeyer
ce9e44b5f2 plugin code formatting based on emacs format in utils/format_source_files 2011-11-13 19:37:50 -08:00
Dane Springmeyer
c8b2ddfaba reduce the size of plugin libraries by hiding unneeded symbols 2011-11-11 15:37:10 -08:00
kunitoki
2cf56bf767 - copyright fixes in shape plugin 2011-10-23 21:09:59 +02:00
kunitoki
a7b67566b2 - modified coding style in shape plugin 2011-10-22 15:27:28 +02:00
Dane Springmeyer
22c39d91ba scons: rename all SConscript files to more friendly name of 'build' with a python extension for quick syntax detection in editors 2011-08-30 05:32:01 +00:00
Dane Springmeyer
7121f6269a add row_limit option to shapefile driver to allow limiting the number of features rendered - closes #741 2011-08-26 07:02:36 +00:00
Dane Springmeyer
3e67c1d694 scons: centralize install path info 2011-08-12 21:31:28 +00:00
Artem Pavlenko
4b09f3d750 + skip null shapes 2011-08-12 16:43:28 +00:00
Artem Pavlenko
7a00511a56 + cleanup 2011-08-12 16:43:21 +00:00
Dane Springmeyer
82ac99611e add LINKING option to control whether libmapnik is build static or shared and RUNTIME_LINK options to trigger dependency flags to compile against static libs 2011-08-11 19:14:00 +00:00
Artem Pavlenko
9a49b81318 + check if pos is valid while iterating through
shapes (don't use eof()!)
+ handle null_shapes better (TODO:testing)
2011-08-11 11:04:19 +00:00
Artem Pavlenko
5ddd7052e4 + apply try/catch around the attribute loop
+ code formatting
2011-08-11 11:04:04 +00:00
Dane Springmeyer
17854e6c4f shape: improve the error message when an invalid attribute is requested 2011-08-05 21:20:21 +00:00
Dane Springmeyer
ccfbf175a0 handle timestamps and floats in shapefile dbf reader 2011-07-12 00:59:43 +00:00
Dane Springmeyer
e84119aed9 directly link libmapnik in plugins (not just darwin) - patch from Stella L. - closes #790 2011-07-05 23:41:17 +00:00
Dane Springmeyer
e4329847d2 shape.input: re-assign feature id's once we know their correct value after reading geometry up to the dbf link - TODO - we should be able to look ahead to avoid this re-assign 2011-05-20 01:41:28 +00:00
Dane Springmeyer
978dc29568 detect top level shape geometry type and throw if multipatch since we don't support it 2011-05-19 21:48:45 +00:00
Dane Springmeyer
136a6de680 disable unused 'support' for shape type and shx 2011-05-19 21:31:25 +00:00
Dane Springmeyer
e901058eba skip null geometries for indexed shapefiles (already skip for non-indexed) to avoid invalid reads - TODO - consider not adding to index to avoid need to skip 2011-05-19 21:24:08 +00:00
Dane Springmeyer
e588b2e135 cache iterator in shape_index_featureset 2011-05-18 01:56:06 +00:00
Dane Springmeyer
49fd1f93d1 use boost::make_shared across plugins to avoid explicit new and ensure fast and exception safe allocation 2011-05-16 23:41:34 +00:00
Dane Springmeyer
c19ede5070 remove last references to boost_iostreams dependency 2011-05-10 15:57:45 +00:00
Artem Pavlenko
f811d096b5 + consistent file naming, cleaups 2011-05-10 15:03:09 +00:00
Artem Pavlenko
878bc6b6da + remove boost::iostreams includes 2011-04-07 15:15:46 +00:00
Artem Pavlenko
7c3896f3a3 + cleanups 2011-04-07 15:09:20 +00:00
Artem Pavlenko
3d0697f343 + update SConscript to reflect previous change 2011-04-07 13:45:05 +00:00
Artem Pavlenko
02fffbd89f + better naming: dbffile -> dbfile 2011-04-07 13:44:57 +00:00
Artem Pavlenko
e81761d270 + remove boost::iostreams dependency 2011-04-07 13:35:21 +00:00
Artem Pavlenko
0e0b7a578c + implement memory mapping using boost::interprocess
+ cache mapped memory regions for re-use
2011-04-06 13:02:31 +00:00
Dane Springmeyer
5a1842aad1 remove tabs 2011-04-02 03:45:50 +00:00
Dane Springmeyer
3df75cc422 shape.input: check if .dbf exists and throw up front if not rather than letting shape_io fail 2011-02-28 17:44:56 +00:00
Dane Springmeyer
616aa2ed05 avoid keeping open shape_io shared_ptr when the shapefile does not have an index 2011-02-09 23:41:41 +00:00
Dane Springmeyer
c5833a6db8 remove unmaintained autotools scripts 2011-02-04 22:22:16 +00:00
Dane Springmeyer
4b076272fe only warn about missing index file in debug mode 2011-01-31 23:43:50 +00:00
Dane Springmeyer
65e96cf2b7 more cleanup after removal of unneeded cpp file 'shapefile.cpp' 2011-01-05 02:07:12 +00:00
Dane Springmeyer
6f0de6d76d scons: remove reference to deleted cpp file 2011-01-05 01:25:31 +00:00