artemp
9fed6fd571
shape.input - fix multi-polygon handling
2015-02-19 14:32:45 +01:00
artemp
33d45db318
c++ style - better syntax
2015-02-19 10:20:17 +01:00
artemp
b49b8042c1
shape.input/agg - add polygon3 support
2015-02-18 18:12:47 +01:00
artemp
133f7d04ef
agg_renderer - support multi_line_strings
2015-02-18 14:26:11 +01:00
artemp
604d7b08af
use reserve
to pre-allocate line_strings + cleanups
2015-02-18 13:48:05 +01:00
artemp
2e4e1f71b8
adapt to use mapnik::new_geometry::geometry (shape.input only)
2015-02-18 13:21:16 +01:00
artemp
34d96f3ef2
shape.input - avoid expensive hit_test and instead use relatively cheap orientation test to distinguish
...
between inner and outter rings (Polygon/NultiPolygon) -- ref #2151 https://github.com/mapbox/unpacker/issues/324
```txt
A polygon consists of one or more rings. A ring is a connected sequence of four or more
points that form a closed, non-self-intersecting loop. A polygon may contain multiple
outer rings. The order of vertices or orientation for a ring indicates which side of the ring
is the interior of the polygon. The neighborhood to the right of an observer walking along
the ring in vertex order is the neighborhood inside the polygon. Vertices of rings defining
holes in polygons are in a counterclockwise direction. Vertices for a single, ringed
polygon are, therefore, always in clockwise order. The rings of a polygon are referred to
as its parts.
```
2014-12-18 11:28:28 +01:00
artemp
333965b588
update copyright year
2014-11-20 15:25:50 +01:00
Dane Springmeyer
18183aed2a
fix a few -Wunused-parameter warnings
2014-10-20 22:28:40 -07: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
artemp
22aa3f4aef
create shape_io object per featureset to allow datasource sharing
2014-05-30 15:37:44 +01:00
artemp
ecc5acbdb9
attempt to handle multi-polygons in shape.input
2014-02-24 15:20:06 +00: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
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
0365d3e081
start centralizing filesystem operations in mapnik::util::fs - refs #1177
2013-06-02 19:28:24 -07:00
artemp
c73e48fa58
+ use std::unique_ptr instead of std::auto_ptr (deprecated!)
2013-04-19 09:50:50 +01: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
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
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
a12b8f1d2f
c++ style
2012-09-03 10:27:48 -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
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
b36739fd88
apply mapnik_format.el formatting
2012-03-13 07:59:22 -07: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
820b9a2b25
merge master with feature_impl
2012-01-17 17:47:27 -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
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
Dane Springmeyer
ce9e44b5f2
plugin code formatting based on emacs format in utils/format_source_files
2011-11-13 19:37:50 -08:00
kunitoki
a7b67566b2
- modified coding style in shape plugin
2011-10-22 15:27:28 +02:00
Artem Pavlenko
7a00511a56
+ cleanup
2011-08-12 16:43:21 +00:00
Dane Springmeyer
136a6de680
disable unused 'support' for shape type and shx
2011-05-19 21:31:25 +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
Artem Pavlenko
f811d096b5
+ consistent file naming, cleaups
2011-05-10 15:03:09 +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
4b076272fe
only warn about missing index file in debug mode
2011-01-31 23:43:50 +00:00
Dane Springmeyer
a3be4f54ab
avoid trying to open index for non-indexed shapefile reads for every feature query - good speedup
2010-12-10 01:25:43 +00:00
Lucio Asnaghi
9b3ef53338
- improved error reporting in shape plugin
2010-11-29 09:15:43 +00:00
Lucio Asnaghi
a5f582f77e
+ shape plugin logging cosmetics
2010-11-18 23:46:01 +00:00
Dane Springmeyer
826282a47f
check for the existance of a shape index before trying to open it
2010-11-15 03:16:23 +00:00
Artem Pavlenko
ab101401cd
+ simplify geometry implementation
...
+ removed multiple geometry typedefs
+ use geometry_type
+ revert to storing vertices in vector_vertex
(previous implementation using std::vector was
fragmenting heap causing performance issues with large geometries)
+ FIXME: hit_test is broken!
2010-11-03 13:19:15 +00:00