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
Dane Springmeyer
d257b4701c
remove uneeded cpp file
2011-01-04 22:35:06 +00:00
Dane Springmeyer
f671ef20da
scons: ensure libmapnik is built before any plugins that link to it on osx, needed for builds with -jN
2010-12-21 20:46:44 +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
Lucio Asnaghi
dfdfe15853
+ avoid usage of static string where it's not needed
2010-11-14 14:49:42 +00:00
Dane Springmeyer
69ade9ab35
fix compile error when building without memory mapped shapefiles - problem since r2194
2010-11-08 20:38:17 +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
Robert Coup
1dce437120
#622 add optional late-binding of datasources
2010-10-24 06:34:18 +00:00
Dane Springmeyer
4286e9f08b
shape: switch back to previous end of file method - closes #647
2010-10-14 19:47:54 +00:00
Dane Springmeyer
f7346b0e72
make sure to seek to the beginning of shapefile when querying points and using indexes - thanks tmcw for uncovering - closes #643
2010-10-06 16:16:58 +00:00
Dane Springmeyer
523b09701e
Add the ability to pass custom CXXFLAGS and LDFLAGS that will be prioritized above other compiler and linker flags
2010-09-18 18:02:15 +00:00
Dane Springmeyer
1aa05e052d
shape: throw an error if an attribute name is requested that does not exist and report out which attribute names are available - closes #604
2010-09-14 17:59:50 +00:00
Dane Springmeyer
73fe7fda4a
use boost::iostreams::stream_offset for dbf offset and record_length_ to work around >2 GB issue with filtering features - closes #595 (TODO - look into offset issues in shape indexes - #603 )
2010-09-14 16:21:25 +00:00
Dane Springmeyer
d84ac3ad5b
better error message if shapefile index cannot be read
2010-09-14 15:43:38 +00:00
Dane Springmeyer
4c07bc8447
avoid compiler warning in indexed shape reader
2010-09-14 15:43:02 +00:00
Artem Pavlenko
ad03de5895
+ better .index handling (TODO!)
2010-09-06 19:20:59 +00:00
Dane Springmeyer
89acd2e6e0
pass iterators as const to qi::phrase_parse allowing compile on linux g++ (rhel)
2010-09-06 18:37:02 +00:00
Artem Pavlenko
23ea9e0004
add coomment
2010-09-02 20:21:00 +00:00
Artem Pavlenko
65eba5f894
use boost::spirit to parse int and double from dbf
2010-09-02 20:20:51 +00:00
Artem Pavlenko
7776b8f4ae
+ make shape_io object a shape datasource member and re-use memmapped files
...
(todo : only implemented for indexed shape files atm)
2010-09-02 20:20:42 +00:00
Dane Springmeyer
930b2cc7b6
better handling and error reporting around ogr layer names and indexes, renamed ogr plugins index file to 'ogrindex' to avoid collision with shape plugins index (when using common shapefile between each as the indexes appear incompatible)
2010-08-20 21:20:55 +00:00
Dane Springmeyer
50147ab509
warn if no index is found for shapefiles - TODO - add an env setting to turn off warnings
2010-08-18 21:02:54 +00:00
Artem Pavlenko
d6acd74ec3
+ don't create stack variable for reclen
2010-07-25 20:12:43 +00:00
Artem Pavlenko
7bef66b448
+ correct null shapes processing
...
(no bounding box, no geometric data)
+ untabify and re-format
2010-07-25 19:55:47 +00:00
Artem Pavlenko
5fd6db7b0f
+ formatting ..
2010-07-25 19:55:40 +00:00