Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
eab7a82
[extensions][projections] Implement new projection interface.
awulkiew Apr 17, 2017
452bc35
[extensions][test][projections] Add test of new interface.
awulkiew Apr 17, 2017
8af802f
[extensions][projections] Add static tags for all projections.
awulkiew Apr 18, 2017
6d478e1
[projections] Specialize epsg_traits for all already implemented run-…
awulkiew Apr 18, 2017
02cf69f
[core] In radius_access change assertion to Dim < 3 for both sphere a…
awulkiew Apr 18, 2017
29e059a
[projections] Add static ellps definitions and fix error in static pr…
awulkiew Apr 18, 2017
66d6233
[test][projections] Update tests WRT recent changes in the interface.
awulkiew Apr 18, 2017
2254d86
[projections] Throw exception in projection<> ctor if dynamic project…
awulkiew Apr 18, 2017
5ee0aed
[projections] Derive proj_exception from geometry::exception and over…
awulkiew Apr 18, 2017
3089f4d
[projections] In projection<> improve creation of dynamic projection …
awulkiew Apr 18, 2017
be9f31c
[projections] Improve consistency of dynamic and static projections.
awulkiew Apr 18, 2017
4323322
[projections] Remove explicit keyword from projection<> ctors to allo…
awulkiew Apr 18, 2017
608bb6a
[test][projections] Update tests WRT recent changes.
awulkiew Apr 18, 2017
c666397
[projections] Replace point types tparams LL and XY with one Calculat…
awulkiew Apr 20, 2017
2ee6112
[test][projections] Update tests WRT recent changes of the interface.
awulkiew Apr 20, 2017
26fcc42
[core][srs][geometry] Move srs::spheroid and srs::sphere from core/ t…
awulkiew Apr 22, 2017
73beed3
[test][formulas] Update includes after moving srs from core.
awulkiew Apr 22, 2017
207549e
[test][strategies] Add test cases for distance::geographic and side::…
awulkiew Apr 22, 2017
29853b4
[projections] Change the interface (namespaces) and relocate parts of…
awulkiew Apr 22, 2017
46b3b33
[test][projections] Update tests WRT recent changes in the interface …
awulkiew Apr 22, 2017
ddce41f
[projections] Move back the internal projections representations into…
awulkiew Apr 22, 2017
e3922dd
[test][projections] Update namespaces.
awulkiew Apr 22, 2017
fc88955
[projections] Revert comments to original format, broken by autoforma…
awulkiew Apr 22, 2017
d9fe6d7
[projections] Copy higher dimensions in projection<> forward/inverse.
awulkiew Apr 23, 2017
312476b
[projections][strategies] Update/improve project_transformer strategy.
awulkiew Apr 23, 2017
577080d
[test][projections] Add project_transformer test.
awulkiew Apr 23, 2017
d133efe
[srs] Move projections from extensions to main part of the library.
awulkiew May 5, 2017
d8bebf0
[test][srs] Move projections tests from extensions to main part of th…
awulkiew May 5, 2017
4be7b31
[srs] Store error message in proj_exception, convert pj_sterrno from …
awulkiew May 10, 2017
2a657f4
[srs] Divide projection<> into public and detail part allowing to use…
awulkiew May 10, 2017
b73cff1
[srs] Implement transformation.
awulkiew May 10, 2017
f4e7f95
[test][srs] Add transformation_interface test.
awulkiew May 10, 2017
358e22d
[srs] Add support for Proj4 vunits/vto_meter (vertical scaling) and l…
awulkiew May 10, 2017
528270a
[srs] Finish boostifying recently added code (add inline keywords, ch…
awulkiew May 10, 2017
1dad53a
[srs] Fix implicit int to bool warning in aeqd projection.
awulkiew May 10, 2017
12e0707
[srs] Support any calculation type in projection parameters and sever…
awulkiew May 11, 2017
10b3cf8
[test][srs] Update static projections test WRT recent changes (templa…
awulkiew May 11, 2017
7ac3094
[srs] Support arbitrary calc. type in all projections/impl functions.
awulkiew May 11, 2017
dcb3e60
[srs] Add math constants (function templates) used in projections to …
awulkiew May 12, 2017
086f266
[srs] Support arbitrary calc. type in projections starting at letters…
awulkiew May 12, 2017
c2141ad
[srs] Support arbitrary calc. type in projections i*, m*, t*, w*.
awulkiew May 14, 2017
6e4f66e
[srs] Support various calc. types in projections k*, l*.
awulkiew May 14, 2017
f20f3a4
[srs] Support arbitrary calc. type in projections n*, o*.
awulkiew May 14, 2017
70d3cf1
[srs] Support various calc. types in projections p*, q*, r*, s*, u*, v*.
awulkiew May 14, 2017
c2b45bd
[test][srs] Add projection selftest cases converted from original Pro…
awulkiew May 15, 2017
2f25e5a
[test][srs] Add projection selftest cases converted from original Pro…
awulkiew May 15, 2017
59f4800
[srs] Add missing inverse to hammer projection.
awulkiew May 15, 2017
9e3c314
[test][srs] Add cases for projections f*, g*, h* (converted selftests…
awulkiew May 15, 2017
959d6e7
[test][srs] Add cases for projections i*, k*, l* (converted selftests…
awulkiew May 16, 2017
bbad83e
[srs] Fix scaling bug in ocea projection, as fixed in Proj4.
awulkiew May 16, 2017
267da8d
[test][srs] Add cases for projections m*, n*, o* (converted selftests…
awulkiew May 16, 2017
02d57ff
[srs] Differentiate between proj. not specified and unknown (differen…
awulkiew May 16, 2017
52a6e50
[srs] In pj_inv() replace fabs() with bg::math::abs().
awulkiew May 16, 2017
b4aab6b
[srs] Add exceptions in robin projection and pass error code to exist…
awulkiew May 16, 2017
32a8a0a
[srs] Fix bug with stereographic projection at equator that multiplie…
awulkiew May 16, 2017
08500cf
[srs] Check validity of +n parameter in urm5 projection.
awulkiew May 16, 2017
51c1c5c
[test][srs] Add cases for projections p* - w* (converted selftests fr…
awulkiew May 16, 2017
7be1af9
[test][srs] Update expected coordinates in projections test wrt recen…
awulkiew May 16, 2017
d9cd15e
[srs] Improve compile- and run-time error handling.
awulkiew May 17, 2017
5a7650b
[test][srs] Add error handling cases to projection_interface test.
awulkiew May 17, 2017
6002b55
[srs] Add return statement in base_t_f::inverse to suppress warning.
awulkiew May 17, 2017
4b46351
[srs] Add missing proj_exception codes in projections.
awulkiew May 17, 2017
048d3fe
[srs] Rename proj_exception to projection_exception and use BOOST_THR…
awulkiew May 17, 2017
d755045
[test][srs] Catch projection_exception instead of proj_exception.
awulkiew May 17, 2017
3c1fa1e
[srs] Support all geometries in projection<>, add concepts and dimens…
awulkiew May 19, 2017
b75c22b
[test][srs] Add projection<> interface test including geometries othe…
awulkiew May 19, 2017
abfaae2
[srs] Support all geometries (besides Box) in transformation.
awulkiew Oct 8, 2017
f85af69
[srs] In transformation convert per range instead of per geometry and…
awulkiew Oct 9, 2017
a6ef269
[convert] Add ConvertPointPolicy to range_to_range conversion struct.
awulkiew Oct 11, 2017
4db3808
[srs] Support various CS units combinations in transformation. Also r…
awulkiew Oct 11, 2017
038d99e
[test][srs] Add various CS units cases in transformation test.
awulkiew Oct 11, 2017
6598f5a
Merge branch 'develop' into feature/projections
awulkiew Oct 11, 2017
49a38f9
[srs] Add/modify EPSG, ESRI and IAU codes. Make them optionally inclu…
awulkiew Oct 12, 2017
99c47c3
[test][srs] Add/remove includes after recent changes (optional EPSG).
awulkiew Oct 12, 2017
8321ebd
[srs] Comment out warning printing to stderr in aitoff projection.
awulkiew Oct 14, 2017
19ccd06
[srs] Consistently check raw coordinate 0 for HUGE_VAL in transformat…
awulkiew Oct 16, 2017
6155843
[convert] Move ConvertPointPolicy from range_to_range struct template…
awulkiew Oct 17, 2017
4a5542a
[srs] Improve consistency of error handling in projection and transfo…
awulkiew Oct 17, 2017
bf2ed6d
[test][srs] Comment out unused types in transformation test.
awulkiew Oct 17, 2017
f152c55
[test][strategies] Add missing includes.
awulkiew Oct 17, 2017
3dedf97
[strategy][transform] Replace project_transformer with srs_transformer.
awulkiew Oct 18, 2017
bf37d44
[test][srs] Modify (project/srs) transformer test WRT recent changes.
awulkiew Oct 18, 2017
bc7c372
[test][srs] Replace printing of results with checks.
awulkiew Oct 19, 2017
019f9e7
[srs] In transformation when preparing the range take into account th…
awulkiew Oct 19, 2017
2e4dc6d
[test][srs] Test inverse transformation and add case.
awulkiew Oct 19, 2017
4605301
[srs][projections] Add create_new() function hiding factory inside.
awulkiew Oct 20, 2017
7aac227
[srs][projections] Implement one static ob_tran projection instead of…
awulkiew Oct 20, 2017
f7ae50d
[test][projections] Modify combined projections test WRT recent chang…
awulkiew Oct 20, 2017
536cd6a
[srs][projections] Implement one static aeqd projection instead of tw…
awulkiew Oct 20, 2017
eb56e0a
[projections] Update ellpses and datums.
awulkiew Oct 24, 2017
375e39a
[projections] Redesign static_proj4<> interface and parameters.
awulkiew Oct 24, 2017
51e67a3
[test][projections] Update tests WRT recent changes in static_proj4 i…
awulkiew Oct 24, 2017
595d673
[projections] Add static parameters to static_projection traits.
awulkiew Oct 29, 2017
fe3ae4a
[test][projections] Add esri/iau2000 tests and change names of aeqd p…
awulkiew Oct 29, 2017
f3fb882
[projections] Support static o_proj parameter in ob_tran projection (…
awulkiew Oct 30, 2017
cf9504e
[test][projections] Pass static o_proj parameter in static ob_tran pr…
awulkiew Oct 30, 2017
21ca6db
[projections] In implementation on aeqd projection make free function…
awulkiew Oct 30, 2017
8853442
[projection] Fix double to int conversion warnings in isea projection.
awulkiew Oct 30, 2017
e450c3b
[projections] Implement static projection hybrid interface.
awulkiew Oct 30, 2017
923606e
[test][projections] Use hybrid static projection interface if needed.
awulkiew Oct 30, 2017
269525c
[projections] Add missing inline keywords in setup_XXX() functions de…
awulkiew Oct 30, 2017
7ce15eb
[projections] Fix names invertable -> invertible.
awulkiew Oct 31, 2017
2bf59e7
Merge branch 'develop' into feature/projections
awulkiew Oct 31, 2017
639f70a
[formula][test] Remove/update includes (srs).
awulkiew Oct 31, 2017
84675e2
[projections] Remove unused paramters and types.
awulkiew Jan 20, 2018
7d2026d
Merge branch 'develop' into feature/projections
awulkiew Jan 20, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion extensions/test/gis/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@
# Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
# Copyright (c) 2015 Adam Wulkiewicz, Lodz, Poland.
#
# This file was modified by Oracle on 2017.
# Modifications copyright (c) 2017, Oracle and/or its affiliates.
# Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
#
# Use, modification and distribution is subject to the Boost Software License,
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

build-project io ;
build-project latlong ;
build-project projections ;

18 changes: 0 additions & 18 deletions extensions/test/gis/projections/Jamfile.v2

This file was deleted.

121 changes: 0 additions & 121 deletions extensions/test/gis/projections/projections_combined.cpp

This file was deleted.

28 changes: 25 additions & 3 deletions include/boost/geometry/algorithms/convert.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
// Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland.

// This file was modified by Oracle on 2017.
// Modifications copyright (c) 2017, Oracle and/or its affiliates.
// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle

// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.

Expand All @@ -29,10 +33,8 @@

#include <boost/geometry/arithmetic/arithmetic.hpp>
#include <boost/geometry/algorithms/not_implemented.hpp>
#include <boost/geometry/algorithms/append.hpp>
#include <boost/geometry/algorithms/clear.hpp>
#include <boost/geometry/algorithms/for_each.hpp>
#include <boost/geometry/algorithms/detail/assign_values.hpp>
#include <boost/geometry/algorithms/detail/assign_box_corners.hpp>
#include <boost/geometry/algorithms/detail/assign_indexed_point.hpp>
#include <boost/geometry/algorithms/detail/convert_point_to_point.hpp>
Expand Down Expand Up @@ -153,7 +155,23 @@ struct range_to_range
geometry::closure<Range1>::value
>::type view_type;

struct default_policy
{
template <typename Point1, typename Point2>
static inline void apply(Point1 const& point1, Point2 & point2)
{
geometry::detail::conversion::convert_point_to_point(point1, point2);
}
};

static inline void apply(Range1 const& source, Range2& destination)
{
apply(source, destination, default_policy());
}

template <typename ConvertPointPolicy>
static inline ConvertPointPolicy apply(Range1 const& source, Range2& destination,
ConvertPointPolicy convert_point)
{
geometry::clear(destination);

Expand All @@ -179,8 +197,12 @@ struct range_to_range
it != boost::end(view) && i < n;
++it, ++i)
{
geometry::append(destination, *it);
typename boost::range_value<Range2>::type point;
convert_point.apply(*it, point);
range::push_back(destination, point);
}

return convert_point;
}
};

Expand Down
12 changes: 8 additions & 4 deletions include/boost/geometry/algorithms/detail/azimuth.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,22 @@
#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_AZIMUTH_HPP
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_AZIMUTH_HPP


#include <boost/geometry/algorithms/not_implemented.hpp>

#include <boost/geometry/core/cs.hpp>
#include <boost/geometry/core/access.hpp>
#include <boost/geometry/core/radian_access.hpp>
#include <boost/geometry/core/tags.hpp>

#include <boost/geometry/util/math.hpp>

#include <boost/geometry/algorithms/not_implemented.hpp>

#include <boost/geometry/formulas/spherical.hpp>
#include <boost/geometry/formulas/vincenty_inverse.hpp>

#include <boost/geometry/srs/spheroid.hpp>

#include <boost/geometry/util/math.hpp>


namespace boost { namespace geometry
{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
#include <boost/geometry/core/coordinate_system.hpp>
#include <boost/geometry/core/coordinate_type.hpp>
#include <boost/geometry/core/cs.hpp>
#include <boost/geometry/core/srs.hpp>
#include <boost/geometry/core/point_type.hpp>
#include <boost/geometry/core/radian_access.hpp>
#include <boost/geometry/core/tags.hpp>
Expand Down
8 changes: 4 additions & 4 deletions include/boost/geometry/core/radius.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -223,8 +223,8 @@ template <typename Geometry, std::size_t Dimension>
struct radius_access<srs_sphere_tag, Geometry, Dimension, boost::false_type>
: detail::radius_access<srs_sphere_tag, Geometry, Dimension>
{
BOOST_STATIC_ASSERT(Dimension == 0);
//BOOST_STATIC_ASSERT(Dimension < 3);
//BOOST_STATIC_ASSERT(Dimension == 0);
BOOST_STATIC_ASSERT(Dimension < 3);
};

template <typename Geometry>
Expand All @@ -237,8 +237,8 @@ template <typename Geometry, std::size_t Dimension>
struct radius_access<srs_spheroid_tag, Geometry, Dimension, boost::false_type>
: detail::radius_access<srs_spheroid_tag, Geometry, Dimension>
{
BOOST_STATIC_ASSERT(Dimension == 0 || Dimension == 2);
//BOOST_STATIC_ASSERT(Dimension < 3);
//BOOST_STATIC_ASSERT(Dimension == 0 || Dimension == 2);
BOOST_STATIC_ASSERT(Dimension < 3);
};

} // namespace core_dispatch
Expand Down
Loading