Commit graph

581 commits

Author SHA1 Message Date
artemp
c860f9e465 add well_known_names to string mappings 2016-11-15 10:14:10 +01:00
artemp
0e9f06d221 more comprehensive validation implementation 2016-11-14 12:58:13 +01:00
artemp
92d35d1e40 fix json_value name clashing + add skeleton feature validation method 2016-11-14 12:18:36 +01:00
artemp
252a0366e9 consistent usage of iterator type + cleanups 2016-11-11 15:24:11 +01:00
artemp
99ce79fd36 allow short style syntax for long options e.g "-x3", "-validate-features" etc. 2016-11-11 10:48:03 +01:00
artemp
19f1af3861 mapnik-index - add optional 'fast' spirit::x3 GeoJSON parsing. Activated by "--x3" program option. 2016-11-11 10:40:52 +01:00
artemp
709d8409cc Merge branch 'master' into develop-master 2016-10-17 09:47:00 +02:00
Bas Couwenberg
01699fe81e Fix 'depedencies' typo, replace with 'dependencies'. 2016-10-15 20:07:52 +02:00
artemp
df12183e10 re-use object file to avoid duplicate compilation 2016-10-14 14:25:34 +02:00
artemp
8ce7a1c43d refactor souce code files with the following rule: the physical filesytem path matches namespace structure
e.g `mapnik::geometry::centroid()` -> `$(MAPNIK_SOURCE)/include/mapnik/geometry/centroid.hpp`
2016-10-11 18:01:29 +02:00
Dane Springmeyer
02c2338c43 mapnik-config: strip clang specific warning flags 2016-08-31 11:09:11 -07:00
artemp
2864d90460 more explicit conversions to the target variant type 2016-07-25 13:45:35 +02:00
Mickey Rose
fc3d194ad2 missed svg2png when renaming svg_renderer_agg 2016-06-16 23:16:39 +02:00
Dane Springmeyer
fca1075fec fix documentation for mapnik-render --open command - refs #3375 [skip ci] 2016-04-25 09:56:40 -07:00
artemp
9833bfb9ad make opening rendered image an optional op ( ref #3374) 2016-04-25 16:39:09 +02:00
artemp
1871e5f62d return EXIT_FAILURE on invalid input ref #3410 2016-04-25 10:11:55 +02:00
artemp
2cbb9f480a deduce box_type from T 2016-04-05 18:26:31 +02:00
artemp
7cd5301cbe mapnik-index - refactor to use box2d<float> and reduce memory requirement during index creations 2016-03-24 17:12:16 +00:00
artemp
35190e81e0 rename open to is_open in utils/mapnik-index/process_geojson_file.cpp 2016-03-18 10:42:35 +01:00
Dane Springmeyer
087add2c71 Remove MAPNIK_BUNDLED_SHARE_DIRECTORY build option
- this was intended to be used by python-mapnik
 - but it is not currently, so let's clean it up
 - todo: get actual ICU_DATA,PROJ_LIB,GDAL_DATA values from those depependent libs
2016-03-16 13:48:26 -07:00
artemp
96b96c745d Revert "csv_utils - check and skip processing lines consisting only of 0xa (windows) ( fixes #3359 )"
This reverts commit 9c09f15de9.
2016-03-15 13:01:54 +01:00
artemp
9c09f15de9 csv_utils - check and skip processing lines consisting only of 0xa (windows) ( fixes #3359 ) 2016-03-15 12:26:00 +01:00
Dane Springmeyer
89db790dda rename parse_csv function to avoid confusion in inheritance 2016-03-11 14:23:16 -08:00
Dane Springmeyer
c715b142ec suppress more third party warnings 2016-03-10 11:44:44 -08:00
Dane Springmeyer
57dbd77819 more warning_ignore usage - refs #2907 2016-03-09 16:43:00 -08:00
artemp
ff9cceeb9f use platform specific macros as return codes (EXIT_SUCCESS/EXIT_FAILURE) + check if extent read from shapefile is valid and has valid width and heoght before creating an index. 2016-03-07 13:52:58 +01:00
Dane Springmeyer
833703026d add COVERAGE configure option - only set coverage flags on libmapnik and plugins - refs #3344 2016-03-03 14:19:12 -08:00
Mickey Rose
c21778fdfc merge mapnik-index::process_csv_file and csv_datasource::parse_csv
- the function in plugin was already configurable via flags, and only
  contained two un-conditioned blocks that process_csv_file didn't have

- so I extracted the common parts into a separate function (in a class
  holding the flags and state), process_csv_file calls it with default
  flags, plugin sets them from params

- removed namespace ::detail, moving stuff that was used outside
  csv_utils to ::csv_utils, and the rest to ::csv_utils::detail
2016-02-26 20:28:42 +01:00
Mickey Rose
aaffb1c771 don't #include .cpp, add it to sources 2016-02-25 11:58:38 +01:00
Dane Springmeyer
d1a4268eb6 remove unneeded includes - found with http://include-what-you-use.org 2016-02-24 22:39:50 -08:00
Dane Springmeyer
f2782d0b67 [csv] move spirit usage to cpp 2016-02-24 17:42:51 -08:00
Dane Springmeyer
8ffee05048 Merge branch 'master' of github.com:mapnik/mapnik into faster-csv-compile 2016-02-24 16:42:23 -08:00
artemp
b7dd8331df use std::ofstream (ref 3300) 2016-02-18 12:54:17 +01:00
Dane Springmeyer
85d4596769 move getline impl to separate header to avoid as much spirit inclusion 2016-02-15 19:06:11 -08:00
artemp
ca0c0e5888 csv_util - combine auto-decting separator/quote/newline into one method std::tuple<char, bool, char, char> autodect_csv_flavour(T & stream, std::size_t file_length) 2016-02-15 13:55:06 +01:00
artemp
2b725dd257 shapeindex - skip 'null' shapes (ref #3288) 2016-02-08 15:51:13 +01:00
Dane Springmeyer
e76a1d9a81 [csv] use faster version of csv_utils::parse_line in more places + fix error output 2016-02-01 12:23:26 -08:00
artemp
d027ed67c7 more const strictness, update to work with latest mapbox::variant/visitor-no-copy branch 2016-01-27 14:50:17 +01:00
Dane Springmeyer
03285f60b0 install mapbox variant - followup to #3236 2016-01-14 14:09:32 -08:00
artemp
c8932b3df3 svg2png : use SVG dimensions as a fallback when bounding box has zero width or height (e.g horizontal or vertical line) 2016-01-08 10:20:50 +00:00
artemp
412fa20eb8 shapeindex: indicate default behaviour in -h(--help) 2016-01-04 13:23:50 +00:00
artemp
4c6632cf93 shapeindex : remove duplicate node defs + add default ctor 2016-01-04 13:19:16 +00:00
artemp
a2b3130d4b rebase to master (remove spirit-x3 changes) 2016-01-04 11:43:27 +00:00
Dane Springmeyer
2222ca9b95 Merge pull request #3197 from tomhughes/nik2img
Fix name reported by mapnik-render
2015-12-14 13:33:42 -08:00
artemp
3139dad5cd don't bother iterating over geometries if shape_type is shape_null in header 2015-12-14 14:11:38 +00:00
artemp
6ca0e34a80 mapnik-index - output failed feature JSON when both --validate-features and --verbose options present. 2015-12-14 11:47:19 +00:00
Tom Hughes
25a9cab9ad Fix name reported by mapnik-render 2015-12-06 15:10:43 +00:00
artemp
ec074752cc fix mistype => should be while (shx.is_good() && pos <= file_length - 4) 2015-11-23 10:32:14 +00:00
artemp
c32166c71f move loop terminatiion condition to the top and avoid potential infinite loop when if (content_length != shp.read_xdr_integer()) + Track empty shapes and don't create *.index when there is no non-empty geometries
(#3184)
2015-11-23 09:58:27 +00:00
Jiri Drbalek
cb3f0fdcf2 mapnik-index: fix linking on Linux 2015-11-19 11:01:46 +00:00
artemp
7a0688edcb mapnik-index - implement validatation callback by comparing bounding boxes from bbox extractor and GeoJSON feature 2015-11-12 16:12:06 +00:00
artemp
5eecf1dfae mapnik-index - add "--validate-features" option (experimental) 2015-11-12 13:45:25 +00:00
artemp
2602b1faff don't fail on null shapes (record length : 8 bytes) 2015-11-11 16:21:03 +00:00
Dane Springmeyer
7608040906 centralize warning suppression 2015-11-07 17:53:09 -08:00
artemp
60fc5910f3 mapnik-index - fix std::clog message typo 2015-11-06 10:56:45 +00:00
Dane Springmeyer
db7466adf0 link icu again - refs #3145 - reverts 3bb0f1748f 2015-11-04 13:12:25 -08:00
artemp
6aca4b17f8 extract_bounding_box - fail on nested "FeatureCollection" elements 2015-11-03 13:33:06 +00:00
artemp
439fcd0426 correct clog message + formatting 2015-11-02 14:27:57 +00:00
artemp
2acafe78ee mapnik-index - check extracted bounding box is valid 2015-11-02 14:14:12 +00:00
Dane Springmeyer
18858dffca avoid boost qi warning [skip ci] 2015-10-27 16:38:43 -07:00
artemp
209fe55e14 trim headers + sync with csv.input 2015-10-23 13:10:23 +01:00
artemp
6effbedff3 csv.input/mapnik-index - validate geometry locator and throw early if invalid 2015-10-22 13:29:26 +01:00
Dane Springmeyer
cd5b97b01f better error reporting when no valid files are passed to mapnik-index 2015-10-20 14:49:58 -07:00
Dane Springmeyer
d80179fca4 fix mapnik-index build when memory mapping is disabled - closes #3135 2015-10-20 12:17:32 -07:00
Dane Springmeyer
001520aa95 mapnik-index: only dump output if actually processing csv or geojson 2015-10-20 12:15:51 -07:00
Dane Springmeyer
3bb0f1748f icu linking for mapnik-index should be unneeded 2015-10-20 12:15:23 -07:00
Dane Springmeyer
c8867d1419 use std::system 2015-10-19 10:01:33 -07:00
artemp
652fa15ec0 better stderr 2015-10-16 10:49:29 +01:00
artemp
950afdcac1 mapnik-index : output number of elements 2015-10-13 17:12:02 +01:00
artemp
3368b6d1de shapeindex - re-factor to read offset and record length from *.shx (allows reading erroneous shapefiles from NE) 2015-10-13 13:34:21 +01:00
artemp
4093f10f61 shapefile_reader.py - improve by adding test_polygon 2015-10-13 13:34:21 +01:00
Dane Springmeyer
a326cff744 ensure mapnik-config is rebuilt if version.hpp changes 2015-10-12 13:42:08 -07:00
Dane Springmeyer
ba8747784d fix typo 2015-10-12 13:38:01 -07:00
Dane Springmeyer
67718ed8e1 rename nik2img to mapnik-render 2015-10-12 10:38:58 -07:00
Dane Springmeyer
dc80d9f582 Fix -Wsign-compare [skip ci] 2015-10-09 13:49:34 -07:00
artemp
da1247fa1e mapnik-index: add initial support for processing GeoJSON 2015-10-09 12:49:58 +01:00
artemp
21b5a132a9 mapnik-index - refactor to prepare for adding GeoJSON index support 2015-10-09 11:27:35 +01:00
artemp
bf411f55de remove debug stderr 2015-10-07 17:39:00 +01:00
Dane Springmeyer
8d11151382 rename csvindex to mapnik-index since we'll soon support geojson 2015-10-07 08:33:24 -07:00
artemp
8f8a33a2ee cleanups 2015-10-07 12:37:30 +01:00
artemp
63c73b5057 add initial 'qoute' auto-detection + restore csv_test's 2015-10-05 16:56:33 +01:00
artemp
5c6c8ff7a3 csv.input - restore handling of inline headers and only one line of data without new line 2015-10-05 15:28:57 +01:00
artemp
bcb1cc6053 format 2015-10-05 15:23:20 +01:00
artemp
178e39e19a make separator single character and simplify/optimise csv_grammar 2015-10-05 15:23:20 +01:00
artemp
1d320b7133 make quote single char 2015-10-02 12:20:54 +01:00
artemp
98ea1c5cd9 csv_utils::getline_csv - add 'quote' argument 2015-10-02 12:17:38 +01:00
Dane Springmeyer
3acec350f6 avoid more -Wshadow warnings from boost 2015-10-01 13:35:23 -07:00
Dane Springmeyer
c414526802 Merge pull request #3099 from mapycz/fix-todo
remove Feature alias of feature_impl
2015-10-01 10:53:27 -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
Jiri Drbalek
a03081c367 remove Feature alias of feature_impl 2015-10-01 14:16:11 +00:00
artemp
9c292595b4 use mapnik::quad_tree<T> 2015-09-29 12:21:02 +01:00
artemp
2f35c71606 mapnik::quad_tree - add methods required for spatial_index construction and serialization
remove utils/shapeindex/quadtree.hpp
2015-09-29 12:20:46 +01:00
artemp
2a7a2c998e add <memory> include 2015-09-25 17:11:01 +01:00
artemp
dd0ef307ee correct const's + coding style 2015-09-25 10:44:25 +01:00
artemp
27be7113a9 csvindex - use quadtree from shapeindex + cleanup 2015-09-24 12:03:32 +01:00
artemp
71ef858c1d csvindex - initial writing to disk impl 2015-09-18 15:44:21 +01:00
artemp
c1d9bc909e csvindex - initial commit (work-in-progress) 2015-09-15 10:55:59 +01:00
artemp
f8fd60dc69 remove libxml includes and init calls 2015-07-30 13:13:53 +02:00
artemp
5b287ab798 catch std::exception to get better stderr 2015-07-29 16:09:33 +02:00
artemp
52007b8019 Merge branch 'master' into svg-parser-errors 2015-07-21 09:46:38 +02:00
artemp
f58a13825f correct std::clog message 2015-07-20 14:51:24 +02:00
artemp
faa2c19359 make visitor return status + don't mutating svg_name_ 2015-07-20 12:05:26 +02:00
artemp
c166d9acb8 reduce code duplication 2015-07-16 13:06:52 +02:00
artemp
8c6bf0eef6 update copyright notice 2015-06-16 12:49:16 +02:00
Blake Thompson
a9712ed081 Forgot to add prefix change to mapnik config to cairo as well 2015-06-15 16:25:59 -05:00
Blake Thompson
a4aee2eb59 Added an update to mapnik config so that it can provide relative path to libraries better in node mapnik. 2015-06-15 15:37:23 -05:00
Paul Norman
eeec7850d0 Don't hard-code bash path in mapnik-config
[[ is a bashism, so this script needs bash, but shouldn't assume a location.
2015-05-24 13:16:31 -07:00
artemp
2565dc0975 remove unused boost::tokenizer headers from mapnik/utils 2015-05-15 16:55:30 +01:00
Blake Thompson
0eecbd3e0f Modified marker cache to store shared_ptrs in order to prevent threading issues and to close #2713 2015-05-04 14:11:41 -05:00
artemp
470da20d53 fix remanining cAmEl case names 2015-05-04 12:49:11 +02:00
artemp
081cf02dcf fix method signitures to use std::size_t
rename getSize() -> size(), getRowSize() -> row_size
2015-05-04 10:57:57 +02:00
Dane Springmeyer
2de1805aa3 make mapnik-config able to report relative paths to share/ data 2015-04-27 16:02:41 -07:00
Dane Springmeyer
0685c43802 followup after #2773: remove python from install doc,static datasources, utils 2015-04-25 08:21:59 +02:00
Dane Springmeyer
8bb605e2e9 move python bindings out of core #2773 - now at https://github.com/mapnik/python-mapnik 2015-04-24 09:04:00 +02:00
Blake Thompson
87fb41907a Added template to geometries 2015-04-09 15:22:51 -05:00
Dane Springmeyer
852776d5e3 geometry is_empty refactoring 2015-03-24 14:16:58 -07: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
Dane Springmeyer
95ca3a02f8 update pgsql2sqlite to new geometry 2015-03-22 12:14:11 -07:00
artemp
642bdfa78c fix geometry_to_wkb utility 2015-03-16 16:14:54 +01:00
artemp
7031099b76 Merge branch 'master' into mapnik-geometry 2015-02-20 17:03:46 +01:00
Blake Thompson
2ebce8e7e1 Updated svg2png for new markers 2015-02-19 12:19:01 -06:00
artemp
5678e55abf shapeindex - use range based for loop 2015-02-19 11:04:13 +01:00
Blake Thompson
b2c1c86d99 Merge branch 'master' into release/image_data_Any
Conflicts:
	benchmark/test_polygon_clipping.cpp
2015-02-16 14:37:01 -06:00
Dane Springmeyer
5424c350cd avoid inf loop on empty point3d shapefile 2015-02-13 00:04:09 -08:00
artemp
884de5a044 fix condition for skipping M (measure) in PointZ 2015-02-12 22:18:00 +01:00
Dane Springmeyer
89a58c5879 Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any 2015-02-11 10:01:42 -08:00
artemp
e19fdad3a6 implement vertex interface in vertex_adapter and make mapnik::geometry_type immutable 2015-02-06 16:45:51 +01:00
Dane Springmeyer
71e7faed0d Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
Conflicts:
	tests/python_tests/image_test.py
	tests/python_tests/image_tiff_test.py
	tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png
	tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png
2015-02-03 00:05:15 -08:00
Dane Springmeyer
956d936162 fix pep8 linter command + update a few linted files 2015-02-02 10:38:08 -08:00
Blake Thompson
bc28c12572 Found more situations where getRowSize should be used over multiplying the width by the pixel size. 2015-01-27 15:29:43 -06:00
Blake Thompson
22a384ef33 Moved image_data_rgba8 to image_rgba8. Ref #2633 2015-01-21 20:31:02 -06:00
Blake Thompson
93f835177b Removed all the code for the previous type of image and image_32. Ref #2633 2015-01-21 17:57:16 -06:00
Blake Thompson
badb0c9a97 This is a complete removal of code that utilizes image_32 in the library. It is a sweeping change that does some of the following:
* Changes all agg_renderers to use a image_data_any variant (only image_data_rgba8 is implemented currently)
* Changes the marker and marker_cache to use image_data_any images
* Changes the symbolizers so that they must be aware of the source data type they are attempting to render and the render type that is expected to be rendered into.
* Moves many utilities into image_utils, that were previously in image_32.

The kicker is that this still isn't working perfectly yet, but I am commiting so I don't have tears in case everything is lost on my computer.

Ref #2633
2015-01-20 18:30:10 -06:00
Dane Springmeyer
1f25bae0f4 fix compile of svg2png 2015-01-14 21:03:35 -08:00
Dane Springmeyer
fbecd5ff33 always pass image_data to save_to_string/file 2015-01-08 13:54:43 -08:00
artemp
5361d21beb move mapnik::noncopyable to mapnik::util::noncopyable where it belongs 2015-01-07 13:11:09 +01:00
artemp
18554ec0b1 remove static_visitor usage and rely on automatic result type deduction
(NOTE: expression_evaluator requires  ```using result_type = T1;``` )

Conflicts:
	src/image.cpp
2015-01-07 11:39:06 +01:00
artemp
38da080f82 make concrete image_data type names more expressive and explicit about color channels/depth:
image_data_32 -> image_data_rgba8
image_data_8  -> image_data_gray8
image_data_16 -> image_data_gray16
image_data_float32  -> image_data_gray32f

NOTE: currently image_data_gray16::pixel_type = std::int16_t (signed 16 bit int) to match GDAL
should we support unsigned types?
2014-12-04 11:02:42 +01:00
artemp
333965b588 update copyright year 2014-11-20 15:25:50 +01:00
Dane Springmeyer
58f13823af remove debug print 2014-11-05 13:41:30 -05:00
Dane Springmeyer
c4e4bbf350 nik2img: make params as variables opt-in 2014-11-05 13:41:30 -05:00
Dane Springmeyer
5cd2cd629f nik2img: optionally make map parameters available as variables 2014-11-04 15:31:51 -05:00
Dane Springmeyer
38cb85a7df avoid a few more boost warnings 2014-10-27 10:30:36 -07:00
Dane Springmeyer
2ce6a317dd better defaults for git metadata 2014-10-23 01:00:35 -07:00
Dane Springmeyer
036a3bb14f only report git metadata for git checkout builds 2014-10-23 00:42:10 -07:00
Dane Springmeyer
a0dc3df575 move mapnik-config back to utils/ 2014-10-22 23:46:33 -07:00
Dane Springmeyer
83588937b9 silence boost warnings 2014-10-21 16:37:27 -07:00
Dane Springmeyer
4c07585312 fix #2464 2014-09-30 21:16:29 -07:00
Dane Springmeyer
dc57849b7d geometry container typedef fixing 2014-09-29 18:40:57 -07:00