Dane Springmeyer
748fe3d228
fix polygon winding order for shapefiles + add test enforcing it
2015-04-14 15:35:32 +02:00
Blake Thompson
87fb41907a
Added template to geometries
2015-04-09 15:22:51 -05:00
artemp
390fff5bb4
ensure we're returning the same object from multiple return paths
...
from_wkb now returns geometry::geometry_empty instead of throwing
update cpp_tests
2015-04-01 15:04:05 +02:00
artemp
3c2430150d
add 'is_clockwise' as generic function
...
shape_io -- rely on RVO optimisation (remove an extra std::move)
2015-03-31 13:43:37 +02:00
artemp
4389c80d84
and finaly, rename 'new_geometry' namespace to 'geometry'
2015-03-24 14:21:28 +01:00
artemp
ac1ffa2bfb
move geometry.hpp into path.hpp and update code base to reflect this change
2015-03-24 12:42:09 +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
0885dfb15a
rename polygon3 -> polygon
2015-02-24 14:13:00 +01:00
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
8e34077aef
more cleanups
2015-02-18 13:51:20 +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
5361d21beb
move mapnik::noncopyable to mapnik::util::noncopyable where it belongs
2015-01-07 13:11:09 +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
d25f0c316a
silence more warnings
2014-10-21 17:44:47 -07:00
Dane Springmeyer
83588937b9
silence boost warnings
2014-10-21 16:37:27 -07:00
Dane Springmeyer
18183aed2a
fix a few -Wunused-parameter warnings
2014-10-20 22:28:40 -07:00
Dane Springmeyer
4cbc139689
remove boost::format usage
2014-09-30 18:35:07 -07:00
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