Adeel Ahmad
043f401fbe
[util] Use Maxima generated function for computing C3x coefficients
...
The script used is geod.mac:
https://sourceforge.net/p/geographiclib/code/ci/release/tree/maxima/geod.mac
2018-06-09 16:11:46 +05:00
Adeel Ahmad
8a2dd63ccf
[util] Move sin_cos_series function to series_expansion.hpp
...
This function is extensively used for the direct and
inverse geodesic problem, therefore, it is moved
to a more accessible location.
2018-06-07 10:58:13 +05:00
Adeel Ahmad
df0cafdd19
[doc] Move Maxima scripts for geodesics to doc/other/maxima/geod.mac
2018-06-05 17:26:30 +05:00
Adeel Ahmad
cc19342b4e
[util] Remove duplicated Maxima code from series_expansion.hpp
2018-06-05 09:28:37 +05:00
Adeel Ahmad
831873752d
[formulas] Use constant type variables for comparison
2018-06-04 19:12:50 +05:00
Adeel Ahmad
1ed5f103f4
[formulas] Move SeriesOrder to the end of template parameter list
2018-06-04 19:09:07 +05:00
Adeel Ahmad
4fa4a8206a
[util] Update series expansion for C3x
2018-05-31 17:40:53 +05:00
Adeel Ahmad
b8a225e1cf
[formulas] Fix direct geodesic method by performing normalization
...
- Add minus sign for B12 evaluation
2018-05-29 21:11:53 +05:00
Adeel Ahmad
3dd6bce720
[util] Add functions for normalizing and evaluating polynomial
2018-05-29 21:08:06 +05:00
Adeel Ahmad
1e31876e94
[util] Modify function for evaluting C3x coefficient
...
- Add separate function for evaluating C3 from C3x coefficient
2018-05-29 21:06:19 +05:00
Adeel Ahmad
6a2897db25
[formulas][util] Add missing import and function return type
2018-05-28 12:28:14 +05:00
Adeel Ahmad
0c2b8cdbab
[formulas] Make variable declarations constant
2018-05-24 22:09:47 +05:00
Adeel Ahmad
ac4e483c92
[formulas] Compute the reduced length and geodesic scale using Karney's direct method
2018-05-24 11:26:56 +05:00
Adeel Ahmad
a0a55f361f
[util] Evaluate series and coefficients for A2 and C2 using series expansion
2018-05-24 11:18:26 +05:00
Adeel Ahmad
9e2c74afc8
[formulas] Compute the longitude for second point using the longitudinal difference
2018-05-23 14:22:40 +05:00
Adeel Ahmad
9152191986
[util] Add functions to evaluate coefficients for A3 and C3 using series expansion
2018-05-23 12:32:21 +05:00
Adeel Ahmad
881c73c90b
[formulas] Compute the latitude for second point following Karney's method
...
- Link to paper: https://arxiv.org/pdf/1109.4448.pdf
2018-05-22 17:18:37 +05:00
Adeel Ahmad
6ce1b099cb
[util] Evaluate coefficients for C1p using series expansion
...
- Fix conversion from degree to radian in sin_cos_degrees function
2018-05-21 16:32:28 +05:00
Adeel Ahmad
3700b4fafa
[util] Move series expansion functions to util/series_expansion.hpp
2018-05-19 21:49:24 +05:00
Adeel Ahmad
b6fcee8f30
[formulas] Compute sin cos series using Clenshaw summation
...
- Update function headers
2018-05-19 21:33:01 +05:00
Adeel Ahmad
320891caef
[utils] Add function for normalizing and rounding off an angle
2018-05-19 21:32:09 +05:00
Adeel Ahmad
c73ea927c4
[formulas] Add function for evaluating coefficients for C1
...
- Add SED script for converting x to CT(x)
- Improve code documentation
2018-05-15 23:43:52 +05:00
Adeel Ahmad
8d5d3bc8a9
[formulas] Add draft of direct geodesic problem from Karney (2011)
...
The paper can be found at: https://arxiv.org/pdf/1109.4448.pdf
This commit also introduces the evaluate_series_A1 function
for evaluating the series expantion, which was generated
using Maxima: http://maxima.sourceforge.net
2018-05-12 22:09:26 +05:00
Adeel Ahmad
302e240667
[utils] Add function sin_cos_degrees for evaluating sine and cosine function
2018-05-12 22:08:25 +05:00
Adam Wulkiewicz
d5fe19ce06
Merge branch 'feature/projections_optimization' into develop
2018-05-10 18:08:31 +02:00
Adam Wulkiewicz
7622c517d6
Merge branch 'fix/projections_names' into develop
2018-05-10 18:05:55 +02:00
Adam Wulkiewicz
ca62c0e4e0
Merge pull request #469 from awulkiew/feature/projections_grids
...
Add support for horizontal grid shift (nadgrids) in transformation.
2018-05-10 18:02:40 +02:00
Adam Wulkiewicz
002f1e06d9
Merge pull request #468 from awulkiew/feature/projections_params
...
Improve projections' parameters handling.
2018-05-10 18:01:50 +02:00
Adam Wulkiewicz
9b8d0a3b4c
[sectionalize] Avoid integer underflow/underflow in segment's direction calculation.
2018-04-19 23:34:24 +02:00
Adam Wulkiewicz
118b82937d
[srs] Separate param names and values in datums definitions to avoid parsing of string while adding parameter.
2018-04-18 01:37:44 +02:00
Adam Wulkiewicz
548d64d97a
[srs] In pj_ellps table hold elliptical parameter name and value separately to avoid parsing of string when adding a and b/rf parameters to parameters list.
2018-04-18 00:50:44 +02:00
Adam Wulkiewicz
ae75d05c2c
[srs] Implement str_cast and use it instead of lexical_cast.
2018-04-18 00:33:47 +02:00
Adam Wulkiewicz
8feb7ca7ba
[srs] Rename types, variables, enums to lowercase.
2018-04-13 22:30:51 +02:00
Adam Wulkiewicz
885319f2da
[srs] Rename CalculationType to T to increase readability.
...
Furthermore:
- rename geographic_type and cartesian_type to T
- reformat base classes and ctor init lists
- rename variable named T
2018-04-13 22:01:45 +02:00
Adam Wulkiewicz
de14869fbc
[srs] Rename upper-case global types and move them if possible.
...
- Types defined in projects.h: COMPLEX, PJ_ELLPS, PJ_DATUM, PJ_UNITS,
PJ_PRIME_MERIDIANS.
- Move types used for global data, tables defining ellipsoids, datums,
units and meridians to files defining the tables.
- Remove types that are not used in Boost.Geometry: DERIVS and FACTORS.
2018-04-13 19:15:34 +02:00
Adam Wulkiewicz
9f28e8d8aa
[srs] Rename upper-case variable and type names.
2018-04-13 18:48:50 +02:00
Adam Wulkiewicz
4f86b6fb7e
[srs] Rename macro-like variables datum type and error code.
...
- Names were herited from proj4.
- Replace static variables with enums.
- Add more error codes and use them with projection_exception()
instead of magic numbers.
2018-04-12 23:46:46 +02:00
Adam Wulkiewicz
9b2bb48fae
Merge branch 'develop' into fix/projections_names
2018-04-12 22:53:19 +02:00
Adam Wulkiewicz
06e53eb573
Merge branch 'develop' into fix/intersection_strategies
2018-04-12 16:20:16 +02:00
Adam Wulkiewicz
756f3951c7
[strategies] Fix zero ratio denominator calculated by sph and geo strategies.
2018-04-11 22:39:36 +02:00
Vissarion Fysikopoulos
cc381b3c7f
[algorithms] [tests] Fix envelope algorithm for spherical and geographic polygons and rings
2018-04-11 17:12:27 +03:00
Adam Wulkiewicz
0a1ba2763a
[srs] Rename projections' global constants.
...
Use lower-case names to avoid clashes with macros.
Move constants to separate file.
2018-04-09 04:03:29 +02:00
Adam Wulkiewicz
1aeef5d396
[srs] Support horizontal shift grids (nadgrids) in transformation.
...
Relevant proj4 code was converted to C++ and Boostified. So all grids formats
are supported (ctable, ctable2, ntv1, ntv2), also vertical geoid grid GTX
format but it is not used right now. There are some differences though:
- proj4 stores loaded grids in global storage and pointers to a relevant subset
of grids in projection parameters structure. In Boost.Geometry this is moved
outside transformation structure to allow users to place global storage(s)
wherever they like.
- in proj4 the grids are loaded implicitly when there is +nadgrids parameter
passed. In Boost.Geometry an object representing a subset of grids explicitly
has to be initialized and then passed into transforming function.
- in proj4 grids has to be "installed" into certain directories. In
Boost.Geometry user can implement StreamPolicy opening any input stream
having unformatted input interface. The default one uses std::ifstream
opening files having the same names as the ones in +nadgrids parameter in
working directory.
Added classes:
srs::grids, srs::ifstream_policy, srs::grids_storage,
srs::projection_grids, srs::transformation_grids
and for multithreading:
srs::shared_grids
Added functions (also overloads)
srs::transformation::initialize_grids(grids_storage)
srs::transformation::forward(in, out, transformation_grids)
srs::transformation::inverse(in, out, transformation_grids)
2018-04-08 14:15:21 +02:00
Adam Wulkiewicz
49b9e7bfa3
Merge pull request #465 from awulkiew/feature/projections_update
...
Update implemented projections to proj4 5.0.0 state.
2018-04-07 14:55:17 +02:00
Adam Wulkiewicz
e3802efb04
Merge pull request #467 from vissarion/feature_box_box_fix
...
Few fixes in distance computation
2018-03-28 16:09:08 +02:00
Vissarion Fysikopoulos
ff6547bc7b
[formulas] Fix a bug in thomas inverse formula
2018-03-28 16:59:03 +03:00
Vissarion Fysikopoulos
df23bb19b8
[strategies] Fix inverse strategy type call from point segment distance computation strategy
2018-03-28 16:54:08 +03:00
Vissarion Fysikopoulos
ab2ab3144d
[strategies] [tests] Diagonal case fix for box-box distance
2018-03-28 14:42:08 +03:00
Barend Gehrels
68296965f5
ticket #13386 - workaround for some gcc compilers
2018-03-27 21:50:18 +02:00
Barend Gehrels
7bfd8c6ca3
Revert "ticket #13386 - workaround for some gcc compilers complaining about"
...
This reverts commit 54f5ead9e8 .
2018-03-27 21:46:05 +02:00