Commit graph

255 commits

Author SHA1 Message Date
Dane Springmeyer
3932cc51b3 add getline benchmark - refs #3101 2015-10-01 14:47:55 -07:00
Dane Springmeyer
2d59fca9f9 ensure consistent, ordered linking for plugins - closes #3105 2015-10-01 13:35:56 -07:00
Dane Springmeyer
05ade151a5 suppress yet more -Wshadow warnings from boost 2015-10-01 13:35:23 -07:00
Dane Springmeyer
3acec350f6 avoid more -Wshadow warnings from boost 2015-10-01 13:35:23 -07:00
artemp
be437eb6b0 add experimental getline_csv implementation which handles newline characters inside single/double quoted strings 2015-10-01 18:33:32 +01:00
artemp
a4e15b5a47 remove stderr 2015-10-01 15:34:49 +01:00
artemp
4273e37278 Merge branch 'master' into csv-disk-index 2015-10-01 15:26:47 +01:00
Dane Springmeyer
d6b60188e8 avoid -Wshadow errors from boost when compiling csv plugin 2015-09-30 14:11:16 -07:00
artemp
19897a3085 correct exception handling in main processing loop 2015-09-30 12:37:36 +01:00
artemp
848098baeb spatial_index/quad_tree - remove `operator>>' requirement, instead value_type stored must have standard layout for correct (de)serialisation + update unit test 2015-09-29 15:44:57 +01:00
artemp
49266fbd56 csv.input (disk-index) - add support for memory mapped files 2015-09-29 10:35:36 +01:00
artemp
21e6936f85 first cut at using csv_index_featureset 2015-09-25 17:50:24 +01:00
artemp
3c56379273 CSV - initial disk-index featureset 2015-09-25 16:47:03 +01:00
artemp
c362702e8b remove unused erroneous type def 2015-09-18 09:42:28 +01:00
artemp
337525ef60 csv.input - don't attempt to build if boost < 1.56 2015-09-11 11:20:45 +02:00
artemp
826882b150 enable sorting + small refactor 2015-09-09 12:14:15 +02:00
artemp
0de6d36000 use memory mapped file by default for both index and data parsing (improves loading times by ~50%) - default on non-windows platforms 2015-09-09 11:56:21 +02:00
artemp
310dc968ea fix potential type mismatch 2015-09-09 11:08:00 +02:00
artemp
284ca099ea set input state to std::ios::failbit (only needed on linux ?) 2015-08-27 13:41:02 +02:00
artemp
8f37b30978 fix handling 'one line' + 'manual headers' + 'no newline' case
update get_geometry_type  ( ref https://github.com/mapnik/mapnik/issues/3047)
2015-08-27 13:07:51 +02:00
artemp
4f5bdf82c1 slightly better syntax (NOTE: 4000 seems arbitrary here) 2015-08-27 13:07:51 +02:00
artemp
3753d50b75 CSV - revive row_limit parameter + fix stderr 2015-08-25 15:05:04 +02:00
artemp
8709fb6f7c CSV - optimise parsing by providing num_columns hint 2015-08-24 16:35:32 +02:00
artemp
6c9257a915 add parse_line accepting iterator range and avoid string ctor 2015-08-24 15:41:04 +02:00
artemp
c9d1d51b8a simplify + factor out properties parsing logic 2015-08-24 14:13:13 +02:00
artemp
2477d8764e keep on untangling spaghetti
* implement standalone ignore case equality to avoid copying
* fix various logic shortcommings
2015-08-24 12:23:59 +02:00
artemp
5dead08ecc CSV - remove unused params and member vars 2015-08-24 09:30:57 +02:00
artemp
4babec802a CSV - implement spatial index access to features on disk + preserve support for inline data (work-in-progress) 2015-08-21 13:52:42 +02:00
artemp
93fcc0a783 cleanup 2015-08-19 15:24:38 +02:00
artemp
6c3d9bb2a2 CSV plug-in - refactor and bring some sanity, sigh .. 2015-08-19 12:04:56 +02:00
artemp
318a8217a7 work-in-progress 2015-08-17 15:27:17 +02:00
artemp
9c7186e49e add `autodetect_newline' as a separate function 2015-06-19 13:30:00 +02:00
artemp
d893718343 Merge branch 'master' into large_csv 2015-06-18 13:06:28 +02:00
artemp
8c6bf0eef6 update copyright notice 2015-06-16 12:49:16 +02:00
Dane Springmeyer
b2c85e0c65 fix a slew of -Wsign-conversion, -Wconversion, -Wunused-argument warnings 2015-06-15 20:41:51 -07:00
artemp
b228da7bc3 remove unused grammar + remove stderr 2015-06-11 10:27:32 +01:00
artemp
1a95f1753e remove dead code 2015-06-10 16:32:05 +01:00
artemp
40b963f9ad csv_grammar - handle various quotting options + disable csv_utils::fix_json_quoting(csv_line) 2015-06-10 13:40:55 +01:00
artemp
cb832c0964 format 2015-06-10 11:41:28 +01:00
artemp
989af2ea42 use csv_grammar to parse csv lines 2015-06-09 15:22:37 +01:00
artemp
35ff68a7ec refactor - detect_separator free func 2015-06-09 10:17:55 +01:00
artemp
f208717070 fix spelling 2015-06-04 17:21:08 +01:00
artemp
e0e46eb3a8 csv plugin : add file_length standalone helper, make file_length local variable 2015-06-04 17:21:08 +01:00
artemp
2eaa90033a move singleton to util/singleton.hpp
move windows UTF conversion routines to util/utf_conv_win.hpp
2015-06-02 11:10:41 +01:00
artemp
5e9b40aebd use assignment to initialise built-in types 2015-06-01 14:03:53 +01:00
artemp
6f9a5dcd0b use STL algorithms 2015-06-01 13:58:37 +01:00
Dane Springmeyer
84e4d8bf22 Start calling geometry::correct everywhere possible - refs #2834 2015-05-20 14:00:30 -07:00
Dane Springmeyer
a43bec6d0b no need for geometry::correct in csv plugin 2015-05-05 20:47:29 -07:00
Blake Thompson
87fb41907a Added template to geometries 2015-04-09 15:22:51 -05:00
artemp
4389c80d84 and finaly, rename 'new_geometry' namespace to 'geometry' 2015-03-24 14:21:28 +01:00
artemp
7e03d41606 rename geometry_impl.hpp to geometry.hpp 2015-03-24 13:32:05 +01:00
artemp
1cf0a897ac move datasource::geometry_t into separate header and rename -> datasource_geometry_t to avoid cyclic dependencies issue
to_ds_type - return actual datasource_geometry_t (remove optional)
update across datasources
experssions - revert to using
2015-03-24 12:13:31 +01:00
artemp
8de2621b99 datasource : temporary reinstate get_geometry_type() method to increese test coverage and ease migration to mapnik-geometry 2015-03-19 12:09:07 +01:00
artemp
28fe4847b9 csv.input - correct WKT geometry to be consistent
symbolizer_helper - handle geometry types in VERTEX_PLACEMENT
2015-03-18 16:18:44 +01:00
artemp
f627b8ace3 csv - use mapnik-geometry 2015-03-13 11:13:15 +01:00
artemp
aa5ae6b843 update markers_symbolizer to work with mapnik-geometry (work-in-progress) 2015-03-05 15:07:23 +01:00
artemp
333965b588 update copyright year 2014-11-20 15:25:50 +01:00
Dane Springmeyer
ca3078938c simplify and install mapnik wkt and json libs 2014-10-22 00:09:22 -07:00
Dane Springmeyer
83588937b9 silence boost warnings 2014-10-21 16:37:27 -07:00
Dane Springmeyer
44bc5b59d6 break out wkt/json grammars into separate libraries 2014-10-13 01:06:36 -07:00
Dane Springmeyer
c53bcd99a6 csv plugin: only attempt to parse ascii as numbers - closes #2450 2014-09-30 16:30:45 -07:00
Dane Springmeyer
a13fa6720a csv: parse true/false as boolean in csv plugin - closes #1540 2014-08-12 11:16:05 -07:00
Dane Springmeyer
c55a3c3130 csv plugin: support conversion to boolean types - closes #1540 2014-08-12 10:00:37 -07:00
Dane Springmeyer
8feedd94cd rename mapnik::boolean to mapnik::boolean_type - closes #1899 2014-07-28 19:46:49 -07:00
Dane Springmeyer
c5be70ff65 refactor spirit grammars 2014-07-24 14:31:59 -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
Dane Springmeyer
d0b357cab7 scons: support MAPNIK_NAME option to customize libmapnik name for custom packaging 2014-06-09 13:55:56 -07:00
Dane Springmeyer
97a45f21bb all static grammar usage const + xml_tree cleanups 2014-04-30 10:42:05 -07:00
Dane Springmeyer
8c1e69fdb8 static grammars
- construct on first use
 - allows for faster map loading and unloading of xml loading tree
 - modified expression and transform grammars to not take args/not crash
 - simplifies interfaces, allows fast parsing from python without passing grammar instance
2014-04-30 00:11:27 -07:00
Dane Springmeyer
84166882d9 minimum boost version is 1.47 - remove obsolete code handling older versions 2014-01-27 13:19:21 -08:00
Dane Springmeyer
9428f7f018 csv plugin: fix syntax after merge 2013-11-03 23:17:40 -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
7612ff7b20 csv plugin: support user defined extent 2013-10-30 11:57:03 -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
b315eb2167 + use std::shared_ptr and std::make_shared 2013-09-20 14:01:27 +01:00
artemp
d4b9a48cb1 + geometry::types Exterior/Interior polygon loops 2013-09-03 12:15:31 +01:00
Dane Springmeyer
b40128706c scons: default to building csv/geojson plugins unless boost is known to be too old (fixes HOST behavior) 2013-06-14 11:41:52 -07:00
Dane Springmeyer
ef1b99532b scons: fix boost_regex and sqlite_rtree config checks and be resilient to plugins that cannot be built due to the boost version 2013-06-02 14:56:21 -07:00
Dane Springmeyer
8478fdc217 fix boolean check to be easier to read 2013-05-21 12:55:08 -07:00
Dane Springmeyer
20076e593f support for handling unicode paths on windows in sqlite, csv, and geojson plugins - refs #1177 2013-05-21 12:51:31 -07: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
Dane Springmeyer
712ff50abe make a few utility functions inline and static 2013-02-26 10:52:41 -05:00
artemp
1ef9ec2b88 + use std::deque for caching features. 2013-01-18 12:27:29 +00: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
e682705a86 use the std library tolower over boost::algorithm::to_lower for both better runtime and compile speed - closes #1677 2013-01-03 19:27:53 -08:00
Dane Springmeyer
ebfc3161c1 avoid direct usage of spirit in csv plugin 2013-01-03 16:26:09 -08:00
Dane Springmeyer
a5fdcea9db remove unused and obsolete 'quiet' option from csv datasource 2013-01-03 14:49:22 -08:00
Dane Springmeyer
aee275a08c fix number handling in csv plugin and add tests for 64bit integer support in sqlite and postgis datasources - refs #1669 2012-12-21 19:53:33 -08:00
Dane Springmeyer
66a5c26fdc leverage mapnik::value_integer for feature.id() and grid rendering buffer - refs #1662 2012-12-19 19:24:52 -08: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
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
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
7c58bf9fcb replace boost::trim with faster custom trim - closes #1633 2012-12-07 14:06:13 -08:00
Dane Springmeyer
c0021d0760 remove unused iostream includes and unnecessary usage of ostringstream - refs #1055 2012-12-06 23:06:12 -08:00
artemp
855aea95e0 + mapnik::value and mapnik::parameters - initial support for 64-bit integers 2012-12-03 13:12:09 +00:00
Dane Springmeyer
7efb37adb7 formatting 2012-10-04 17:59:43 -07: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
Dane Springmeyer
e8abc8eef1 csv: stop adding WKT/JSON geometry data to attributes 2012-09-25 14:08:07 -07:00
Dane Springmeyer
fca564614f csv plugin: improve newline detection - closes #1497 2012-09-21 13:34:43 -07:00
Dane Springmeyer
affecb0f32 csv plugin: support single row data and fix warning when no data can be parsed 2012-08-31 12:07:35 -07:00
Dane Springmeyer
4e2d2c67b0 double csv parsing speeds when handling geojson encoded geometries - refs #1436 2012-08-23 09:30:51 -07:00
Dane Springmeyer
a3254965fe double csv parsing speeds when handling wkt encoded geometries - refs #1436 2012-08-23 09:07:06 -07:00
Dane Springmeyer
bfc6a08b2e csv: initialize variables to prevent gcc warnings - refs #1330 2012-08-22 09:54:27 -07:00
Dane Springmeyer
9f7e033dbc csv plugin: be more permissive when headers length > column length but more strict when the opposite is true - closes #1417 2012-08-20 14:06:07 -07:00
Dane Springmeyer
f42805a532 CSV plugin: support reading geojson encoded geometries in various flavors of quoting fun - closes #1392 2012-08-17 13:46:32 -07:00
Dane Springmeyer
cf3bbb8cf0 csv plugin: be more aggressive about detecting and ignoring blank lines 2012-08-16 18:20:48 -07: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
1b23838c58 avoid uninitialized compiler warning 2012-07-23 17:43:21 -07:00
Dane Springmeyer
669c4906d4 avoid c-linkage warning with datasources - closes #1323 2012-07-20 18:34:41 -07:00
Dane Springmeyer
37c9142515 csv plugin: also detect fields named 'lng' as longitude 2012-06-25 10:18:09 -07:00
Dane Springmeyer
39bae3825e remove plugin usage of lexical cast - refs #1055 2012-06-22 16:49:53 -04: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
kunitoki
1f351e0e09 implement new debug system 2012-04-08 02:20:56 +02:00
Dane Springmeyer
9556584b0c create context in init list 2012-03-16 13:43:48 -07:00
Hermann Kraus
c2f9e3b637 Include correct file in csv datasource. 2012-03-11 23:07:39 +01:00
Hermann Kraus
c3cd50ff57 Complete new XML structure. 2012-03-07 19:16:41 +01:00
Dane Springmeyer
4ad9b4d282 formatting 2012-02-14 16:07:23 -08:00
Dane Springmeyer
00a2bec062 silence signed/unsigned compiler warning 2012-02-13 11:01:58 -08:00
Dane Springmeyer
b44a63ac1f link all remaining plugins to boost_system to avoid potential linking errors with boost-trunk (upcoming 1.49) - closes #1070 2012-02-09 16:00:11 -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
Dane Springmeyer
820b9a2b25 merge master with feature_impl 2012-01-17 17:47:27 -05:00
Dane Springmeyer
f0e37a9fa1 update csv plugin to use new feature interface 2012-01-17 13:34:08 -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
Dane Springmeyer
834310f2d8 refactor 2012-01-14 22:35:40 -08: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
Dane Springmeyer
143efad7cd csv plugin: allow values with leading zeros to stay as strings - closes #993 - refs https://github.com/mapbox/tilemill/issues/1007 2011-12-12 15:55:33 -08:00
Dane Springmeyer
37fee4b674 csv plugin: ensure that the datasource throws if invalid attributes are queried to keep consistent with other datasource - refs #792 2011-12-05 12:03:38 -08: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
f8a9095e81 csv: avoid invalid dereference 2011-11-14 00:34:26 -08:00
Dane Springmeyer
3fd56f82f5 csv: code formatting 2011-11-13 19:33:57 -08:00
Dane Springmeyer
c8b2ddfaba reduce the size of plugin libraries by hiding unneeded symbols 2011-11-11 15:37:10 -08:00
Dane Springmeyer
62753ad245 fix csv plugin build 2011-11-11 12:17:39 -08:00
Dane Springmeyer
6b98546466 ensure parallel builds work with csv plugin and kismet links to boost thread 2011-11-11 12:13:41 -08:00
Dane Springmeyer
40ae0efd26 use c++ style includes 2011-11-09 16:45:18 -08:00
Dane Springmeyer
a6dfb7b6a4 csv: detect as wkt columns with 'geom' substring and use more aggressive detection for blank lines 2011-11-04 07:18:40 -04:00
Dane Springmeyer
6295501ead csv: back off of null and boolean detection since using strings is more predictable across rows 2011-11-02 11:07:59 -04:00
Dane Springmeyer
e6ac5d8881 csv: also start auto-detecting ';' and '|' characters as likely separators 2011-11-01 21:11:10 -04:00
Dane Springmeyer
16ab2ba895 csv: use braces in all cases 2011-11-01 20:48:30 -04:00
Dane Springmeyer
7f2d3e09f2 csv: handle empty headers, an apparently common situation with large government data 2011-11-01 20:33:05 -04:00
Dane Springmeyer
0d9170cda2 csv: use unsigned to avoid compiler warnings 2011-11-01 11:55:23 -04:00
Dane Springmeyer
b3c2bfef01 csv: remove protective string checks now that spirit parsing is working 2011-10-31 19:12:13 -04:00
Dane Springmeyer
74d0af396e csv: be more strict about spirit parsing, iterate headers list to avoid dropping trailing nulls, and fixup exception handling a bit 2011-10-31 19:09:29 -04:00
Dane Springmeyer
225a8c4eaf get feature count incrementing working more properly 2011-10-28 21:50:31 -07:00
Dane Springmeyer
90154e0a1a csv plugin: also detect lat/lon/long field names as likely geometry columns 2011-10-18 19:27:23 -07:00