Merge commit '95b29f82b192f3aba6ef7efa57e4ac3ccb021910' into harfbuzz
This commit is contained in:
commit
793ec114e9
77 changed files with 537 additions and 176 deletions
|
@ -11,6 +11,7 @@
|
|||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <cstdio>
|
||||
#include <set>
|
||||
|
||||
// boost
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
@ -25,32 +26,51 @@
|
|||
using namespace boost::chrono;
|
||||
using namespace mapnik;
|
||||
|
||||
static unsigned test_num = 1;
|
||||
static bool dry_run = false;
|
||||
static std::set<int> test_set;
|
||||
|
||||
typedef process_cpu_clock clock_type;
|
||||
typedef clock_type::duration dur;
|
||||
|
||||
template <typename T>
|
||||
void benchmark(T test, std::string const& name)
|
||||
{
|
||||
if (!test.validate()) throw std::runtime_error(std::string("test did not validate: ") + name);
|
||||
process_cpu_clock::time_point start;
|
||||
dur elapsed;
|
||||
if (test.threads_ > 0) {
|
||||
boost::thread_group tg;
|
||||
for (unsigned i=0;i<test.threads_;++i)
|
||||
{
|
||||
tg.create_thread(test);
|
||||
}
|
||||
start = process_cpu_clock::now();
|
||||
tg.join_all();
|
||||
elapsed = process_cpu_clock::now() - start;
|
||||
} else {
|
||||
start = process_cpu_clock::now();
|
||||
test();
|
||||
elapsed = process_cpu_clock::now() - start;
|
||||
bool should_run_test = true;
|
||||
if (!test_set.empty()) {
|
||||
should_run_test = test_set.find(test_num) != test_set.end();
|
||||
}
|
||||
std::clog << (test.threads_ ? "threaded -> ": "")
|
||||
<< name << ": "
|
||||
<< boost::chrono::duration_cast<milliseconds>(elapsed) << "\n";
|
||||
if (should_run_test) {
|
||||
if (!test.validate()) {
|
||||
std::clog << "test did not validate: " << name << "\n";
|
||||
//throw std::runtime_error(std::string("test did not validate: ") + name);
|
||||
}
|
||||
if (dry_run) {
|
||||
std::clog << test_num << ") " << (test.threads_ ? "threaded -> ": "")
|
||||
<< name << "\n";
|
||||
} else {
|
||||
process_cpu_clock::time_point start;
|
||||
dur elapsed;
|
||||
if (test.threads_ > 0) {
|
||||
boost::thread_group tg;
|
||||
for (unsigned i=0;i<test.threads_;++i)
|
||||
{
|
||||
tg.create_thread(test);
|
||||
}
|
||||
start = process_cpu_clock::now();
|
||||
tg.join_all();
|
||||
elapsed = process_cpu_clock::now() - start;
|
||||
} else {
|
||||
start = process_cpu_clock::now();
|
||||
test();
|
||||
elapsed = process_cpu_clock::now() - start;
|
||||
}
|
||||
std::clog << test_num << ") " << (test.threads_ ? "threaded -> ": "")
|
||||
<< name << ": "
|
||||
<< boost::chrono::duration_cast<milliseconds>(elapsed) << "\n";
|
||||
}
|
||||
}
|
||||
test_num++;
|
||||
}
|
||||
|
||||
bool compare_images(std::string const& src_fn,std::string const& dest_fn)
|
||||
|
@ -249,11 +269,83 @@ struct test5
|
|||
};
|
||||
|
||||
|
||||
int main( int, char*[] )
|
||||
#include <mapnik/box2d.hpp>
|
||||
#include <mapnik/projection.hpp>
|
||||
#include <mapnik/proj_transform.hpp>
|
||||
#include <mapnik/well_known_srs.hpp>
|
||||
|
||||
struct test6
|
||||
{
|
||||
unsigned iter_;
|
||||
unsigned threads_;
|
||||
std::string src_;
|
||||
std::string dest_;
|
||||
mapnik::box2d<double> from_;
|
||||
mapnik::box2d<double> to_;
|
||||
explicit test6(unsigned iterations,
|
||||
unsigned threads,
|
||||
std::string const& src,
|
||||
std::string const& dest,
|
||||
mapnik::box2d<double> from,
|
||||
mapnik::box2d<double> to) :
|
||||
iter_(iterations),
|
||||
threads_(threads),
|
||||
src_(src),
|
||||
dest_(dest),
|
||||
from_(from),
|
||||
to_(to) {}
|
||||
|
||||
bool validate()
|
||||
{
|
||||
mapnik::projection src(src_);
|
||||
mapnik::projection dest(dest_);
|
||||
mapnik::proj_transform tr(src,dest);
|
||||
mapnik::box2d<double> bbox = from_;
|
||||
if (!tr.forward(bbox)) return false;
|
||||
return ((std::fabs(bbox.minx() - to_.minx()) < .5) &&
|
||||
(std::fabs(bbox.maxx() - to_.maxx()) < .5) &&
|
||||
(std::fabs(bbox.miny() - to_.miny()) < .5) &&
|
||||
(std::fabs(bbox.maxy() - to_.maxy()) < .5)
|
||||
);
|
||||
}
|
||||
void operator()()
|
||||
{
|
||||
mapnik::projection src(src_);
|
||||
mapnik::projection dest(dest_);
|
||||
mapnik::proj_transform tr(src,dest);
|
||||
unsigned count=0;
|
||||
for (int i=-180;i<180;i=++i)
|
||||
{
|
||||
for (int j=-85;j<85;++j)
|
||||
{
|
||||
mapnik::box2d<double> box(i,j,i,j);
|
||||
if (!tr.forward(box)) throw std::runtime_error("could not transform coords");
|
||||
++count;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
int main( int argc, char** argv)
|
||||
{
|
||||
if (argc > 0) {
|
||||
for (int i=0;i<argc;++i) {
|
||||
std::string opt(argv[i]);
|
||||
if (opt == "-d" || opt == "--dry-run") {
|
||||
dry_run = true;
|
||||
} else if (opt[0] != '-') {
|
||||
int arg;
|
||||
if (mapnik::util::string2int(opt,arg)) {
|
||||
test_set.insert(arg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
std::cout << "starting benchmark…\n";
|
||||
|
||||
{
|
||||
test1 runner(100);
|
||||
benchmark(runner,"encoding blank image as png");
|
||||
|
@ -304,6 +396,41 @@ int main( int, char*[] )
|
|||
benchmark(runner,"double to string conversion with snprintf");
|
||||
}
|
||||
|
||||
mapnik::box2d<double> from(-180,-80,180,80);
|
||||
mapnik::box2d<double> to(-20037508.3427892476,-15538711.0963092316,20037508.3427892476,15538711.0963092316);
|
||||
{
|
||||
// echo -180 -60 | cs2cs -f "%.10f" +init=epsg:4326 +to +init=epsg:3857
|
||||
test6 runner(100000000,100,
|
||||
"+init=epsg:4326",
|
||||
"+init=epsg:3857",
|
||||
from,to);
|
||||
benchmark(runner,"lonlat -> merc coord transformation (epsg)");
|
||||
}
|
||||
|
||||
{
|
||||
test6 runner(100000000,100,
|
||||
"+init=epsg:3857",
|
||||
"+init=epsg:4326",
|
||||
to,from);
|
||||
benchmark(runner,"merc -> lonlat coord transformation (epsg)");
|
||||
}
|
||||
|
||||
{
|
||||
test6 runner(100000000,100,
|
||||
"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs",
|
||||
"+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
|
||||
from,to);
|
||||
benchmark(runner,"lonlat -> merc coord transformation (literal)");
|
||||
}
|
||||
|
||||
{
|
||||
test6 runner(100000000,100,
|
||||
"+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
|
||||
"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs",
|
||||
to,from);
|
||||
benchmark(runner,"merc -> lonlat coord transformation (literal)");
|
||||
}
|
||||
|
||||
std::cout << "...benchmark done\n";
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
// mapnik
|
||||
#include <mapnik/coord.hpp>
|
||||
#include <mapnik/box2d.hpp>
|
||||
#include <mapnik/projection.hpp>
|
||||
|
||||
using mapnik::projection;
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
// mapnik
|
||||
#include <mapnik/params.hpp>
|
||||
#include <mapnik/value_types.hpp>
|
||||
#include <mapnik/boolean.hpp>
|
||||
#include <mapnik/util/conversions.hpp>
|
||||
// boost
|
||||
#include <boost/variant/static_visitor.hpp>
|
||||
|
|
|
@ -71,7 +71,7 @@ struct translate_node
|
|||
translate_node(expr_node const& tx,
|
||||
boost::optional<expr_node> const& ty)
|
||||
: tx_(tx)
|
||||
, ty_(ty ? *ty : value_null()) {}
|
||||
, ty_(ty ? expr_node(*ty) : value_null()) {}
|
||||
};
|
||||
|
||||
struct scale_node
|
||||
|
@ -82,7 +82,7 @@ struct scale_node
|
|||
scale_node(expr_node const& sx,
|
||||
boost::optional<expr_node> const& sy)
|
||||
: sx_(sx)
|
||||
, sy_(sy ? *sy : value_null()) {}
|
||||
, sy_(sy ? expr_node(*sy) : value_null()) {}
|
||||
};
|
||||
|
||||
struct rotate_node
|
||||
|
@ -104,8 +104,8 @@ struct rotate_node
|
|||
boost::optional<expr_node> const& cx,
|
||||
boost::optional<expr_node> const& cy)
|
||||
: angle_(angle)
|
||||
, cx_(cx ? *cx : value_null())
|
||||
, cy_(cy ? *cy : value_null()) {}
|
||||
, cx_(cx ? expr_node(*cx) : value_null())
|
||||
, cy_(cy ? expr_node(*cy) : value_null()) {}
|
||||
|
||||
rotate_node(expr_node const& angle,
|
||||
boost::optional<coords_type> const& center)
|
||||
|
|
|
@ -24,12 +24,13 @@
|
|||
#define MAPNIK_WARP_HPP
|
||||
|
||||
// mapnik
|
||||
#include <mapnik/raster.hpp>
|
||||
#include <mapnik/proj_transform.hpp>
|
||||
#include <mapnik/image_scaling.hpp>
|
||||
|
||||
namespace mapnik {
|
||||
|
||||
class raster;
|
||||
class proj_transform;
|
||||
|
||||
void reproject_and_scale_raster(raster & target,
|
||||
raster const& source,
|
||||
proj_transform const& prj_trans,
|
||||
|
|
|
@ -97,14 +97,14 @@ In XML:
|
|||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Map srs="+init=epsg:4326" background-color="white">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white">
|
||||
<Style name="style">
|
||||
<Rule>
|
||||
<PointSymbolizer />
|
||||
<TextSymbolizer name="[label]" face_name="DejaVu Sans Book" size="10" dx="5" dy="5"/>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="test" srs="+init=epsg:4326">
|
||||
<Layer name="test" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">python</Parameter>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Map srs="+init=epsg:4326" background-color="white">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white">
|
||||
<Style name="style">
|
||||
<Rule>
|
||||
<PointSymbolizer />
|
||||
<TextSymbolizer name="[label]" face-name="DejaVu Sans Book" size="10" dx="5" dy="5"/>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="test" srs="+init=epsg:4326">
|
||||
<Layer name="test" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">python</Parameter>
|
||||
|
|
|
@ -15,14 +15,14 @@ the center of any query. This means that it should place a point in
|
|||
the middle of any map tile and display a "hello world!" label if used like:
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Map srs="+init=epsg:4326" background-color="white">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white">
|
||||
<Style name="style">
|
||||
<Rule>
|
||||
<PointSymbolizer />
|
||||
<TextSymbolizer name="[key]" face_name="DejaVu Sans Book" size="10" dx="5" dy="5"/>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="test" srs="+init=epsg:4326">
|
||||
<Layer name="test" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">hello</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="white" minimum-version="0.7.2">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white" minimum-version="0.7.2">
|
||||
<Style name="style">
|
||||
<Rule>
|
||||
<PointSymbolizer/>
|
||||
|
@ -8,7 +8,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
<!-- this example only works in EPSG:4326 -->
|
||||
<Layer name="test" srs="+init=epsg:4326">
|
||||
<Layer name="test" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>style</StyleName>
|
||||
<Datasource>
|
||||
<!-- here we create a 'hello' type datasource which simply
|
||||
|
|
|
@ -26,7 +26,9 @@
|
|||
#include <mapnik/rule.hpp>
|
||||
#include <mapnik/debug.hpp>
|
||||
#include <mapnik/layer.hpp>
|
||||
#include <mapnik/raster.hpp>
|
||||
#include <mapnik/feature.hpp>
|
||||
#include <mapnik/proj_transform.hpp>
|
||||
#include <mapnik/feature_type_style.hpp>
|
||||
#include <mapnik/cairo_renderer.hpp>
|
||||
#include <mapnik/cairo_context.hpp>
|
||||
|
@ -36,7 +38,6 @@
|
|||
#include <mapnik/parse_path.hpp>
|
||||
#include <mapnik/marker.hpp>
|
||||
#include <mapnik/marker_cache.hpp>
|
||||
#include <mapnik/unicode.hpp>
|
||||
#include <mapnik/font_set.hpp>
|
||||
#include <mapnik/parse_path.hpp>
|
||||
#include <mapnik/map.hpp>
|
||||
|
|
|
@ -24,12 +24,11 @@
|
|||
#include <mapnik/expression.hpp>
|
||||
#include <mapnik/config_error.hpp>
|
||||
#include <mapnik/unicode.hpp>
|
||||
#include <mapnik/expression_node.hpp>
|
||||
#include <mapnik/expression_node_types.hpp>
|
||||
#include <mapnik/expression_grammar.hpp>
|
||||
#include <boost/spirit/include/qi.hpp>
|
||||
|
||||
// boost
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <boost/make_shared.hpp>
|
||||
|
||||
namespace mapnik
|
||||
|
@ -39,7 +38,6 @@ expression_ptr parse_expression(std::string const& str, std::string const& encod
|
|||
{
|
||||
transcoder tr(encoding);
|
||||
expression_grammar<std::string::const_iterator> g(tr);
|
||||
|
||||
return parse_expression(str, g);
|
||||
}
|
||||
|
||||
|
@ -47,12 +45,10 @@ expression_ptr parse_expression(std::string const& str,
|
|||
mapnik::expression_grammar<std::string::const_iterator> const& g)
|
||||
{
|
||||
expr_node node;
|
||||
|
||||
std::string::const_iterator itr = str.begin();
|
||||
std::string::const_iterator end = str.end();
|
||||
|
||||
bool r = boost::spirit::qi::phrase_parse(itr, end, g, boost::spirit::standard_wide::space, node);
|
||||
if (r && itr==end)
|
||||
if (r && itr == end)
|
||||
{
|
||||
return boost::make_shared<expr_node>(node);
|
||||
}
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#include <mapnik/box2d.hpp>
|
||||
#include <mapnik/ctrans.hpp>
|
||||
#include <mapnik/span_image_filter.hpp>
|
||||
#include <mapnik/raster.hpp>
|
||||
#include <mapnik/proj_transform.hpp>
|
||||
|
||||
// agg
|
||||
#include "agg_image_filters.h"
|
||||
|
|
175
tests/cpp_tests/geometry_converters_test.cpp
Normal file
175
tests/cpp_tests/geometry_converters_test.cpp
Normal file
|
@ -0,0 +1,175 @@
|
|||
#include <boost/version.hpp>
|
||||
|
||||
#include <mapnik/layer.hpp>
|
||||
#include <mapnik/feature_type_style.hpp>
|
||||
#include <mapnik/debug.hpp>
|
||||
#include <mapnik/ctrans.hpp>
|
||||
#include <mapnik/vertex_converters.hpp>
|
||||
#include <mapnik/geometry.hpp>
|
||||
#include <mapnik/wkt/wkt_factory.hpp>
|
||||
|
||||
#if BOOST_VERSION >= 104700
|
||||
#include <mapnik/util/geometry_to_wkb.hpp>
|
||||
#include <mapnik/util/geometry_to_wkt.hpp>
|
||||
#include <mapnik/util/geometry_to_svg.hpp>
|
||||
#endif
|
||||
|
||||
#include <boost/detail/lightweight_test.hpp>
|
||||
#include <iostream>
|
||||
|
||||
struct output_geometry_backend
|
||||
{
|
||||
output_geometry_backend(boost::ptr_vector<mapnik::geometry_type> & paths, mapnik::eGeomType type)
|
||||
: paths_(paths),
|
||||
type_(type) {}
|
||||
|
||||
template <typename T>
|
||||
void add_path(T & path)
|
||||
{
|
||||
mapnik::vertex2d vtx(mapnik::vertex2d::no_init);
|
||||
path.rewind(0);
|
||||
std::auto_ptr<mapnik::geometry_type> geom_ptr(new mapnik::geometry_type(type_));
|
||||
|
||||
while ((vtx.cmd = path.vertex(&vtx.x, &vtx.y)) != mapnik::SEG_END)
|
||||
{
|
||||
//std::cerr << vtx.x << "," << vtx.y << " cmd=" << vtx.cmd << std::endl;
|
||||
geom_ptr->push_vertex(vtx.x, vtx.y, (mapnik::CommandType)vtx.cmd);
|
||||
}
|
||||
paths_.push_back(geom_ptr);
|
||||
}
|
||||
boost::ptr_vector<mapnik::geometry_type> & paths_;
|
||||
mapnik::eGeomType type_;
|
||||
};
|
||||
|
||||
boost::optional<std::string> linestring_bbox_clipping(mapnik::box2d<double> bbox,
|
||||
std::string wkt_in)
|
||||
{
|
||||
using namespace mapnik;
|
||||
agg::trans_affine tr;
|
||||
projection src;
|
||||
projection dst;
|
||||
proj_transform prj_trans(src,dst);
|
||||
line_symbolizer sym;
|
||||
CoordTransform t(bbox.width(),bbox.height(), bbox);
|
||||
boost::ptr_vector<mapnik::geometry_type> output_paths;
|
||||
output_geometry_backend backend(output_paths, mapnik::LineString);
|
||||
|
||||
typedef boost::mpl::vector<clip_line_tag> conv_types;
|
||||
vertex_converter<box2d<double>, output_geometry_backend, line_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(bbox, backend, sym, t, prj_trans, tr, 1.0);
|
||||
|
||||
converter.set<clip_line_tag>();
|
||||
|
||||
boost::ptr_vector<geometry_type> p;
|
||||
if (!mapnik::from_wkt(wkt_in , p))
|
||||
{
|
||||
throw std::runtime_error("Failed to parse WKT");
|
||||
}
|
||||
|
||||
BOOST_FOREACH( geometry_type & geom, p)
|
||||
{
|
||||
converter.apply(geom);
|
||||
}
|
||||
|
||||
std::string wkt_out;
|
||||
if (mapnik::util::to_wkt(wkt_out, output_paths))
|
||||
{
|
||||
return boost::optional<std::string>(wkt_out);
|
||||
}
|
||||
|
||||
return boost::optional<std::string>();
|
||||
}
|
||||
|
||||
boost::optional<std::string> polygon_bbox_clipping(mapnik::box2d<double> bbox,
|
||||
std::string wkt_in)
|
||||
{
|
||||
using namespace mapnik;
|
||||
agg::trans_affine tr;
|
||||
projection src;
|
||||
projection dst;
|
||||
proj_transform prj_trans(src,dst);
|
||||
polygon_symbolizer sym;
|
||||
CoordTransform t(bbox.width(),bbox.height(), bbox);
|
||||
boost::ptr_vector<mapnik::geometry_type> output_paths;
|
||||
output_geometry_backend backend(output_paths, mapnik::Polygon);
|
||||
|
||||
typedef boost::mpl::vector<clip_poly_tag> conv_types;
|
||||
vertex_converter<box2d<double>, output_geometry_backend, polygon_symbolizer,
|
||||
CoordTransform, proj_transform, agg::trans_affine, conv_types>
|
||||
converter(bbox, backend, sym, t, prj_trans, tr, 1.0);
|
||||
|
||||
converter.set<clip_poly_tag>();
|
||||
|
||||
boost::ptr_vector<geometry_type> p;
|
||||
if (!mapnik::from_wkt(wkt_in , p))
|
||||
{
|
||||
throw std::runtime_error("Failed to parse WKT");
|
||||
}
|
||||
|
||||
BOOST_FOREACH( geometry_type & geom, p)
|
||||
{
|
||||
converter.apply(geom);
|
||||
}
|
||||
|
||||
std::string wkt_out;
|
||||
if (mapnik::util::to_wkt(wkt_out, output_paths))
|
||||
{
|
||||
return boost::optional<std::string>(wkt_out);
|
||||
}
|
||||
|
||||
return boost::optional<std::string>();
|
||||
}
|
||||
|
||||
int main( int, char*[] )
|
||||
{
|
||||
// LineString/bbox clipping
|
||||
{
|
||||
std::string wkt_in("LineString(0 0,200 200)");
|
||||
boost::optional<std::string> result = linestring_bbox_clipping(mapnik::box2d<double>(50,50,150,150),wkt_in);
|
||||
BOOST_TEST(result);
|
||||
BOOST_TEST_EQ(*result,std::string("LineString(50 50,150 150)"));
|
||||
}
|
||||
// Polygon/bbox clipping
|
||||
#if 0
|
||||
// these tests will fail
|
||||
{
|
||||
std::string wkt_in("Polygon((50 50,150 50,150 150,50 150,50 50))");
|
||||
boost::optional<std::string> result = polygon_bbox_clipping(mapnik::box2d<double>(50,50,150,150),wkt_in);
|
||||
BOOST_TEST(result);
|
||||
BOOST_TEST_EQ(*result,std::string("Polygon((50 50,150 50,150 150,50 150,50 50))"));
|
||||
}
|
||||
|
||||
{
|
||||
std::string wkt_in("Polygon((60 60,140 60,140 160,60 140,60 60))");
|
||||
boost::optional<std::string> result = polygon_bbox_clipping(mapnik::box2d<double>(50,50,150,150),wkt_in);
|
||||
BOOST_TEST(result);
|
||||
BOOST_TEST_EQ(*result,std::string("Polygon((60 60,140 60,140 160,60 140,60 60))"));
|
||||
}
|
||||
|
||||
{
|
||||
std::string wkt_in("Polygon((0 0,10 0,10 10,0 10,0 0))");
|
||||
boost::optional<std::string> result = polygon_bbox_clipping(mapnik::box2d<double>(50,50,150,150),wkt_in);
|
||||
BOOST_TEST(result);
|
||||
BOOST_TEST_EQ(*result, std::string("GeometryCollection EMPTY"));
|
||||
}
|
||||
#endif
|
||||
{
|
||||
std::string wkt_in("Polygon((0 0,100 200,200 0,0 0 ))");
|
||||
boost::optional<std::string> result = polygon_bbox_clipping(mapnik::box2d<double>(50,50,150,150),wkt_in);
|
||||
BOOST_TEST(result);
|
||||
BOOST_TEST_EQ(*result,std::string("Polygon((50 50,50 100,75 150,125 150,150 100,150 50,50 50))"));
|
||||
}
|
||||
|
||||
if (!::boost::detail::test_errors())
|
||||
{
|
||||
std::clog << "C++ geometry conversions: \x1b[1;32m✓ \x1b[0m\n";
|
||||
#if BOOST_VERSION >= 104600
|
||||
::boost::detail::report_errors_remind().called_report_errors_function = true;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
return ::boost::report_errors();
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="rgb(233,233,233)" minimum-version="0.7.2">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="rgb(233,233,233)" minimum-version="0.7.2">
|
||||
|
||||
<Style name="multipolygon_style">
|
||||
<Rule>
|
||||
|
@ -19,7 +19,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="multipolygon" srs="+init=epsg:4326">
|
||||
<Layer name="multipolygon" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>multipolygon_style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<Map srs="+init=epsg:4326" background-color="lightsteelblue" buffer-size="256">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="lightsteelblue" buffer-size="256">
|
||||
<Style name="point_style">
|
||||
<Rule>
|
||||
<PointSymbolizer file="../svg/point_sm.svg"/>
|
||||
<TextSymbolizer size="12" dy="-5" face-name="DejaVu Sans Book" halo-fill="rgba(255,255,255,.5)" halo-radius=".5">[name]</TextSymbolizer>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="point" srs="+init=epsg:4326" buffer-size="-150">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" buffer-size="-150">
|
||||
<StyleName>point_style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="rgb(233,233,233)" minimum-version="0.7.2">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="rgb(233,233,233)" minimum-version="0.7.2">
|
||||
|
||||
<Datasource name="sqlite">
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
@ -12,7 +12,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="polygons" srs="+init=epsg:4326">
|
||||
<Layer name="polygons" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>polygon_style</StyleName>
|
||||
<Datasource base="sqlite">
|
||||
<Parameter name="table">multipolygon</Parameter>
|
||||
|
@ -26,7 +26,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="lines" srs="+init=epsg:4326">
|
||||
<Layer name="lines" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>line_style</StyleName>
|
||||
<Datasource base="sqlite">
|
||||
<Parameter name="table">lines</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="rgba(255,255,255,.5)">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="rgba(255,255,255,.5)">
|
||||
|
||||
<Style name="ellipse">
|
||||
<Rule>
|
||||
|
@ -30,7 +30,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="layer" srs="+init=epsg:4326">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>ellipse</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
@ -49,7 +49,7 @@ x,y
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="frame" srs="+init=epsg:4326">
|
||||
<Layer name="frame" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>frame</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="rgba(255,255,255,.5)">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="rgba(255,255,255,.5)">
|
||||
|
||||
<Style name="ellipse">
|
||||
<Rule>
|
||||
|
@ -30,7 +30,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="layer" srs="+init=epsg:4326">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>ellipse</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
@ -49,7 +49,7 @@ x,y
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="frame" srs="+init=epsg:4326">
|
||||
<Layer name="frame" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>frame</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<LineSymbolizer stroke-width=".2" stroke="grey"/>
|
||||
|
@ -14,7 +14,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<LineSymbolizer offset="-2" stroke-width="2" stroke="red"/>
|
||||
|
@ -14,7 +14,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
|
@ -31,7 +31,7 @@
|
|||
<PointSymbolizer file="../svg/ellipses.svg"/>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
@ -46,7 +46,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="points" status="on" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="points" status="on" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>meta_point_bboxs</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">ogr</Parameter>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<MarkersSymbolizer file="../svg/ellipses.svg"/>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
@ -21,7 +21,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="points" status="on" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="points" status="on" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>meta_point_bboxs</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">ogr</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="white" minimum-version="0.7.2">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white" minimum-version="0.7.2">
|
||||
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
|
@ -15,7 +15,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map background-color="lightgrey" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="lightgrey" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
|
@ -17,7 +17,7 @@
|
|||
<MarkersSymbolizer fill="white" stroke-width=".3" stroke="green" stroke-opacity=".5" allow-overlap="true"/>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+proj=lonlat +ellps=WGS84 +datum=WGS84 +no_defs +over" background-color="lightsteelblue">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="lightsteelblue">
|
||||
<Style name="My Style">
|
||||
<Rule>
|
||||
<PolygonSymbolizer fill="#f2eff9"/><LineSymbolizer stroke="rgb(50%,50%,50%)" stroke-width="0.1"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map srs="+proj=latlong +datum=WGS84" background-color="steelblue" minimum-version="0.7.2">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="steelblue" minimum-version="0.7.2">
|
||||
|
||||
<Style name="red">
|
||||
<Rule>
|
||||
|
@ -15,7 +15,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="red" status="on" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="red" status="on" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>red</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
@ -23,7 +23,7 @@
|
|||
</Datasource>
|
||||
</Layer>
|
||||
|
||||
<Layer name="green" status="on" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="green" status="on" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>green</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<Filter>([x]=0)</Filter>
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="file">../vrt/points.vrt</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<Filter>([x]=0)</Filter>
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="file">../json/points.json</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<Filter>([x]=0)</Filter>
|
||||
|
@ -19,7 +19,7 @@
|
|||
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="string">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<Filter>([name]='CHILE')</Filter>
|
||||
|
@ -34,7 +34,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<Filter>([name]='Brazil' or [name]='Mongolia' or [name]='Sudan')</Filter>
|
||||
|
@ -14,7 +14,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map background-color="#eee" srs="+init=epsg:4326" minimum-version="0.7.2" font-directory="../fonts/XB Zar.ttf">
|
||||
<Map background-color="#eee" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2" font-directory="../fonts/XB Zar.ttf">
|
||||
|
||||
<!-- nik2img.py -b 60 46 80 28 rtl_text_map.xml text_styles.png -->
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer srs="+init=epsg:4326">
|
||||
<Layer srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>custom_font</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="file">../shp/farsi-labels</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<ShieldSymbolizer file="../images/dummy.png" size="10" transform="scale(5) translate(15, 15) rotate(20) skewX(20) skewY(5)" dy="-5" dx="-5" opacity=".5" text-opacity=".3" face-name="DejaVu Sans Book" halo-radius="1" shield-dx="10" shield-dy="10" allow-overlap="true" avoid-edges="false">[label]</ShieldSymbolizer>
|
||||
|
@ -17,7 +17,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="line" srs="+init=epsg:4326">
|
||||
<Layer name="line" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>2</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="file">../json/lines.json</Parameter>
|
||||
|
@ -26,7 +26,7 @@
|
|||
</Datasource>
|
||||
</Layer>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="file">../json/points.json</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="rgb(255,255,255)" minimum-version="0.7.2">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="rgb(255,255,255)" minimum-version="0.7.2">
|
||||
|
||||
<Style name="world_borders_style1">
|
||||
<Rule>
|
||||
|
@ -14,7 +14,7 @@
|
|||
</Style>
|
||||
|
||||
<!-- layer created by ogr like: ogr2ogr -t_srs EPSG:4326 -f SQLite ../sqlite/world.sqlite world_merc.shp -->
|
||||
<Layer name="world_borders2" srs="+init=epsg:4326">
|
||||
<Layer name="world_borders2" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>world_borders_style1</StyleName>
|
||||
<StyleName>world_borders_style2</StyleName>
|
||||
<Datasource>
|
||||
|
@ -32,7 +32,7 @@
|
|||
</Style>
|
||||
|
||||
<!-- file created by QGIS read with native sqlite plugin -->
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>point_style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+proj=lonlat +ellps=WGS84 +datum=WGS84 +no_defs +over"
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
|
||||
background-color="lightsteelblue">
|
||||
|
||||
<Style name="land">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+proj=lonlat +ellps=WGS84 +datum=WGS84 +no_defs +over"
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
|
||||
background-color="lightsteelblue">
|
||||
|
||||
<Style name="land">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<Filter>([label]='center')</Filter>
|
||||
|
@ -15,7 +15,7 @@ three'</TextSymbolizer>
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="string">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="steelblue">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="steelblue">
|
||||
<!-- test case for https://github.com/mapnik/mapnik/issues/1354 -->
|
||||
|
||||
<Style name="labels">
|
||||
|
@ -15,7 +15,7 @@
|
|||
</Style>
|
||||
|
||||
|
||||
<Layer name="points" srs="+init=epsg:4326">
|
||||
<Layer name="points" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>labels</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
@ -35,7 +35,7 @@ x,y
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="frame" srs="+init=epsg:4326">
|
||||
<Layer name="frame" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>frame</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>labels</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">sqlite</Parameter>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<PolygonSymbolizer fill="#f2eff9"/><LineSymbolizer stroke="rgb(50%,50%,50%)" stroke-width="0.1"/></Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="world" srs="+proj=lonlat +ellps=WGS84 +datum=WGS84 +no_defs +over">
|
||||
<Layer name="world" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">shape</Parameter>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map >
|
||||
<Map xmlns:xi="http://www.w3.org/2001/XInclude" srs="+init=epsg:4326" background-color="rgb(255,255,255)" >
|
||||
<Map xmlns:xi="http://www.w3.org/2001/XInclude" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="rgb(255,255,255)" >
|
||||
|
||||
<!-- http://www.oreillynet.com/xml/blog/2004/05/transclude_with_xinclude_and_x.html -->
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map >
|
||||
<Map xmlns:xi="http://www.w3.org/2001/XInclude" srs="+init=epsg:4326" background-color="rgb(255,255,255)" >
|
||||
<Map xmlns:xi="http://www.w3.org/2001/XInclude" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="rgb(255,255,255)" >
|
||||
|
||||
<!-- http://www.oreillynet.com/xml/blog/2004/05/transclude_with_xinclude_and_x.html -->
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<LineSymbolizer stroke="rgb(80%,0%,0%)" />
|
||||
|
@ -18,7 +18,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="circles1" srs="+init=epsg:4326">
|
||||
<Layer name="circles1" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">python</Parameter>
|
||||
|
@ -26,7 +26,7 @@
|
|||
</Datasource>
|
||||
</Layer>
|
||||
|
||||
<Layer name="circles2" srs="+init=epsg:4326">
|
||||
<Layer name="circles2" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>2</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">python</Parameter>
|
||||
|
@ -36,7 +36,7 @@
|
|||
</Datasource>
|
||||
</Layer>
|
||||
|
||||
<Layer name="circles3" srs="+init=epsg:4326">
|
||||
<Layer name="circles3" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>3</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">python</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="#b5d0d0" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="#b5d0d0" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
<TextSymbolizer size="10" dy="-5" face-name="DejaVu Sans Book" halo-radius="1">[label]</TextSymbolizer>
|
||||
|
@ -7,7 +7,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">python</Parameter>
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
from nose.tools import *
|
||||
|
||||
import mapnik
|
||||
import random
|
||||
import math
|
||||
|
||||
# Tests that exercise map projections.
|
||||
|
||||
|
@ -46,5 +48,54 @@ def test_wgs84_inverse_forward():
|
|||
assert_almost_equal(e.forward(p).center().y, e.center().y)
|
||||
assert_almost_equal(e.forward(p).center().x, e.center().x)
|
||||
|
||||
def wgs2merc(lon,lat):
|
||||
x = lon * 20037508.34 / 180;
|
||||
y = math.log(math.tan((90 + lat) * math.pi / 360)) / (math.pi / 180);
|
||||
y = y * 20037508.34 / 180;
|
||||
return [x,y];
|
||||
|
||||
def merc2wgs(x,y):
|
||||
x = (x / 20037508.34) * 180;
|
||||
y = (y / 20037508.34) * 180;
|
||||
y = 180 / math.pi * (2 * math.atan(math.exp(y * math.pi/180)) - math.pi/2);
|
||||
if x > 180: x = 180;
|
||||
if x < -180: x = -180;
|
||||
if y > 85.0511: y = 85.0511;
|
||||
if y < -85.0511: y = -85.0511;
|
||||
return [x,y]
|
||||
|
||||
#echo -109 37 | cs2cs -f "%.10f" +init=epsg:4326 +to +init=epsg:3857
|
||||
#-12133824.4964668211 4439106.7872505859 0.0000000000
|
||||
|
||||
## todo
|
||||
# benchmarks
|
||||
# better well known detection
|
||||
# better srs matching with strip/trim
|
||||
# python copy to avoid crash
|
||||
|
||||
def test_proj_transform_between_init_and_literal():
|
||||
one = mapnik.Projection('+init=epsg:4326')
|
||||
two = mapnik.Projection('+init=epsg:3857')
|
||||
tr1 = mapnik.ProjTransform(one,two)
|
||||
wgs84 = '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'
|
||||
merc = '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over'
|
||||
src = mapnik.Projection(wgs84)
|
||||
dest = mapnik.Projection(merc)
|
||||
tr2 = mapnik.ProjTransform(src,dest)
|
||||
for x in xrange(-180,180,10):
|
||||
for y in xrange(-60,60,10):
|
||||
coord = mapnik.Coord(x,y)
|
||||
merc_coord1 = tr1.forward(coord)
|
||||
merc_coord2 = tr2.forward(coord)
|
||||
assert_almost_equal(merc_coord1.x,merc_coord2.x)
|
||||
assert_almost_equal(merc_coord1.y,merc_coord2.y)
|
||||
lon_lat_coord1 = tr1.backward(merc_coord1)
|
||||
lon_lat_coord2 = tr2.backward(merc_coord2)
|
||||
assert_almost_equal(coord.x,lon_lat_coord1.x)
|
||||
assert_almost_equal(coord.y,lon_lat_coord1.y)
|
||||
assert_almost_equal(coord.x,lon_lat_coord2.x)
|
||||
assert_almost_equal(coord.y,lon_lat_coord2.y)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
[eval(run)() for run in dir() if 'test_' in run]
|
||||
|
|
|
@ -156,8 +156,10 @@ def test_raster_warping():
|
|||
_map.append_style('foo', style)
|
||||
lyr.styles.append('foo')
|
||||
_map.layers.append(lyr)
|
||||
prj_trans = mapnik.ProjTransform(mapnik.Projection(mapSrs),
|
||||
mapnik.Projection(lyrSrs))
|
||||
map_proj = mapnik.Projection(mapSrs)
|
||||
layer_proj = mapnik.Projection(lyrSrs)
|
||||
prj_trans = mapnik.ProjTransform(map_proj,
|
||||
layer_proj)
|
||||
_map.zoom_to_box(prj_trans.backward(lyr.envelope()))
|
||||
|
||||
im = mapnik.Image(_map.width,_map.height)
|
||||
|
|
|
@ -120,7 +120,7 @@ def test_render_points():
|
|||
symb.allow_overlap = True
|
||||
r.symbols.append(symb)
|
||||
s.rules.append(r)
|
||||
lyr = mapnik.Layer('Places','+proj=latlon +datum=WGS84')
|
||||
lyr = mapnik.Layer('Places','+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
|
||||
lyr.datasource = ds
|
||||
lyr.styles.append('places_labels')
|
||||
# latlon bounding box corners
|
||||
|
@ -128,9 +128,9 @@ def test_render_points():
|
|||
lr_lonlat = mapnik.Coord(143.40,-38.80)
|
||||
# render for different projections
|
||||
projs = {
|
||||
'latlon': '+proj=latlon +datum=WGS84',
|
||||
'latlon': '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs',
|
||||
'merc': '+proj=merc +datum=WGS84 +k=1.0 +units=m +over +no_defs',
|
||||
'google': '+proj=merc +ellps=sphere +R=6378137 +a=6378137 +units=m',
|
||||
'google': '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over',
|
||||
'utm': '+proj=utm +zone=54 +datum=WGS84'
|
||||
}
|
||||
for projdescr in projs.iterkeys():
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>alpha</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
@ -11,7 +11,7 @@
|
|||
</Parameter>
|
||||
</Datasource>
|
||||
</Layer>
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>beta</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
@ -21,7 +21,7 @@
|
|||
</Parameter>
|
||||
</Datasource>
|
||||
</Layer>
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>gamma</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>alpha</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
@ -11,7 +11,7 @@
|
|||
</Parameter>
|
||||
</Datasource>
|
||||
</Layer>
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>beta</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
@ -21,7 +21,7 @@
|
|||
</Parameter>
|
||||
</Datasource>
|
||||
</Layer>
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>gamma</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+init=epsg:4326" minimum-version="0.7.2">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="0.7.2">
|
||||
|
||||
<Style name="1">
|
||||
<Rule>
|
||||
|
@ -15,7 +15,7 @@
|
|||
<MarkersSymbolizer fill="darkred" opacity=".7" width="20" height="10" stroke="orange" stroke-width="7" stroke-opacity=".2" placement="line" marker-type="ellipse"/>
|
||||
</Rule>
|
||||
</Style>
|
||||
<Layer name="point" srs="+init=epsg:4326">
|
||||
<Layer name="point" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>1</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">csv</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Without unlock-image -->
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="green" srs="+proj=latlong +datum=WGS84" minimum-version="2.0.0">
|
||||
<Map background-color="green" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" minimum-version="2.0.0">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE Map>
|
||||
<Map background-color="white" srs="+proj=latlong +datum=WGS84">
|
||||
<Map background-color="white" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
|
||||
<Layer name="layer" srs="+proj=latlong +datum=WGS84">
|
||||
<Layer name="layer" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>My Style</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="type">osm</Parameter>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="white">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white">
|
||||
|
||||
<Style name="test">
|
||||
<Rule>
|
||||
|
@ -6,7 +6,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="test" srs="+init=epsg:4326">
|
||||
<Layer name="test" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>test</StyleName>
|
||||
<Datasource>
|
||||
<!-- https://github.com/mapnik/mapnik/issues/1508 -->
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Map srs="+init=epsg:4326" background-color="white">
|
||||
<Map srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" background-color="white">
|
||||
|
||||
<Style name="test">
|
||||
<Rule>
|
||||
|
@ -6,7 +6,7 @@
|
|||
</Rule>
|
||||
</Style>
|
||||
|
||||
<Layer name="test" srs="+init=epsg:4326">
|
||||
<Layer name="test" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
|
||||
<StyleName>test</StyleName>
|
||||
<Datasource>
|
||||
<Parameter name="file">../../data/raster/river_wgs.tiff</Parameter>
|
||||
|
|
|
@ -17,7 +17,7 @@ config_variables = '''#!/bin/sh
|
|||
|
||||
## variables
|
||||
|
||||
CONFIG_PREFIX=%(prefix)s
|
||||
CONFIG_PREFIX="$( cd "$( dirname $( dirname "$0" ))" && pwd )"
|
||||
CONFIG_MAPNIK_LIBNAME=%(mapnik_libname)s
|
||||
CONFIG_MAPNIK_INCLUDE=${CONFIG_PREFIX}/include
|
||||
CONFIG_MAPNIK_LIB=${CONFIG_PREFIX}/%(libdir_schema)s
|
||||
|
@ -74,7 +74,6 @@ else:
|
|||
git_revision = stdin.strip()
|
||||
|
||||
configuration = {
|
||||
"prefix": config_env['PREFIX'],
|
||||
"mapnik_libname": 'mapnik',
|
||||
"libdir_schema": config_env['LIBDIR_SCHEMA'],
|
||||
"ldflags": ldflags,
|
||||
|
@ -86,6 +85,11 @@ configuration = {
|
|||
"version": config_env['MAPNIK_VERSION_STRING'],
|
||||
}
|
||||
|
||||
## if we are statically linking depedencies
|
||||
## then they do not need to be reported in ldflags
|
||||
if env['RUNTIME_LINK'] == 'static':
|
||||
configuration['ldflags'] = ''
|
||||
configuration['dep_libs'] = ''
|
||||
|
||||
template = 'mapnik-config.template.sh'
|
||||
config_file = 'mapnik-config'
|
||||
|
|
Loading…
Add table
Reference in a new issue