From fba87e190f350dfb035ee42bd6ba864d9567cd72 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Sun, 6 May 2018 22:17:30 +0300 Subject: Do not error when setting up geos with +lat_0!=0 --- src/PJ_geos.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/PJ_geos.c b/src/PJ_geos.c index 2988e62e..774a34a9 100644 --- a/src/PJ_geos.c +++ b/src/PJ_geos.c @@ -200,9 +200,6 @@ PJ *PROJECTION(geos) { if ((Q->h = pj_param(P->ctx, P->params, "dh").f) <= 0.) return pj_default_destructor (P, PJD_ERR_H_LESS_THAN_ZERO); - if (P->phi0 != 0.0) - return pj_default_destructor (P, PJD_ERR_UNKNOWN_PRIME_MERIDIAN); - sweep_axis = pj_param(P->ctx, P->params, "ssweep").s; if (sweep_axis == NULL) Q->flip_axis = 0; -- cgit v1.2.3 From 3f342114a94421ee010f97c7a8f3bf481b0d9f0b Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 11:37:36 +0200 Subject: Add tests for calcofi before refactoring --- test/gie/builtins.gie | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/gie/builtins.gie b/test/gie/builtins.gie index 63e56967..be491346 100644 --- a/test/gie/builtins.gie +++ b/test/gie/builtins.gie @@ -690,6 +690,21 @@ expect -207.544906814 81.314089279 accept -200 -100 expect -62.576950372 87.980755945 +operation +proj=calcofi +lon_0=50 +accept 10 50 +expect 303.525850 -1576.974388 +roundtrip 100 + +operation +proj=calcofi +ellps=GRS80 +lon_0=50 +accept 10 50 +expect 303.525850 -1576.974388 +roundtrip 100 + +operation +proj=calcofi +R=400 +lon_0=50 +x_0=10000 +y_0=500000 +accept 10 50 +expect 301.769827 -1567.849822 +roundtrip 100 + =============================================================================== Cassini -- cgit v1.2.3 From 2dcf018318e9513af7c96dad194780ec66fc42a0 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 11:38:23 +0200 Subject: Refactor calcofi so that global parameters are handled in the projection setup --- src/PJ_calcofi.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/src/PJ_calcofi.c b/src/PJ_calcofi.c index b51b409b..f322d2bd 100644 --- a/src/PJ_calcofi.c +++ b/src/PJ_calcofi.c @@ -44,13 +44,12 @@ static XY e_forward (LP lp, PJ *P) { /* Ellipsoidal, forward */ double l2; double ry; /* r is the point on the same station as o (60) and the same line as xy xy, r, o form a right triangle */ - /* if the user has specified +lon_0 or +k0 for some reason, - we're going to ignore it so that xy is consistent with point O */ - lp.lam = lp.lam + P->lam0; + if (fabs(fabs(lp.phi) - M_HALFPI) <= EPS10) { proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION); return xy; } + xy.x = lp.lam; xy.y = -log(pj_tsfn(lp.phi, sin(lp.phi), P->e)); /* Mercator transform xy*/ oy = -log(pj_tsfn(PT_O_PHI, sin(PT_O_PHI), P->e)); @@ -64,9 +63,7 @@ static XY e_forward (LP lp, PJ *P) { /* Ellipsoidal, forward */ (ry - lp.phi) * DEG_TO_STATION / sin(ROTATION_ANGLE); /* set a = 1, x0 = 0, and y0 = 0 so that no further unit adjustments are done */ - P->a = 1; - P->x0 = 0; - P->y0 = 0; + return xy; } @@ -77,7 +74,6 @@ static XY s_forward (LP lp, PJ *P) { /* Spheroidal, forward */ double l1; double l2; double ry; - lp.lam = lp.lam + P->lam0; if (fabs(fabs(lp.phi) - M_HALFPI) <= EPS10) { proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION); return xy; @@ -93,24 +89,20 @@ static XY s_forward (LP lp, PJ *P) { /* Spheroidal, forward */ (ry - PT_O_PHI) * DEG_TO_LINE / cos(ROTATION_ANGLE); xy.y = PT_O_STATION + RAD_TO_DEG * (ry - lp.phi) * DEG_TO_STATION / sin(ROTATION_ANGLE); - P->a = 1; - P->x0 = 0; - P->y0 = 0; + return xy; } static LP e_inverse (XY xy, PJ *P) { /* Ellipsoidal, inverse */ LP lp = {0.0,0.0}; - double ry; /* y value of point r */ + double ry; /* y value of point r */ double oymctr; /* Mercator-transformed y value of point O */ double rymctr; /* Mercator-transformed ry */ double xymctr; /* Mercator-transformed xy.y */ double l1; double l2; - /* turn x and y back into Line/Station */ - xy.x /= P->ra; - xy.y /= P->ra; + ry = PT_O_PHI - LINE_TO_RAD * (xy.x - PT_O_LINE) * cos(ROTATION_ANGLE); lp.phi = ry - STATION_TO_RAD * (xy.y - PT_O_STATION) * sin(ROTATION_ANGLE); @@ -120,7 +112,7 @@ static LP e_inverse (XY xy, PJ *P) { /* Ellipsoidal, inverse */ l1 = (xymctr - oymctr) * tan(ROTATION_ANGLE); l2 = (rymctr - xymctr) / (cos(ROTATION_ANGLE) * sin(ROTATION_ANGLE)); lp.lam = PT_O_LAMBDA - (l1 + l2); - P->over = 1; + return lp; } @@ -133,8 +125,8 @@ static LP s_inverse (XY xy, PJ *P) { /* Spheroidal, inverse */ double xymctr; double l1; double l2; - xy.x /= P->ra; - xy.y /= P->ra; + (void) P; + ry = PT_O_PHI - LINE_TO_RAD * (xy.x - PT_O_LINE) * cos(ROTATION_ANGLE); lp.phi = ry - STATION_TO_RAD * (xy.y - PT_O_STATION) * sin(ROTATION_ANGLE); @@ -144,7 +136,7 @@ static LP s_inverse (XY xy, PJ *P) { /* Spheroidal, inverse */ l1 = (xymctr - oymctr) * tan(ROTATION_ANGLE); l2 = (rymctr - xymctr) / (cos(ROTATION_ANGLE) * sin(ROTATION_ANGLE)); lp.lam = PT_O_LAMBDA - (l1 + l2); - P->over = 1; + return lp; } @@ -152,6 +144,15 @@ static LP s_inverse (XY xy, PJ *P) { /* Spheroidal, inverse */ PJ *PROJECTION(calcofi) { P->opaque = 0; + /* if the user has specified +lon_0 or +k0 for some reason, + we're going to ignore it so that xy is consistent with point O */ + P->lam0 = 0; + P->ra = 1; + P->a = 1; + P->x0 = 0; + P->y0 = 0; + P->over = 1; + if (P->es != 0.0) { /* ellipsoid */ P->inv = e_inverse; P->fwd = e_forward; -- cgit v1.2.3 From aecec570644fc8291b027f585311db4007c935f9 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 13:24:50 +0200 Subject: Change duplicate doc entry of proj_lp_dist() to proj_lpz_dist() --- docs/source/development/reference/functions.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/source/development/reference/functions.rst b/docs/source/development/reference/functions.rst index 52f801e5..e6a54cba 100644 --- a/docs/source/development/reference/functions.rst +++ b/docs/source/development/reference/functions.rst @@ -386,16 +386,19 @@ Distances .. c:function:: double proj_lp_dist(const PJ *P, PJ_COORD a, PJ_COORD b) - Calculate geodesic distance between two points in geodetic coordinates. + Calculate geodesic distance between two points in geodetic coordinates. The + calculated distance is between the two points located on the ellipsoid. :param PJ* P: Transformation object :param PJ_COORD a: Coordinate of first point :param PJ_COORD b: Coordinate of second point :returns: :c:type:`double` Distance between :c:data:`a` and :c:data:`b` in meters. -.. c:function:: double proj_lp_dist(const PJ *P, PJ_COORD a, PJ_COORD b) +.. c:function:: double proj_lpz_dist(const PJ *P, PJ_COORD a, PJ_COORD b) Calculate geodesic distance between two points in geodetic coordinates. + Similar to :c:func:`proj_lp_dist` but also takes the height above the ellipsoid + into account. :param PJ* P: Transformation object :param PJ_COORD a: Coordinate of first point -- cgit v1.2.3 From 06c33a972d955945ace80515f65bf31a4be779a1 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 20:32:27 +0200 Subject: Reset errno when running proj in verbose mode. Fixes #920. --- src/proj.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/proj.c b/src/proj.c index 01b32065..acd34da6 100644 --- a/src/proj.c +++ b/src/proj.c @@ -200,6 +200,7 @@ static void vprocess(FILE *fid) { emess(1,"binary I/O not available in -V option"); for (;;) { + proj_errno_reset(Proj); ++emess_dat.File_line; if (!(s = fgets(line, MAX_LINE, fid))) -- cgit v1.2.3 From a4a1cebe729c6eb3843b3a646d8e5f1cbb50920e Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 21:31:58 +0200 Subject: Clean readability-redundant-control-flow clang-tidy warnings --- src/PJ_helmert.c | 3 --- src/PJ_isea.c | 2 -- src/geocent.c | 1 - src/pj_internal.c | 3 --- 4 files changed, 9 deletions(-) diff --git a/src/PJ_helmert.c b/src/PJ_helmert.c index 5ff8c5d2..59864136 100644 --- a/src/PJ_helmert.c +++ b/src/PJ_helmert.c @@ -145,7 +145,6 @@ static void update_parameters(PJ *P) { proj_log_trace(P, "rz: %g", Q->opk.k); proj_log_trace(P, "theta: %g", Q->theta); } - return; } /**************************************************************************/ @@ -302,8 +301,6 @@ static void build_rot_matrix(PJ *P) { proj_log_trace(P, " | % 6.6g % 6.6g % 6.6g |", R10, R11, R12); proj_log_trace(P, " | % 6.6g % 6.6g % 6.6g |", R20, R21, R22); } - - return; } diff --git a/src/PJ_isea.c b/src/PJ_isea.c index 3e941c77..750587a3 100644 --- a/src/PJ_isea.c +++ b/src/PJ_isea.c @@ -608,7 +608,6 @@ isea_orient_isea(struct isea_dgg * g) g->o_lat = ISEA_STD_LAT; g->o_lon = ISEA_STD_LON; g->o_az = 0.0; - return; } ISEA_STATIC @@ -620,7 +619,6 @@ isea_orient_pole(struct isea_dgg * g) g->o_lat = M_PI / 2.0; g->o_lon = 0.0; g->o_az = 0; - return; } ISEA_STATIC diff --git a/src/geocent.c b/src/geocent.c index a8cec043..c023bdd3 100644 --- a/src/geocent.c +++ b/src/geocent.c @@ -432,6 +432,5 @@ void pj_Convert_Geocentric_To_Geodetic (GeocentricInfo *gi, /* ellipsoidal (geodetic) latitude */ *Latitude=atan2(SPHI, fabs(CPHI)); - return; #endif /* defined(USE_ITERATIVE_METHOD) */ } /* END OF Convert_Geocentric_To_Geodetic */ diff --git a/src/pj_internal.c b/src/pj_internal.c index dc528649..a6093c40 100644 --- a/src/pj_internal.c +++ b/src/pj_internal.c @@ -134,7 +134,6 @@ void proj_context_set (PJ *P, PJ_CONTEXT *ctx) { if (0==ctx) ctx = pj_get_default_ctx (); pj_set_ctx (P, ctx); - return; } @@ -143,7 +142,6 @@ void proj_context_inherit (PJ *parent, PJ *child) { pj_set_ctx (child, pj_get_default_ctx()); else pj_set_ctx (child, pj_get_ctx(parent)); - return; } @@ -361,7 +359,6 @@ to that context. if (0==ctx) ctx = pj_get_default_ctx(); pj_ctx_set_errno (ctx, err); - return; } /* logging */ -- cgit v1.2.3 From ae1ed6641210c3d7bf570688d11b28c6460e4e9c Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 21:43:22 +0200 Subject: Clean readability-inconsistent-declaration-parameter-name clang-tidy warnings --- src/PJ_pipeline.c | 4 +- src/cct.c | 2 +- src/geodesic.c | 6 +-- src/gie.c | 36 +++++++++--------- src/pj_apply_gridshift.c | 10 ++--- src/pj_gridcatalog.c | 8 ++-- src/pj_transform.c | 96 ++++++++++++++++++++++++------------------------ 7 files changed, 81 insertions(+), 81 deletions(-) diff --git a/src/PJ_pipeline.c b/src/PJ_pipeline.c index aa7d76f8..2e5863fd 100644 --- a/src/PJ_pipeline.c +++ b/src/PJ_pipeline.c @@ -118,8 +118,8 @@ static PJ_COORD pipeline_forward_4d (PJ_COORD, PJ *P); static PJ_COORD pipeline_reverse_4d (PJ_COORD, PJ *P); static XYZ pipeline_forward_3d (LPZ lpz, PJ *P); static LPZ pipeline_reverse_3d (XYZ xyz, PJ *P); -static XY pipeline_forward (LP lpz, PJ *P); -static LP pipeline_reverse (XY xyz, PJ *P); +static XY pipeline_forward (LP lp, PJ *P); +static LP pipeline_reverse (XY xy, PJ *P); diff --git a/src/cct.c b/src/cct.c index d9d25329..8dd1e0ad 100644 --- a/src/cct.c +++ b/src/cct.c @@ -88,7 +88,7 @@ Thomas Knudsen, thokn@sdfe.dk, 2016-05-25/2017-10-26 double proj_strtod(const char *str, char **endptr); double proj_atof(const char *str); static void logger(void *data, int level, const char *msg); -static void print(PJ_LOG_LEVEL verbosity, const char *fmt, ...); +static void print(PJ_LOG_LEVEL log_level, const char *fmt, ...); /* Prototypes from functions in this file */ char *column (char *buf, int n); diff --git a/src/geodesic.c b/src/geodesic.c index 9904c7fa..3fcfd1c9 100644 --- a/src/geodesic.c +++ b/src/geodesic.c @@ -331,7 +331,7 @@ static real Lambda12(const struct geod_geodesic* g, real* pssig1, real* pcsig1, real* pssig2, real* pcsig2, real* peps, - real* pgomg12, + real* pdomg12, boolx diffp, real* pdlam12, /* Scratch area of the right size */ real Ca[]); @@ -481,10 +481,10 @@ void geod_lineinit(struct geod_geodesicline* l, void geod_gendirectline(struct geod_geodesicline* l, const struct geod_geodesic* g, real lat1, real lon1, real azi1, - unsigned flags, real a12_s12, + unsigned flags, real s12_a12, unsigned caps) { geod_lineinit(l, g, lat1, lon1, azi1, caps); - geod_gensetdistance(l, flags, a12_s12); + geod_gensetdistance(l, flags, s12_a12); } void geod_directline(struct geod_geodesicline* l, diff --git a/src/gie.c b/src/gie.c index b81e6bdc..2f3e477d 100644 --- a/src/gie.c +++ b/src/gie.c @@ -134,15 +134,15 @@ typedef struct ffio { size_t level; } ffio; -static int get_inp (ffio *F); -static int skip_to_next_tag (ffio *F); -static int step_into_gie_block (ffio *F); -static int locate_tag (ffio *F, const char *tag); -static int nextline (ffio *F); -static int at_end_delimiter (ffio *F); -static const char *at_tag (ffio *F); -static int at_decorative_element (ffio *F); -static ffio *ffio_destroy (ffio *F); +static int get_inp (ffio *G); +static int skip_to_next_tag (ffio *G); +static int step_into_gie_block (ffio *G); +static int locate_tag (ffio *G, const char *tag); +static int nextline (ffio *G); +static int at_end_delimiter (ffio *G); +static const char *at_tag (ffio *G); +static int at_decorative_element (ffio *G); +static ffio *ffio_destroy (ffio *G); static ffio *ffio_create (const char **tags, size_t n_tags, size_t max_record_size); static const char *gie_tags[] = { @@ -1172,15 +1172,15 @@ See the PROJ ".gie" test suites for examples of supported formatting. -static int get_inp (ffio *F); -static int skip_to_next_tag (ffio *F); -static int step_into_gie_block (ffio *F); -static int locate_tag (ffio *F, const char *tag); -static int nextline (ffio *F); -static int at_end_delimiter (ffio *F); -static const char *at_tag (ffio *F); -static int at_decorative_element (ffio *F); -static ffio *ffio_destroy (ffio *F); +static int get_inp (ffio *G); +static int skip_to_next_tag (ffio *G); +static int step_into_gie_block (ffio *G); +static int locate_tag (ffio *G, const char *tag); +static int nextline (ffio *G); +static int at_end_delimiter (ffio *G); +static const char *at_tag (ffio *G); +static int at_decorative_element (ffio *G); +static ffio *ffio_destroy (ffio *G); static ffio *ffio_create (const char **tags, size_t n_tags, size_t max_record_size); diff --git a/src/pj_apply_gridshift.c b/src/pj_apply_gridshift.c index 1ef39b20..424dfb11 100644 --- a/src/pj_apply_gridshift.c +++ b/src/pj_apply_gridshift.c @@ -174,7 +174,7 @@ static struct CTABLE* find_ctable(projCtx ctx, LP input, int grid_count, PJ_GRID /* This is the real workhorse, given a gridlist. */ /************************************************************************/ -int pj_apply_gridshift_3( projCtx ctx, PJ_GRIDINFO **tables, int grid_count, +int pj_apply_gridshift_3( projCtx ctx, PJ_GRIDINFO **gridlist, int gridlist_count, int inverse, long point_count, int point_offset, double *x, double *y, double *z ) { @@ -183,7 +183,7 @@ int pj_apply_gridshift_3( projCtx ctx, PJ_GRIDINFO **tables, int grid_count, static int debug_count = 0; (void) z; - if( tables == NULL || grid_count == 0 ) + if( gridlist== NULL || gridlist_count == 0 ) { pj_ctx_set_errno(ctx, PJD_ERR_FAILED_TO_LOAD_GRID); return PJD_ERR_FAILED_TO_LOAD_GRID; @@ -202,7 +202,7 @@ int pj_apply_gridshift_3( projCtx ctx, PJ_GRIDINFO **tables, int grid_count, output.phi = HUGE_VAL; output.lam = HUGE_VAL; - ct = find_ctable(ctx, input, grid_count, tables); + ct = find_ctable(ctx, input, gridlist_count, gridlist); if( ct != NULL ) { output = nad_cvt( input, inverse, ct ); @@ -220,9 +220,9 @@ int pj_apply_gridshift_3( projCtx ctx, PJ_GRIDINFO **tables, int grid_count, " location (%.7fdW,%.7fdN)", x[io] * RAD_TO_DEG, y[io] * RAD_TO_DEG ); - for( itable = 0; itable < grid_count; itable++ ) + for( itable = 0; itable < gridlist_count; itable++ ) { - PJ_GRIDINFO *gi = tables[itable]; + PJ_GRIDINFO *gi = gridlist[itable]; if( itable == 0 ) pj_log( ctx, PJ_LOG_DEBUG_MAJOR, " tried: %s", gi->gridname ); else diff --git a/src/pj_gridcatalog.c b/src/pj_gridcatalog.c index 0498d5b0..45876ead 100644 --- a/src/pj_gridcatalog.c +++ b/src/pj_gridcatalog.c @@ -234,7 +234,7 @@ int pj_gc_apply_gridshift( PJ *defn, int inverse, PJ_GRIDINFO *pj_gc_findgrid( projCtx ctx, PJ_GridCatalog *catalog, int after, LP location, double date, - PJ_Region *optimal_region, + PJ_Region *optional_region, double *grid_date ) { int iEntry; @@ -264,15 +264,15 @@ PJ_GRIDINFO *pj_gc_findgrid( projCtx ctx, PJ_GridCatalog *catalog, int after, { if( grid_date ) *grid_date = 0.0; - if( optimal_region != NULL ) - memset( optimal_region, 0, sizeof(PJ_Region)); + if( optional_region != NULL ) + memset( optional_region, 0, sizeof(PJ_Region)); return NULL; } if( grid_date ) *grid_date = entry->date; - if( optimal_region ) + if( optional_region ) { } diff --git a/src/pj_transform.c b/src/pj_transform.c index 168711ba..3d7bd5c8 100644 --- a/src/pj_transform.c +++ b/src/pj_transform.c @@ -495,66 +495,66 @@ static int long_wrap (PJ *P, long n, int dist, double *x) { /************************************************************************/ int pj_transform( - PJ *srcdefn, PJ *dstdefn, + PJ *src, PJ *dst, long point_count, int point_offset, double *x, double *y, double *z ){ int err; - srcdefn->ctx->last_errno = 0; - dstdefn->ctx->last_errno = 0; + src->ctx->last_errno = 0; + dst->ctx->last_errno = 0; if( point_offset == 0 ) point_offset = 1; /* Bring input to "normal form": longitude, latitude, ellipsoidal height */ - err = adjust_axes (srcdefn, PJ_INV, point_count, point_offset, x, y, z); + err = adjust_axes (src, PJ_INV, point_count, point_offset, x, y, z); if (err) return err; - err = geographic_to_cartesian (srcdefn, PJ_INV, point_count, point_offset, x, y, z); + err = geographic_to_cartesian (src, PJ_INV, point_count, point_offset, x, y, z); if (err) return err; - err = projected_to_geographic (srcdefn, point_count, point_offset, x, y, z); + err = projected_to_geographic (src, point_count, point_offset, x, y, z); if (err) return err; - err = prime_meridian (srcdefn, PJ_INV, point_count, point_offset, x); + err = prime_meridian (src, PJ_INV, point_count, point_offset, x); if (err) return err; - err = height_unit (srcdefn, PJ_INV, point_count, point_offset, z); + err = height_unit (src, PJ_INV, point_count, point_offset, z); if (err) return err; - err = geometric_to_orthometric (srcdefn, PJ_INV, point_count, point_offset, x, y, z); + err = geometric_to_orthometric (src, PJ_INV, point_count, point_offset, x, y, z); if (err) return err; /* At the center of the process we do the datum shift (if needed) */ - err = datum_transform(srcdefn, dstdefn, point_count, point_offset, x, y, z ); + err = datum_transform(src, dst, point_count, point_offset, x, y, z ); if (err) return err; /* Now get out on the other side: Bring "normal form" to output form */ - err = geometric_to_orthometric (dstdefn, PJ_FWD, point_count, point_offset, x, y, z); + err = geometric_to_orthometric (dst, PJ_FWD, point_count, point_offset, x, y, z); if (err) return err; - err = height_unit (dstdefn, PJ_FWD, point_count, point_offset, z); + err = height_unit (dst, PJ_FWD, point_count, point_offset, z); if (err) return err; - err = prime_meridian (dstdefn, PJ_FWD, point_count, point_offset, x); + err = prime_meridian (dst, PJ_FWD, point_count, point_offset, x); if (err) return err; - err = geographic_to_cartesian (dstdefn, PJ_FWD, point_count, point_offset, x, y, z); + err = geographic_to_cartesian (dst, PJ_FWD, point_count, point_offset, x, y, z); if (err) return err; - err = geographic_to_projected (dstdefn, point_count, point_offset, x, y, z); + err = geographic_to_projected (dst, point_count, point_offset, x, y, z); if (err) return err; - err = long_wrap (dstdefn, point_count, point_offset, x); + err = long_wrap (dst, point_count, point_offset, x); if (err) return err; - err = adjust_axes (dstdefn, PJ_FWD, point_count, point_offset, x, y, z); + err = adjust_axes (dst, PJ_FWD, point_count, point_offset, x, y, z); if (err) return err; @@ -799,7 +799,7 @@ int pj_geocentric_from_wgs84( PJ *defn, /* coordinates in radians in the destination datum. */ /************************************************************************/ -int pj_datum_transform( PJ *srcdefn, PJ *dstdefn, +int pj_datum_transform( PJ *src, PJ *dst, long point_count, int point_offset, double *x, double *y, double *z ) @@ -813,21 +813,21 @@ int pj_datum_transform( PJ *srcdefn, PJ *dstdefn, /* (ie. only a +ellps declaration, no +datum). This is new */ /* behavior for PROJ 4.6.0. */ /* -------------------------------------------------------------------- */ - if( srcdefn->datum_type == PJD_UNKNOWN - || dstdefn->datum_type == PJD_UNKNOWN ) + if( src->datum_type == PJD_UNKNOWN + || dst->datum_type == PJD_UNKNOWN ) return 0; /* -------------------------------------------------------------------- */ /* Short cut if the datums are identical. */ /* -------------------------------------------------------------------- */ - if( pj_compare_datums( srcdefn, dstdefn ) ) + if( pj_compare_datums( src, dst ) ) return 0; - src_a = srcdefn->a_orig; - src_es = srcdefn->es_orig; + src_a = src->a_orig; + src_es = src->es_orig; - dst_a = dstdefn->a_orig; - dst_es = dstdefn->es_orig; + dst_a = dst->a_orig; + dst_es = dst->es_orig; /* -------------------------------------------------------------------- */ /* Create a temporary Z array if one is not provided. */ @@ -846,16 +846,16 @@ int pj_datum_transform( PJ *srcdefn, PJ *dstdefn, /* If this datum requires grid shifts, then apply it to geodetic */ /* coordinates. */ /* -------------------------------------------------------------------- */ - if( srcdefn->datum_type == PJD_GRIDSHIFT ) + if( src->datum_type == PJD_GRIDSHIFT ) { - pj_apply_gridshift_2( srcdefn, 0, point_count, point_offset, x, y, z ); - CHECK_RETURN(srcdefn); + pj_apply_gridshift_2( src, 0, point_count, point_offset, x, y, z ); + CHECK_RETURN(src); src_a = SRS_WGS84_SEMIMAJOR; src_es = SRS_WGS84_ESQUARED; } - if( dstdefn->datum_type == PJD_GRIDSHIFT ) + if( dst->datum_type == PJD_GRIDSHIFT ) { dst_a = SRS_WGS84_SEMIMAJOR; dst_es = SRS_WGS84_ESQUARED; @@ -865,52 +865,52 @@ int pj_datum_transform( PJ *srcdefn, PJ *dstdefn, /* Do we need to go through geocentric coordinates? */ /* ==================================================================== */ if( src_es != dst_es || src_a != dst_a - || srcdefn->datum_type == PJD_3PARAM - || srcdefn->datum_type == PJD_7PARAM - || dstdefn->datum_type == PJD_3PARAM - || dstdefn->datum_type == PJD_7PARAM) + || src->datum_type == PJD_3PARAM + || src->datum_type == PJD_7PARAM + || dst->datum_type == PJD_3PARAM + || dst->datum_type == PJD_7PARAM) { /* -------------------------------------------------------------------- */ /* Convert to geocentric coordinates. */ /* -------------------------------------------------------------------- */ - srcdefn->ctx->last_errno = + src->ctx->last_errno = pj_geodetic_to_geocentric( src_a, src_es, point_count, point_offset, x, y, z ); - CHECK_RETURN(srcdefn); + CHECK_RETURN(src); /* -------------------------------------------------------------------- */ /* Convert between datums. */ /* -------------------------------------------------------------------- */ - if( srcdefn->datum_type == PJD_3PARAM - || srcdefn->datum_type == PJD_7PARAM ) + if( src->datum_type == PJD_3PARAM + || src->datum_type == PJD_7PARAM ) { - pj_geocentric_to_wgs84( srcdefn, point_count, point_offset,x,y,z); - CHECK_RETURN(srcdefn); + pj_geocentric_to_wgs84( src, point_count, point_offset,x,y,z); + CHECK_RETURN(src); } - if( dstdefn->datum_type == PJD_3PARAM - || dstdefn->datum_type == PJD_7PARAM ) + if( dst->datum_type == PJD_3PARAM + || dst->datum_type == PJD_7PARAM ) { - pj_geocentric_from_wgs84( dstdefn, point_count,point_offset,x,y,z); - CHECK_RETURN(dstdefn); + pj_geocentric_from_wgs84( dst, point_count,point_offset,x,y,z); + CHECK_RETURN(dst); } /* -------------------------------------------------------------------- */ /* Convert back to geodetic coordinates. */ /* -------------------------------------------------------------------- */ - dstdefn->ctx->last_errno = + dst->ctx->last_errno = pj_geocentric_to_geodetic( dst_a, dst_es, point_count, point_offset, x, y, z ); - CHECK_RETURN(dstdefn); + CHECK_RETURN(dst); } /* -------------------------------------------------------------------- */ /* Apply grid shift to destination if required. */ /* -------------------------------------------------------------------- */ - if( dstdefn->datum_type == PJD_GRIDSHIFT ) + if( dst->datum_type == PJD_GRIDSHIFT ) { - pj_apply_gridshift_2( dstdefn, 1, point_count, point_offset, x, y, z ); - CHECK_RETURN(dstdefn); + pj_apply_gridshift_2( dst, 1, point_count, point_offset, x, y, z ); + CHECK_RETURN(dst); } if( z_is_temp ) -- cgit v1.2.3 From 11bfb050e4712c6b320b8a1256a36a66c60359c0 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 21:51:42 +0200 Subject: Clean readability-redundant-declaratio clang-tidy warnings Function prototypes were declared twice for the FFIO framework, probably because FFIO at some point during development existed as a separate file. With this commit the second set of function prototypes is removed leaving only the first entry at the top of the file. Similarly duplicate header inclusions has been removed. --- src/gie.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/src/gie.c b/src/gie.c index 2f3e477d..b912a3ac 100644 --- a/src/gie.c +++ b/src/gie.c @@ -1160,30 +1160,6 @@ See the PROJ ".gie" test suites for examples of supported formatting. ****************************************************************************************/ -#include -#include -#include - -#include -#include - -#include -#include - - - -static int get_inp (ffio *G); -static int skip_to_next_tag (ffio *G); -static int step_into_gie_block (ffio *G); -static int locate_tag (ffio *G, const char *tag); -static int nextline (ffio *G); -static int at_end_delimiter (ffio *G); -static const char *at_tag (ffio *G); -static int at_decorative_element (ffio *G); -static ffio *ffio_destroy (ffio *G); -static ffio *ffio_create (const char **tags, size_t n_tags, size_t max_record_size); - - /***************************************************************************************/ static ffio *ffio_create (const char **tags, size_t n_tags, size_t max_record_size) { -- cgit v1.2.3 From 2c5d2521b7e6c45e8dab44aa547c44d20925858f Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 22:00:44 +0200 Subject: Clean readability-misleading-indentation clang-tidy warnings --- src/PJ_omerc.c | 4 ++-- src/gie.c | 17 ++++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/PJ_omerc.c b/src/PJ_omerc.c index 1e80b4ca..32bf5c14 100644 --- a/src/PJ_omerc.c +++ b/src/PJ_omerc.c @@ -124,9 +124,9 @@ PJ *PROJECTION(omerc) { Q->no_rot = pj_param(P->ctx, P->params, "bno_rot").i; if ((alp = pj_param(P->ctx, P->params, "talpha").i) != 0) - alpha_c = pj_param(P->ctx, P->params, "ralpha").f; + alpha_c = pj_param(P->ctx, P->params, "ralpha").f; if ((gam = pj_param(P->ctx, P->params, "tgamma").i) != 0) - gamma = pj_param(P->ctx, P->params, "rgamma").f; + gamma = pj_param(P->ctx, P->params, "rgamma").f; if (alp || gam) { lamc = pj_param(P->ctx, P->params, "rlonc").f; no_off = diff --git a/src/gie.c b/src/gie.c index b912a3ac..17f2cca0 100644 --- a/src/gie.c +++ b/src/gie.c @@ -303,9 +303,11 @@ int main (int argc, char **argv) { process_file (o->fargv[i]); if (T.verbosity > 0) { - if (o->fargc > 1) - fprintf (T.fout, "%sGrand total: %d. Success: %d, Skipped: %d, Failure: %d\n", - delim, T.grand_ok+T.grand_ko+T.grand_skip, T.grand_ok, T.grand_skip, T.grand_ko); + if (o->fargc > 1) { + fprintf (T.fout, "%sGrand total: %d. Success: %d, Skipped: %d, Failure: %d\n", + delim, T.grand_ok+T.grand_ko+T.grand_skip, T.grand_ok, T.grand_skip, + T.grand_ko); + } fprintf (T.fout, "%s", delim); if (T.verbosity > 1) { fprintf (T.fout, "Failing roundtrips: %4d, Succeeding roundtrips: %4d\n", fail_rtps, succ_rtps); @@ -414,10 +416,11 @@ static int process_file (const char *fname) { T.grand_ok += T.total_ok; T.grand_ko += T.total_ko; T.grand_skip += T.grand_skip; - if (T.verbosity > 0) - fprintf (T.fout, "%stotal: %2d tests succeeded, %2d tests skipped, %2d tests %s\n", - delim, T.total_ok, T.total_skip, T.total_ko, T.total_ko? "FAILED!": "failed."); - + if (T.verbosity > 0) { + fprintf (T.fout, "%stotal: %2d tests succeeded, %2d tests skipped, %2d tests %s\n", + delim, T.total_ok, T.total_skip, T.total_ko, + T.total_ko? "FAILED!": "failed."); + } if (F->level==0) return errmsg (-3, "File '%s':Missing '' cmnd - bye!\n", fname); if (F->level && F->level%2) -- cgit v1.2.3 From 2b0261de1bb4cac1870d2d8c9d6f5b1585bd86b0 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 7 May 2018 22:08:27 +0200 Subject: Clean readability-named-parameter clang-tidy warnings --- src/PJ_pipeline.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PJ_pipeline.c b/src/PJ_pipeline.c index 2e5863fd..4f42faed 100644 --- a/src/PJ_pipeline.c +++ b/src/PJ_pipeline.c @@ -114,8 +114,8 @@ struct pj_opaque { -static PJ_COORD pipeline_forward_4d (PJ_COORD, PJ *P); -static PJ_COORD pipeline_reverse_4d (PJ_COORD, PJ *P); +static PJ_COORD pipeline_forward_4d (PJ_COORD point, PJ *P); +static PJ_COORD pipeline_reverse_4d (PJ_COORD point, PJ *P); static XYZ pipeline_forward_3d (LPZ lpz, PJ *P); static LPZ pipeline_reverse_3d (XYZ xyz, PJ *P); static XY pipeline_forward (LP lp, PJ *P); -- cgit v1.2.3 From 7a4ae9fcfe12d7b7c94df18ef9d1780c664040f0 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Wed, 9 May 2018 23:20:33 +0200 Subject: Remove PDF download link to download section --- docs/source/download.rst | 9 +++------ docs/source/index.rst | 5 ----- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/docs/source/download.rst b/docs/source/download.rst index d7c60d63..510751c4 100644 --- a/docs/source/download.rst +++ b/docs/source/download.rst @@ -4,13 +4,7 @@ Download ================================================================================ -.. contents:: Contents - :depth: 3 - :backlinks: none -Release Notes --------------------------------------------------------------------------------- -* `NEWS `_ Current Release -------------------------------------------------------------------------------- @@ -20,6 +14,7 @@ Current Release * **2018-03-01** `proj-datumgrid-europe-1.0.zip`_ * **2018-03-01** `proj-datumgrid-north-america-1.0.zip`_ * **2018-03-01** `proj-datumgrid-oceania-1.0.zip`_ +* **PDF Manual** `proj.pdf`_ Past Releases -------------------------------------------------------------------------------- @@ -42,6 +37,8 @@ Past Releases .. _`proj-datumgrid-north-america-1.0.zip`: http://download.osgeo.org/proj/proj-datumgrid-north-america-1.0.zip .. _`proj-datumgrid-oceania-1.0.zip`: http://download.osgeo.org/proj/proj-datumgrid-oceania-1.0.zip .. _`md5`: http://download.osgeo.org/proj/proj-5.0.1.tar.gz.md5 +.. _`proj.pdf`: https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf + Binaries -------------------------------------------------------------------------------- diff --git a/docs/source/index.rst b/docs/source/index.rst index 72bf1600..5eb521c8 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -27,11 +27,6 @@ own software. PROJ is maintained on `GitHub `_. .. |coverals| image:: https://coveralls.io/repos/OSGeo/proj.4/badge.svg?branch=master :target: https://coveralls.io/r/OSGeo/proj.4?branch=master -.. only:: not latex - - Full documentation is available as a single PDF at - https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf - Documentation ================= -- cgit v1.2.3 From d02e9ede9aebc10d63007ca8d18650fad6d301d7 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Thu, 10 May 2018 00:23:48 +0200 Subject: Create "Community" section at top level of docs Mailing list section from frontpage moved to the new section. So is the contributing and for_proj_contributors pages. --- docs/source/community/channels.rst | 37 +++++ docs/source/community/code_contributions.rst | 153 +++++++++++++++++++ docs/source/community/contributing.rst | 173 ++++++++++++++++++++++ docs/source/community/index.rst | 18 +++ docs/source/contributing.rst | 173 ---------------------- docs/source/development/for_proj_contributors.rst | 153 ------------------- docs/source/development/index.rst | 1 - docs/source/index.rst | 6 +- 8 files changed, 382 insertions(+), 332 deletions(-) create mode 100644 docs/source/community/channels.rst create mode 100644 docs/source/community/code_contributions.rst create mode 100644 docs/source/community/contributing.rst create mode 100644 docs/source/community/index.rst delete mode 100644 docs/source/contributing.rst delete mode 100644 docs/source/development/for_proj_contributors.rst diff --git a/docs/source/community/channels.rst b/docs/source/community/channels.rst new file mode 100644 index 00000000..ea12c3f7 --- /dev/null +++ b/docs/source/community/channels.rst @@ -0,0 +1,37 @@ +.. _channels: + +=========================== +Communication channels +=========================== + +Mailing list +------------------------------------------------------------------------------- + +Users and developers of the library are using the mailing list to discuss all +things related to PROJ. The mailing list is the primary forum for asking for +help with use of PROJ. The mailing list is also used for announcements, discussions +about the development of the library and from time to time interesting discussions +on geodesy appear as well. You are more than welcome to join in on the discussions! + + +The PROJ mailing list can be found at http://lists.maptools.org/mailman/listinfo/proj + + +GitHub +------------------------------------------------------------------------------- + +GitHub is the development platform we use for collaborating on the PROJ code. +We use GitHub to keep track of the changes in the code and to index bug reports +and feature requests. We are happy to take contributions in any form, either +as code, bug reports, documentation or feature requests. See :ref:`contributing` +for more info on how you can help improve PROJ. + +The PROJ GitHub page can be found at https://github.com/OSGeo/proj.4 + +.. note:: + + The issue tracker on GitHub is only meant to keep track of bugs, feature + request and other things related to the development of PROJ. Please ask + your questions about the use of PROJ on the mailing list instead. + + diff --git a/docs/source/community/code_contributions.rst b/docs/source/community/code_contributions.rst new file mode 100644 index 00000000..ef144399 --- /dev/null +++ b/docs/source/community/code_contributions.rst @@ -0,0 +1,153 @@ +.. _code_contributions: + +================================================================================ +Guidelines for PROJ code contributors +================================================================================ + +This is a guide for PROJ, casual or regular, code contributors. + +Code contributions. +############################################################################### + +Code contributions can be either bug fixes or new features. The process +is the same for both, so they will be discussed together in this +section. + +Making Changes +~~~~~~~~~~~~~~ + +- Create a topic branch from where you want to base your work. +- You usually should base your topic branch off of the master branch. +- To quickly create a topic branch: ``git checkout -b my-topic-branch`` +- Make commits of logical units. +- Check for unnecessary whitespace with ``git diff --check`` before + committing. +- Make sure your commit messages are in the `proper + format `__. +- Make sure you have added the necessary tests for your changes. +- Make sure that all tests pass + +Submitting Changes +~~~~~~~~~~~~~~~~~~ + +- Push your changes to a topic branch in your fork of the repository. +- Submit a pull request to the PROJ repository in the OSGeo + organization. +- If your pull request fixes/references an issue, include that issue + number in the pull request. For example: + +:: + + Wiz the bang + + Fixes #123. + +- PROJ developers will look at your patch and take an appropriate + action. + +Coding conventions +~~~~~~~~~~~~~~~~~~ + +Programming language +^^^^^^^^^^^^^^^^^^^^ + +PROJ is developed strictly in ANSI C 89. + +Coding style +^^^^^^^^^^^^ + +We don't enforce any particular coding style, but please try to keep it +as simple as possible. If improving existing code, please try to conform +with the style of the locally surrounding code. + +Whitespace +^^^^^^^^^^ + +Throughout the PROJ code base you will see differing whitespace use. +The general rule is to keep whitespace in whatever form it is in the +file you are currently editing. If the file has a mix of tabs and space +please convert the tabs to space in a separate commit before making any +other changes. This makes it a lot easier to see the changes in diffs +when evaluating the changed code. New files should use spaces as +whitespace. + +File names +^^^^^^^^^^ + +Files in which projections are implemented are prefixed with an +upper-case ``PJ_`` and most other files are prefixed with lower-case +``pj_``. Some file deviate from this pattern, most of them dates back to +the very early releases of PROJ. New contributions should follow the +pj-prefix pattern. Unless there are obvious reasons not to. + + +Tools +############################################################################### + +cppcheck static analyzer +~~~~~~~~~~~~~~~~~~~~~~~~ + +You can run locally ``scripts/cppcheck.sh`` that is a wrapper script around the +cppcheck utility. It is known to work with cppcheck 1.61 of Ubuntu Trusty 14.0, +since this is what is currently used on Travis-CI +(``travis/linux_gcc/before_install.sh``). +At the time of writing, this also works with cppcheck 1.72 of Ubuntu Xenial +16.04, and latest cppcheck +master. + +cppcheck can have false positives. In general, it is preferable to rework the +code a bit to make it more 'obvious' and avoid those false positives. When not +possible, you can add a comment in the code like + +:: + + /* cppcheck-suppress duplicateBreak */ + +in the preceding line. Replace +duplicateBreak with the actual name of the violated rule emitted by cppcheck. + +CLang Static Analyzer (CSA) +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +CSA is run by the ``travis/csa`` build configuration. You may also run it locally. + +Preliminary step: install clang. For example: + +:: + + wget http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz + tar xJf clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz + +Run configure under the scan-build utility of clang: + +:: + + ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build ./configure + +Build under scan-build: + +:: + + ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build make [-j8] + +If CSA finds errors, they will be emitted during the build. And in which case, +at the end of the build process, scan-build will emit a warning message +indicating errors have been found and how to display the error report. This +is with someling like + +:: + + ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-view /tmp/scan-build-2018-03-15-121416-17476-1 + + +This will open a web browser with the interactive report. + +CSA may also have false positives. In general, this happens when the code is +non-trivial / makes assumptions that hard to check at first sight. You will +need to add extra checks or rework it a bit to make it more "obvious" for CSA. +This will also help humans reading your code ! + +Typo detection and fixes +~~~~~~~~~~~~~~~~~~~~~~~~ + +Run ``scripts/fix_typos.sh`` diff --git a/docs/source/community/contributing.rst b/docs/source/community/contributing.rst new file mode 100644 index 00000000..d56aef6e --- /dev/null +++ b/docs/source/community/contributing.rst @@ -0,0 +1,173 @@ +.. _contributing: + +=========================== +Contributing +=========================== + +PROJ has a wide and varied user base. Some are highly skilled +geodesists with a deep knowledge of map projections and reference +systems, some are GIS software developers and others are GIS users. All +users, regardless of the profession or skill level, has the ability to +contribute to PROJ. Here's a few suggestion on how: + +- Help PROJ-users that is less experienced than yourself. +- Write a bug report +- Request a new feature +- Write documentation for your favorite map projection +- Fix a bug +- Implement a new feature + +In the following sections you can find some guidelines on how to +contribute. As PROJ is managed on GitHub most contributions require +that you have a GitHub account. Familiarity with +`issues `__ and the `GitHub +Flow `__ is an advantage. + +Help a fellow PROJ user +------------------------- + +The main forum for support for PROJ is the mailing list. You can +subscribe to the mailing list +`here `__ and read the +archive `here `__. + +If you have questions about the usage of PROJ the mailing list is also +the place to go. Please *do not* use the GitHub issue tracker as a +support forum. Your question is much more likely to be answered on the +mailing list, as many more people follow that than the issue tracker. + +Adding bug reports +------------------ + +Bug reports are handled in the `issue +tracker `__ on PROJ's home on +GitHub. Writing a good bug report is not easy. But fixing a poorly +documented bug is not easy either, so please put in the effort it takes +to create a thorough bug report. + +A good bug report includes at least: + +- A title that quickly explains the problem +- A description of the problem and how it can be reproduced +- Version of PROJ being used +- Version numbers of any other relevant software being used, e.g. + operating system +- A description of what already has been done to solve the problem + +The more information that is given up front, the more likely it is that +a developer will find interest in solving the problem. You will probably +get follow-up questions after submitting a bug report. Please answer +them in a timely manner if you have an interest in getting the issue +solved. + +Finally, please only submit bug reports that are actually related to +PROJ. If the issue materializes in software that uses PROJ it is +likely a problem with that particular software. Make sure that it +actually is a PROJ problem before you submit an issue. If you can +reproduce the problem only by using tools from PROJ it is definitely a +problem with PROJ. + +Feature requests +---------------- + +Got an idea for a new feature in PROJ? Submit a thorough description +of the new feature in the `issue +tracker `__. Please include any +technical documents that can help the developer make the new feature a +reality. An example of this could be a publicly available academic paper +that describes a new projection. Also, including a numerical test case +will make it much easier to verify that an implementation of your +requested feature actually works as you expect. + +Note that not all feature requests are accepted. + +Write documentation +------------------- + +PROJ is in dire need of better documentation. Any contributions of +documentation are greatly appreciated. The PROJ documentation is +available on `proj4.org `__. The website is generated +with `Sphinx `__. Contributions to +the documentation should be made as `Pull +Requests `__ on GitHub. + +If you intend to document one of PROJ's supported projections please +use the :doc:`Mercator projection <../operations/projections/merc>` +as a template. + +Code contributions +------------------ + +See :doc:`Code contributions ` + +Legalese +~~~~~~~~ + +Committers are the front line gatekeepers to keep the code base clear of +improperly contributed code. It is important to the PROJ users, +developers and the OSGeo foundation to avoid contributing any code to +the project without it being clearly licensed under the project license. + +Generally speaking the key issues are that those providing code to be +included in the repository understand that the code will be released +under the MIT/X license, and that the person providing the code has the +right to contribute the code. For the committer themselves understanding +about the license is hopefully clear. For other contributors, the +committer should verify the understanding unless the committer is very +comfortable that the contributor understands the license (for instance +frequent contributors). + +If the contribution was developed on behalf of an employer (on work +time, as part of a work project, etc) then it is important that an +appropriate representative of the employer understand that the code will +be contributed under the MIT/X license. The arrangement should be +cleared with an authorized supervisor/manager, etc. + +The code should be developed by the contributor, or the code should be +from a source which can be rightfully contributed such as from the +public domain, or from an open source project under a compatible +license. + +All unusual situations need to be discussed and/or documented. + +Committers should adhere to the following guidelines, and may be +personally legally liable for improperly contributing code to the source +repository: + +- Make sure the contributor (and possibly employer) is aware of the + contribution terms. +- Code coming from a source other than the contributor (such as adapted + from another project) should be clearly marked as to the original + source, copyright holders, license terms and so forth. This + information can be in the file headers, but should also be added to + the project licensing file if not exactly matching normal project + licensing (COPYING). +- Existing copyright headers and license text should never be stripped + from a file. If a copyright holder wishes to give up copyright they + must do so in writing to the foundation before copyright messages are + removed. If license terms are changed it has to be by agreement + (written in email is ok) of the copyright holders. +- Code with licenses requiring credit, or disclosure to users should be + added to COPYING. +- When substantial contributions are added to a file (such as + substantial patches) the author/contributor should be added to the + list of copyright holders for the file. +- If there is uncertainty about whether a change is proper to + contribute to the code base, please seek more information from the + project steering committee, or the foundation legal counsel. + +Additional Resources +-------------------- + +- `General GitHub documentation `__ +- `GitHub pull request + documentation `__ + +Acknowledgements +---------------- + +The *code contribution* section of this CONTRIBUTING file is inspired by +`PDAL's `__ +and the *legalese* section is modified from `GDAL committer +guidelines `__ + diff --git a/docs/source/community/index.rst b/docs/source/community/index.rst new file mode 100644 index 00000000..07308753 --- /dev/null +++ b/docs/source/community/index.rst @@ -0,0 +1,18 @@ +.. _community: + +Community +=============================================================================== + +The PROJ community is what makes the software stand out from its competitors. +PROJ is used and developed by group of very enthusiastic, knowledgeable and +friendly people. Whether you are a first time user of PROJ or a long-time +contributor the community is always very welcoming. + +.. only:: html + + .. toctree:: + :maxdepth: 1 + + channels + contributing + code_contributions diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst deleted file mode 100644 index 368f659f..00000000 --- a/docs/source/contributing.rst +++ /dev/null @@ -1,173 +0,0 @@ -.. _contributing: - -=========================== -Contributing -=========================== - -PROJ has a wide and varied user base. Some are highly skilled -geodesists with a deep knowledge of map projections and reference -systems, some are GIS software developers and others are GIS users. All -users, regardless of the profession or skill level, has the ability to -contribute to PROJ. Here's a few suggestion on how: - -- Help PROJ-users that is less experienced than yourself. -- Write a bug report -- Request a new feature -- Write documentation for your favorite map projection -- Fix a bug -- Implement a new feature - -In the following sections you can find some guidelines on how to -contribute. As PROJ is managed on GitHub most contributions require -that you have a GitHub account. Familiarity with -`issues `__ and the `GitHub -Flow `__ is an advantage. - -Help a fellow PROJ user -------------------------- - -The main forum for support for PROJ is the mailing list. You can -subscribe to the mailing list -`here `__ and read the -archive `here `__. - -If you have questions about the usage of PROJ the mailing list is also -the place to go. Please *do not* use the GitHub issue tracker as a -support forum. Your question is much more likely to be answered on the -mailing list, as many more people follow that than the issue tracker. - -Adding bug reports ------------------- - -Bug reports are handled in the `issue -tracker `__ on PROJ's home on -GitHub. Writing a good bug report is not easy. But fixing a poorly -documented bug is not easy either, so please put in the effort it takes -to create a thorough bug report. - -A good bug report includes at least: - -- A title that quickly explains the problem -- A description of the problem and how it can be reproduced -- Version of PROJ being used -- Version numbers of any other relevant software being used, e.g. - operating system -- A description of what already has been done to solve the problem - -The more information that is given up front, the more likely it is that -a developer will find interest in solving the problem. You will probably -get follow-up questions after submitting a bug report. Please answer -them in a timely manner if you have an interest in getting the issue -solved. - -Finally, please only submit bug reports that are actually related to -PROJ. If the issue materializes in software that uses PROJ it is -likely a problem with that particular software. Make sure that it -actually is a PROJ problem before you submit an issue. If you can -reproduce the problem only by using tools from PROJ it is definitely a -problem with PROJ. - -Feature requests ----------------- - -Got an idea for a new feature in PROJ? Submit a thorough description -of the new feature in the `issue -tracker `__. Please include any -technical documents that can help the developer make the new feature a -reality. An example of this could be a publicly available academic paper -that describes a new projection. Also, including a numerical test case -will make it much easier to verify that an implementation of your -requested feature actually works as you expect. - -Note that not all feature requests are accepted. - -Write documentation -------------------- - -PROJ is in dire need of better documentation. Any contributions of -documentation are greatly appreciated. The PROJ documentation is -available on `proj4.org `__. The website is generated -with `Sphinx `__. Contributions to -the documentation should be made as `Pull -Requests `__ on GitHub. - -If you intend to document one of PROJ's supported projections please -use the `Mercator projection `__ -as a template. - -Code contributions ------------------- - -See :doc:`Code contributions ` - -Legalese -~~~~~~~~ - -Committers are the front line gatekeepers to keep the code base clear of -improperly contributed code. It is important to the PROJ users, -developers and the OSGeo foundation to avoid contributing any code to -the project without it being clearly licensed under the project license. - -Generally speaking the key issues are that those providing code to be -included in the repository understand that the code will be released -under the MIT/X license, and that the person providing the code has the -right to contribute the code. For the committer themselves understanding -about the license is hopefully clear. For other contributors, the -committer should verify the understanding unless the committer is very -comfortable that the contributor understands the license (for instance -frequent contributors). - -If the contribution was developed on behalf of an employer (on work -time, as part of a work project, etc) then it is important that an -appropriate representative of the employer understand that the code will -be contributed under the MIT/X license. The arrangement should be -cleared with an authorized supervisor/manager, etc. - -The code should be developed by the contributor, or the code should be -from a source which can be rightfully contributed such as from the -public domain, or from an open source project under a compatible -license. - -All unusual situations need to be discussed and/or documented. - -Committers should adhere to the following guidelines, and may be -personally legally liable for improperly contributing code to the source -repository: - -- Make sure the contributor (and possibly employer) is aware of the - contribution terms. -- Code coming from a source other than the contributor (such as adapted - from another project) should be clearly marked as to the original - source, copyright holders, license terms and so forth. This - information can be in the file headers, but should also be added to - the project licensing file if not exactly matching normal project - licensing (COPYING). -- Existing copyright headers and license text should never be stripped - from a file. If a copyright holder wishes to give up copyright they - must do so in writing to the foundation before copyright messages are - removed. If license terms are changed it has to be by agreement - (written in email is ok) of the copyright holders. -- Code with licenses requiring credit, or disclosure to users should be - added to COPYING. -- When substantial contributions are added to a file (such as - substantial patches) the author/contributor should be added to the - list of copyright holders for the file. -- If there is uncertainty about whether a change is proper to - contribute to the code base, please seek more information from the - project steering committee, or the foundation legal counsel. - -Additional Resources --------------------- - -- `General GitHub documentation `__ -- `GitHub pull request - documentation `__ - -Acknowledgements ----------------- - -The *code contribution* section of this CONTRIBUTING file is inspired by -`PDAL's `__ -and the *legalese* section is modified from `GDAL committer -guidelines `__ - diff --git a/docs/source/development/for_proj_contributors.rst b/docs/source/development/for_proj_contributors.rst deleted file mode 100644 index d85f5cb1..00000000 --- a/docs/source/development/for_proj_contributors.rst +++ /dev/null @@ -1,153 +0,0 @@ -.. _for_proj_contributors: - -================================================================================ -Development rules and tools for PROJ code contributors -================================================================================ - -This is a guide for PROJ, casual or regular, code contributors. - -Code contributions. -############################################################################### - -Code contributions can be either bug fixes or new features. The process -is the same for both, so they will be discussed together in this -section. - -Making Changes -~~~~~~~~~~~~~~ - -- Create a topic branch from where you want to base your work. -- You usually should base your topic branch off of the master branch. -- To quickly create a topic branch: ``git checkout -b my-topic-branch`` -- Make commits of logical units. -- Check for unnecessary whitespace with ``git diff --check`` before - committing. -- Make sure your commit messages are in the `proper - format `__. -- Make sure you have added the necessary tests for your changes. -- Make sure that all tests pass - -Submitting Changes -~~~~~~~~~~~~~~~~~~ - -- Push your changes to a topic branch in your fork of the repository. -- Submit a pull request to the PROJ repository in the OSGeo - organization. -- If your pull request fixes/references an issue, include that issue - number in the pull request. For example: - -:: - - Wiz the bang - - Fixes #123. - -- PROJ developers will look at your patch and take an appropriate - action. - -Coding conventions -~~~~~~~~~~~~~~~~~~ - -Programming language -^^^^^^^^^^^^^^^^^^^^ - -PROJ is developed strictly in ANSI C 89. - -Coding style -^^^^^^^^^^^^ - -We don't enforce any particular coding style, but please try to keep it -as simple as possible. If improving existing code, please try to conform -with the style of the locally surrounding code. - -Whitespace -^^^^^^^^^^ - -Throughout the PROJ code base you will see differing whitespace use. -The general rule is to keep whitespace in whatever form it is in the -file you are currently editing. If the file has a mix of tabs and space -please convert the tabs to space in a separate commit before making any -other changes. This makes it a lot easier to see the changes in diffs -when evaluating the changed code. New files should use spaces as -whitespace. - -File names -^^^^^^^^^^ - -Files in which projections are implemented are prefixed with an -upper-case ``PJ_`` and most other files are prefixed with lower-case -``pj_``. Some file deviate from this pattern, most of them dates back to -the very early releases of PROJ. New contributions should follow the -pj-prefix pattern. Unless there are obvious reasons not to. - - -Tools -############################################################################### - -cppcheck static analyzer -~~~~~~~~~~~~~~~~~~~~~~~~ - -You can run locally ``scripts/cppcheck.sh`` that is a wrapper script around the -cppcheck utility. It is known to work with cppcheck 1.61 of Ubuntu Trusty 14.0, -since this is what is currently used on Travis-CI -(``travis/linux_gcc/before_install.sh``). -At the time of writing, this also works with cppcheck 1.72 of Ubuntu Xenial -16.04, and latest cppcheck -master. - -cppcheck can have false positives. In general, it is preferable to rework the -code a bit to make it more 'obvious' and avoid those false positives. When not -possible, you can add a comment in the code like - -:: - - /* cppcheck-suppress duplicateBreak */ - -in the preceding line. Replace -duplicateBreak with the actual name of the violated rule emitted by cppcheck. - -CLang Static Analyzer (CSA) -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -CSA is run by the ``travis/csa`` build configuration. You may also run it locally. - -Preliminary step: install clang. For example: - -:: - - wget http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz - tar xJf clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz - -Run configure under the scan-build utility of clang: - -:: - - ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build ./configure - -Build under scan-build: - -:: - - ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-build make [-j8] - -If CSA finds errors, they will be emitted during the build. And in which case, -at the end of the build process, scan-build will emit a warning message -indicating errors have been found and how to display the error report. This -is with someling like - -:: - - ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/bin/scan-view /tmp/scan-build-2018-03-15-121416-17476-1 - - -This will open a web browser with the interactive report. - -CSA may also have false positives. In general, this happens when the code is -non-trivial / makes assumptions that hard to check at first sight. You will -need to add extra checks or rework it a bit to make it more "obvious" for CSA. -This will also help humans reading your code ! - -Typo detection and fixes -~~~~~~~~~~~~~~~~~~~~~~~~ - -Run ``scripts/fix_typos.sh`` diff --git a/docs/source/development/index.rst b/docs/source/development/index.rst index 0a5fea60..3f8a7bf6 100644 --- a/docs/source/development/index.rst +++ b/docs/source/development/index.rst @@ -19,4 +19,3 @@ PROJ project or using the library in their own software. cmake bindings migration - for_proj_contributors diff --git a/docs/source/index.rst b/docs/source/index.rst index 5eb521c8..03e993ec 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -41,16 +41,12 @@ Documentation resource_files geodesic development/index + community/index faq - contributing glossary license references -Mailing List -================================================================================ - -The PROJ mailing list can be found at http://lists.maptools.org/mailman/listinfo/proj Indices and tables ================== -- cgit v1.2.3 From 5272565cdf5acfd15ab5c96a74f49d57b5a18217 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Thu, 10 May 2018 12:35:33 +0200 Subject: Complete overhaul of the website frontpage Removed everything but the leading introduction and added release history from 5.0.0 and on. --- docs/source/index.rst | 330 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 298 insertions(+), 32 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 03e993ec..ca14a5d6 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,37 +1,11 @@ .. _home: -****************************************************************************** PROJ -****************************************************************************** - -PROJ is a standard UNIX filter function which converts geographic longitude -and latitude coordinates into cartesian coordinates (and vice versa), and it is -a C API for software developers to include coordinate transformation in their -own software. PROJ is maintained on `GitHub `_. - -.. only:: html - - ============= ================================================================ - Platform Test Status and Coverage - ============= ================================================================ - Travis |travis| - AppVeyor |appveyor| - Coverage |coverals| - ============= ================================================================ - - - .. |travis| image:: https://travis-ci.org/OSGeo/proj.4.svg?branch=master - :target: https://travis-ci.org/OSGeo/proj.4 - .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/584j49uguwoo5evi?svg=true - :target: https://ci.appveyor.com/project/OSGeo/proj-4 - .. |coverals| image:: https://coveralls.io/repos/OSGeo/proj.4/badge.svg?branch=master - :target: https://coveralls.io/r/OSGeo/proj.4?branch=master - -Documentation -================= +############################################################################### .. toctree:: :maxdepth: 1 + :hidden: download install @@ -47,10 +21,302 @@ Documentation license references +PROJ is a standard UNIX filter function which converts geographic longitude +and latitude coordinates into cartesian coordinates (and vice versa), and it is +a C API for software developers to include coordinate transformation in their +own software. PROJ is maintained on `GitHub `_. + +.. only:: html + + NEWS + --------------------------------------------------------------------------- + + .. attention:: + + The ``projects.h`` header and the functions related to it is considered + deprecated from version 5.0.0 and onwards. The header will be removed + from PROJ in version 6.0.0 scheduled for release February 1st 2019. + + .. attention:: + + The nmake build system on Windows will not be supported from + version 6.0.0 on onwards. Use CMake instead. + + .. attention:: + + The ``proj_api.h`` header and the functions related to it is + considered deprecated from version 5.0.0 and onwards. The header will be + removed from PROJ in version 7.0.0 scheduled for release February 1st + 2020. + + + + + PROJ 5.0.1 + ++++++++++++++++++++++++++++++++++++++++ + *March 1st 2018* + + Bug fixes + *********** + + * Handle ellipsoid change correctly in pipelines when ``+towgs84=0,0,0`` is set (`#881 `_) + + + * Handle the case where nad_ctable2_init returns NULL (`#883 `_) + + + * Avoid shadowed declaration errors with old gcc (`#880 `_) + + + * Expand ``+datum`` properly in pipelines (`#872 `_) + + + * Fail gracefully when incorrect headers are encountered in grid files (`#875 `_) + + + * Improve roundtrip stability in pipelines using ``+towgs84`` (`#871 `_) + + + * Fixed typo in gie error codes (`#861 `_) + + + * Numerical stability fixes to the geodesic package (`#826 `_ & `#843 `_) + + + * Make sure that transient errors are returned correctly (`#857 `_) + + + * Make sure that locally installed header files are not used when building PROJ (`#849 `_) + + + * Fix inconsistent parameter names in ``proj.h``/``proj_4D_api.c`` (`#842 `_) + + + * Make sure ``+vunits`` is applied (`#833 `_) + + + * Fix incorrect Web Mercator transformations (`#834 `_) + + + + PROJ 5.0.0 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + *February 1st 2018* + + This version of PROJ introduces some significant extensions and + improvements to (primarily) the geodetic functionality of the system. + + The main driver for introducing the new features is the emergence of + dynamic reference frames, the increasing use of high accuracy GNSS, + and the related growing demand for accurate coordinate + transformations. While older versions of PROJ included some geodetic + functionality, the new framework lays the foundation for turning PROJ + into a generic geospatial coordinate transformation engine. + + The core of the library is still the well established projection code. + The new functionality is primarily exposed in a new programming + interface and a new command line utility, :ref:`cct` + (for "Coordinate Conversion and Transformation"). The old programming interface is + still available and can - to some extent - use the new geodetic + transformation features. + + The internal architecture has also seen many changes and much + improvement. So far, these improvements respect the existing + programming interface. But the process has revealed a need to simplify + and reduce the code base, in order to support sustained active + development. + + + **Therefore we have scheduled regular releases over the coming years** + **which will gradually remove the old programming interface.** + + **This will cause breaking changes with the next two major version** + **releases, which will affect all projects that depend on PROJ** + **(cf. section "deprecations" below).** + + The decision to break the existing API has not been easy, but has + ultimately been deemed necessary to ensure the long term survival of + the project. Not only by improving the maintainability immensely, but + also by extending the potential user (and hence developer) community. + + The end goal is to deliver a generic coordinate transformation + software package with a clean and concise code base appealing to + both users and developers. + + + Versioning and naming + *************************************************************************** + + For the first time in more than 25 years the major version number of + the software is changed. The decision to do this is based on the many + new features and new API. While backwards compatibility remains - + except in a few rare corner cases - the addition of a new and improved + programming interface warrants a new major release. + + The new major version number unfortunately leaves the project in a bit + of a conundrum regarding the name. For the majority of the life-time + of the product it has been known as PROJ.4, but since we have now + reached version 5 the name is no longer aligned with the version + number. + + Hence we have decided to decouple the name from the version number and + from this version and onwards the product will simply be called PROJ. + + In recognition of the history of the software we are keeping PROJ.4 as + the *name of the organizing project*. The same project team also + produces the datum-grid package. + + In summary: + + * The PROJ.4 project provides the product PROJ, which is now at + version 5.0.0. + + * The foundational component of PROJ is the library libproj. + + * Other PROJ components include the application proj, which provides + a command line interface to libproj. + + * The PROJ.4 project also distributes the datum-grid package, + which at the time of writing is at version 1.6.0. + + Updates + *************************************************************************** + + * Introduced new API in ``proj.h``. + + - The new API is orthogonal to the existing ``proj_api.h`` API and the internally used ``projects.h`` API. + + - The new API adds the ability to transform spatiotemporal (4D) coordinates. + + - Functions in the new API use the ``proj_`` namespace. + + - Data types in the new API use the ``PJ_`` namespace. + + * Introduced the concept of "transformation pipelines" that makes possible to do complex geodetic transformations of coordinates by daisy chaining simple coordinate operations. + + * Introduced :ref:`cct`, the Coordinate Conversion and Transformation application. + + * Introduced :ref:`gie`, the Geospatial Integrity Investigation Environment. + + - Selftest invoked by ``-C`` flag in :ref:`proj` has been removed + - Ported approx. 1300 built-in selftests to :ref:`gie` format + - Ported approx. 1000 tests from the gigs test framework + - Added approx. 200 new tests + + * Adopted terminology from the OGC/ISO-19100 geospatial standards series. Key definitions are: + + - At the most generic level, a *coordinate operation* is a change of coordinates, based on a one-to-one relationship, from one coordinate reference system to another. + + - A *transformation* is a coordinate operation in which the two coordinate reference systems are based on different datums, e.g. a change from a global reference frame to a regional frame. + + - A *conversion* is a coordinate operation in which both coordinate reference systems are based on the same datum, e.g. change of units of coordinates. + + - A *projection* is a coordinate conversion from an ellipsoidal coordinate system to a plane. Although projections are simply conversions according to the standard, they are treated as separate entities in PROJ as they make up the vast majority of operations in the library. + + * New operations + + - :ref:`The pipeline operator` (``pipeline``) + + - Transformations + + :ref:`Helmert transform` (``helmert``) + + Horner real and complex polynomial evaluation (``horner``) + + :ref:`Horizontal gridshift` (``hgridshift``) + + :ref:`Vertical gridshift` (``vgridshift``) + + :ref:`Molodensky transform` (``molodensky``) + + :ref:`Kinematic gridshift with deformation model` (``deformation``) + + - Conversions + + :ref:`Unit conversion` (``unitconvert``) + + :ref:`Axis swap` (``axisswap``) + + - Projections + + :ref:`Central Conic projection` (``ccon``) + + * Significant documentation updates, including + + - Overhaul of the structure of the documentation + - A better introduction to the use of PROJ + - :ref:`A complete reference to the new API` + - a complete rewrite of the section on geodesic calculations + - Figures for all projections + + * New "free format" option for operation definitions, which permits separating tokens by whitespace when specifying key/value- pairs, e.g. ``proj = merc lat_0 = 45``. + + * Added metadata to init-files that can be read with the :c:func:`proj_init_info` function in the new ``proj.h`` API. + + * Added ITRF2000, ITRF2008 and ITRF2014 init-files with ITRF transformation parameters, including plate motion model parameters. + + * Added ellipsoid parameters for GSK2011, PZ90 and "danish". The latter is similar to the already supported andrae ellipsoid, but has a slightly different semimajor axis. + + * Added Copenhagen prime meridian. + + * Updated EPSG database to version 9.2.0. + + * Geodesic library updated to version 1.49.2-c. + + * Support for analytical partial derivatives has been removed. + + * Improved performance in Winkel Tripel and Aitoff. + + * Introduced ``pj_has_inverse()`` function to ``proj_api.h``. Checks if an operation has an inverse. Use this instead of checking whether ``P->inv`` exists, since that can no longer be relied on. + + * ABI version number updated to 13:0:0. + + * Removed support for Windows CE. + + * Removed the VB6 COM interface. + + Bug fixes + *************************************************************************** + + * Fixed incorrect convergence calculation in Lambert Conformal Conic. (`#16 `_) + + + * Handle ellipsoid parameters correctly when using ``+nadgrids=@null``. (`#22 `_) + + + * Return correct latitude when using negative northings in Transverse Mercator. (`#138 `_) + + + * Return correct result at origin in inverse Mod. Stereographic of Alaska. (`#161 `_) + + + * Return correct result at origin in inverse Mod. Stereographic of 48 U.S. (`#162 `_) + + + * Return correct result at origin in inverse Mod. Stereographic of 50 U.S. (`#163 `_) + + + * Return correct result at origin in inverse Lee Oblated Stereographic. (`#164 `_) + + + * Return correct result at origin in inverse Miller Oblated Stereographic. (`#165 `_) + + + * Fixed scaling and wrap-around issues in Oblique Cylindrical Equal Area. (`#166 `_) + + + * Corrected a coefficient error in inverse Transverse Mercator. (`#174 `_) + + * Respect ``-r`` flag when calling :program:`proj` with ``-V``. (`#184 `_) + + * Remove multiplication by 2 at the equator error in Stereographic projection. (`#194 `_) + + * Allow +alpha=0 and +gamma=0 when using Oblique Mercator. (`#195 `_) + + * Return correct result of inverse Oblique Mercator when alpha is between 90 and 270. (`#331 `_) + + * Avoid segmentation fault when accessing point outside grid. (`#396 `_) + + * Avoid segmentation fault on NaN input in Robin inverse. (`#463 `_) + + * Very verbose use of :program:`proj` (``-V``) on Windows is fixed. (`#484 `_) + + * Fixed memory leak in General Oblique Transformation. (`#497 `_) -Indices and tables -================== + * Equations for meridian convergence and partial derivatives have + been corrected for non-conformal projections. (`#526 `_) -* :ref:`genindex` -* :ref:`search` + * Fixed scaling of cartesian coordinates in ``pj_transform()``. (`#726 `_) + * Additional bug fixes courtesy of `Google's OSS-Fuzz program `_ -- cgit v1.2.3 From f5eeef8a5933d41f229f6551c6612daa5d61a7b5 Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Thu, 10 May 2018 17:34:36 +0200 Subject: Add about section to docs Short description of PROJ. Citation section added from README. License moved from it's own page to a section on the about page. --- docs/source/about.rst | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ docs/source/index.rst | 2 +- docs/source/license.rst | 46 --------------------------------- 3 files changed, 70 insertions(+), 47 deletions(-) create mode 100644 docs/source/about.rst delete mode 100644 docs/source/license.rst diff --git a/docs/source/about.rst b/docs/source/about.rst new file mode 100644 index 00000000..198dbead --- /dev/null +++ b/docs/source/about.rst @@ -0,0 +1,69 @@ +############################################################################### +About +############################################################################### + +PROJ is a generic coordinate transformation software, that transforms geospatial +coordinates from one coordinate reference system (CRS) to another. This +includes cartographic projections as well as geodetic transformations. + +PROJ includes :ref:`command line applications` for easy conversion of +coordinates from text files or directly from user input. In addition to the +command line utilities PROJ also exposes an +:ref:`application programming interface`, or API in short. The API +let developers use the functionality of PROJ in their own software without having +to implement similar functionality themselves. + +PROJ started purely as a cartography application letting users convert geodetic +coordinates into projected coordinates using a number of different cartographic +projections. Over the years, as the need has become apparent, support for datum +shifts has slowly worked it's way into PROJ as well. Today PROJ support more +than a hundred different map projections and can transform coordinates between +datums using all but the most obscure geodetic techniques. + +Citation +------------------------------------------------------------------------------- + +To cite PROJ in publications use: + + PROJ contributors (2018). PROJ coordinate transformation software + library. Open Source Geospatial Foundation. URL http://proj4.org/. + +A BibTeX entry for LaTeX users is + +.. code-block:: latex + + @Manual{, + title = {{PROJ} coordinate transformation software library}, + author = {{PROJ contributors}}, + organization = {Open Source Geospatial Foundation}, + year = {2018}, + url = {http://proj4.org/}, + } + +License +------------------------------------------------------------------------------- + +PROJ uses the MIT license. The software was initially released by the USGS in +the public domain. When Frank Warmerdam took over the development of PROJ it +was moved under the MIT license. The license is as follows: + + Copyright (c) 2000, Frank Warmerdam + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + diff --git a/docs/source/index.rst b/docs/source/index.rst index ca14a5d6..97872470 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -7,6 +7,7 @@ PROJ :maxdepth: 1 :hidden: + about download install usage/index @@ -18,7 +19,6 @@ PROJ community/index faq glossary - license references PROJ is a standard UNIX filter function which converts geographic longitude diff --git a/docs/source/license.rst b/docs/source/license.rst deleted file mode 100644 index bd4f633c..00000000 --- a/docs/source/license.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. _license: - -================================================================================ -License -================================================================================ - -:Author: Frank Warmerdam -:Contact: warmerdam@pobox.com -:Date: 2001 - -PROJ.4 has been placed under an MIT license. I believe this to be as close as -possible to public domain while satisfying those who say that a copyright -notice is required in some countries. The COPYING file read as follows: - -All source, data files and other contents of the PROJ.4 package are available -under the following terms. Note that the PROJ 4.3 and earlier was "public -domain" as is common with US government work, but apparently this is not a well -defined legal term in many countries. I am placing everything under the -following MIT style license because I believe it is effectively the same as -public domain, allowing anyone to use the code as they wish, including making -proprietary derivatives. - -Though I have put my own name as copyright holder, I don't mean to imply I did -the work. Essentially all work was done by Gerald Evenden. - -:: - - Copyright (c) 2000, Frank Warmerdam - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -- cgit v1.2.3 From 609873534e6407ba0ca5c3bb6ff40425222d6a9b Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Thu, 10 May 2018 21:19:37 +0200 Subject: Update install doc page with build instructions Also added more possible ways to install from package managers. Removed links to externally build binaries from download page. --- docs/source/download.rst | 33 ++----------- docs/source/install.rst | 123 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 126 insertions(+), 30 deletions(-) diff --git a/docs/source/download.rst b/docs/source/download.rst index 510751c4..32ce8012 100644 --- a/docs/source/download.rst +++ b/docs/source/download.rst @@ -4,7 +4,11 @@ Download ================================================================================ +Here you can download current and previous releases of PROJ. We only supply a +distribution of the source code and various resource files archives. See +:ref:`install` for information on how to get pre-built packages of PROJ. +.. _current_release: Current Release -------------------------------------------------------------------------------- @@ -38,32 +42,3 @@ Past Releases .. _`proj-datumgrid-oceania-1.0.zip`: http://download.osgeo.org/proj/proj-datumgrid-oceania-1.0.zip .. _`md5`: http://download.osgeo.org/proj/proj-5.0.1.tar.gz.md5 .. _`proj.pdf`: https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf - - -Binaries --------------------------------------------------------------------------------- - -Linux -................................................................................ - -* `RedHat RPMs `__ -* `SUSE `__ -* `Debian `__ -* `pkgsrc `__ -* `Delphi `__ - -Docker -................................................................................ - -A `Docker`_ image with just PROJ binaries and a full compliment of grid shift -files is available on `DockerHub`_: - -.. _`Docker`: https://docker.org -.. _`DockerHub`: https://hub.docker.com/r/osgeo/proj.4/ - -Windows -................................................................................ - -* `OSGeo4W`_ contains 32-bit and 64-bit Windows binaries, including support for many :ref:`grids `. - -.. _`OSGeo4W`: https://trac.osgeo.org/osgeo4w/ diff --git a/docs/source/install.rst b/docs/source/install.rst index 5b3256a1..03e6bc9d 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -9,6 +9,34 @@ yourself. Below are guides for installing on Windows, Linux and Mac OS X. This is a good place to get started if this is your first time using PROJ. More advanced users may want to compile the software themselves. +Installation from package management systems +################################################################################ + + +Cross platform +-------------------------------------------------------------------------------- + +PROJ is also available via cross platform package managers. + +Conda +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +The conda package manager includes several PROJ packages. We recommend installing +from the ``conda-forge`` channel:: + + conda install -c conda-forge proj4 + +Docker ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +A `Docker`_ image with just PROJ binaries and a full compliment of grid shift +files is available on `DockerHub`_. Get the package with:: + + docker pull osgeo/proj.4 + +.. _`Docker`: https://docker.org +.. _`DockerHub`: https://hub.docker.com/r/osgeo/proj.4/ + Windows -------------------------------------------------------------------------------- @@ -69,6 +97,99 @@ On Red Hat based system packages are installed with yum:: Mac OS X -------------------------------------------------------------------------------- -On OS X PROJ can be installed via the Homebrew package manager: +On OS X PROJ can be installed via the Homebrew package manager:: brew install proj + +PROJ is also available from the MacPorts system:: + + sudo ports install proj + +Compilation and installation from source code +################################################################################ + +The classical way of installing PROJ is via the source code distribution. The +most recent version is available from the :ref:`download page`. +You will need that and at least the standard *proj-datumgrid* package for a +successful installation. +The following guides show how to compile and install the software using the +Autotools and CMake build systems. + +Autotools +-------------------------------------------------------------------------------- + +FSF's configuration procedure is used to ease installation of the PROJ system. + +.. note:: + The Autotools build system is only available on UNIX-like systems. + Follow the CMake installation guide if you are not using a UNIX-like + operating system. + +The default destination path prefix for installed files is ``/usr/local``. +Results from the installation script will be placed into subdirectories ``bin``, +``include``, ``lib``, ``man/man1`` and ``man/man3``. If this default path prefix +is proper, then execute:: + + ./configure + +If another path prefix is required, then execute:: + + ./configure --prefix=/my/path + +In either case, the directory of the prefix path must exist and be writable by +the installer. + +Before proceeding with the installation we need to add the datum grids. Unzip +the contents of the *proj-datumgrid* package into ``nad/``:: + + unzip proj-datumgrid-1.7.zip -d proj-5.0.1/nad/ + +The installation will automatically move the grid files to the correct location. +Alternatively the grids can be installed manually in the directory pointed to +by the :envvar:`PROJ_LIB` environment variable. The default location is +``/usr/local/share/proj``. + +With the grid files in place we can now build and install PROJ:: + + make + make install + +The install target will create, if necessary, all required sub-directories. + +Tests are run with:: + + make check + +The test suite requires that the proj-datumgrid package is installed in +:envvar:`PROJ_LIB`. + + +CMake +-------------------------------------------------------------------------------- + +With the CMake build system you can compile and install PROJ on more or less any +platform. After unpacking the source distribution archive step into the source- +tree:: + + cd proj-5.0.1 + +Create a build directory and step into it:: + + mkdir build + cd build + +From the build directory you can now configure CMake and build the binaries:: + + cmake .. + cmake --build . + +On Windows, one may need to specify generator:: + + cmake -G "Visual Studio 15 2017" .. + +Tests are run with:: + + ctest + +The test suite requires that the proj-datumgrid package is installed +in :envvar:`PROJ_LIB`. -- cgit v1.2.3 From 6f8e1b56a9277d6689f162fda9b0be285de237ab Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Thu, 10 May 2018 22:50:10 +0200 Subject: Remove annotations from old version of example --- docs/source/usage/projections.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/usage/projections.rst b/docs/source/usage/projections.rst index f5f46f46..20e82763 100644 --- a/docs/source/usage/projections.rst +++ b/docs/source/usage/projections.rst @@ -129,8 +129,8 @@ meridian. :: cs2cs +proj=latlong +datum=WGS84 +to +proj=latlong +datum=WGS84 +pm=madrid - 0 0 (input) - 3d41'16.48"E 0dN 0.000 (output) + 0 0 + 3d41'16.48"E 0dN 0.000 Axis orientation -- cgit v1.2.3 From a9758f60f02bb04657312c76f9bba55b2128641f Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Thu, 10 May 2018 22:50:38 +0200 Subject: Improve PDF generation of docs Removed content sections from a bunch of pages since they clutter up the PDF output and the same info is available in the sidebar of the webpage. A few sections has been turned of for the PDF output, most notable the front page of the webpage. It doesn't really fit in the PDF. --- docs/source/community/index.rst | 12 +++++------- docs/source/faq.rst | 8 +++++--- docs/source/geodesic.rst | 4 ---- docs/source/index.rst | 13 +++++++------ docs/source/references.rst | 8 +++++--- docs/source/resource_files.rst | 4 ---- 6 files changed, 22 insertions(+), 27 deletions(-) diff --git a/docs/source/community/index.rst b/docs/source/community/index.rst index 07308753..675d107a 100644 --- a/docs/source/community/index.rst +++ b/docs/source/community/index.rst @@ -8,11 +8,9 @@ PROJ is used and developed by group of very enthusiastic, knowledgeable and friendly people. Whether you are a first time user of PROJ or a long-time contributor the community is always very welcoming. -.. only:: html +.. toctree:: + :maxdepth: 1 - .. toctree:: - :maxdepth: 1 - - channels - contributing - code_contributions + channels + contributing + code_contributions diff --git a/docs/source/faq.rst b/docs/source/faq.rst index 6d6d2280..333a5029 100644 --- a/docs/source/faq.rst +++ b/docs/source/faq.rst @@ -4,9 +4,11 @@ FAQ ****************************************************************************** -.. contents:: Contents - :depth: 3 - :backlinks: none +.. only:: not latex + + .. contents:: + :depth: 3 + :backlinks: none diff --git a/docs/source/geodesic.rst b/docs/source/geodesic.rst index 8f6f5bbe..f677ae1d 100644 --- a/docs/source/geodesic.rst +++ b/docs/source/geodesic.rst @@ -3,10 +3,6 @@ Geodesic calculations ===================== -.. contents:: Contents - :depth: 2 - :backlinks: none - Introduction ------------ diff --git a/docs/source/index.rst b/docs/source/index.rst index 97872470..86393291 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -4,7 +4,7 @@ PROJ ############################################################################### .. toctree:: - :maxdepth: 1 + :maxdepth: 3 :hidden: about @@ -21,13 +21,14 @@ PROJ glossary references -PROJ is a standard UNIX filter function which converts geographic longitude -and latitude coordinates into cartesian coordinates (and vice versa), and it is -a C API for software developers to include coordinate transformation in their -own software. PROJ is maintained on `GitHub `_. - .. only:: html + PROJ is a standard UNIX filter function which converts geographic longitude + and latitude coordinates into cartesian coordinates (and vice versa), and it is + a C API for software developers to include coordinate transformation in their + own software. PROJ is maintained on `GitHub `_. + + NEWS --------------------------------------------------------------------------- diff --git a/docs/source/references.rst b/docs/source/references.rst index 75d7f352..807e2faa 100644 --- a/docs/source/references.rst +++ b/docs/source/references.rst @@ -1,8 +1,10 @@ .. _references: -================================================================================ -References -================================================================================ +.. only:: not latex + + ================================================================================ + References + ================================================================================ .. [AltamimiEtAl2002] Altamimi, Z., P. Sillard, and C. Boucher (2002), ITRF2000: A new release of the International Terrestrial Reference Frame for earth science applications, diff --git a/docs/source/resource_files.rst b/docs/source/resource_files.rst index daf5c00a..b6aa950d 100644 --- a/docs/source/resource_files.rst +++ b/docs/source/resource_files.rst @@ -4,10 +4,6 @@ Resource files ================================================================================ -.. contents:: Contents - :depth: 2 - :backlinks: none - A number of files containing preconfigured transformations and default parameters for certain projections are bundled with the PROJ distribution. Init files contains preconfigured proj-strings for various coordinate reference systems -- cgit v1.2.3 From 0a3a59853d7ecb88ce645cd980a5197217447213 Mon Sep 17 00:00:00 2001 From: Martin Desruisseaux Date: Sat, 12 May 2018 14:59:37 +0200 Subject: After javac has generated org_proj4_PJ.h, move that file to the C source directory. --- jniwrap/build.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jniwrap/build.xml b/jniwrap/build.xml index ddd424bd..6e4703ec 100644 --- a/jniwrap/build.xml +++ b/jniwrap/build.xml @@ -23,6 +23,13 @@ includeAntRuntime = "false" includes = "org/**/*.java"/> + + + + + + + -- cgit v1.2.3 From 66cfd66f512b9c6accb3e045c7683b9df63b887d Mon Sep 17 00:00:00 2001 From: Martin Desruisseaux Date: Sat, 12 May 2018 15:01:41 +0200 Subject: Use more explicit java options in the documentation (e.g. --class-path instead of -cp). --- jniwrap/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jniwrap/README.md b/jniwrap/README.md index 3cce43c0..3a6b35be 100644 --- a/jniwrap/README.md +++ b/jniwrap/README.md @@ -42,7 +42,7 @@ Beyond the ones already put by PROJ, you need: * Ant 1.9.8+, to run the build. * For execution: * If a Java version less than the current version on the local machine is desired, - add an `release` attribute in the `javac` task of `build.xml`. + add a `release` attribute in the `javac` task of `build.xml` before to compile. @@ -107,10 +107,10 @@ we assume that PROJ was compiled with the right flag to support the bridge to Ja Therefore we have a library called `proj.jar`. Thus we compile the `Main.java` with the command: - javac -classpath /proj.jar Main.java + javac --class-path /proj.jar Main.java and execute the created test case with: - java -cp .:/proj.jar -Djava.library.path= Main + java --class-path .:/proj.jar -Djava.library.path= Main That's it, enjoy! -- cgit v1.2.3 From 1830abc903c74b228de918a2830324006df7176a Mon Sep 17 00:00:00 2001 From: Martin Desruisseaux Date: Sat, 12 May 2018 15:13:41 +0200 Subject: Add troubleshoting indication based on https://github.com/OSGeo/proj.4/issues/380 comments. --- jniwrap/README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/jniwrap/README.md b/jniwrap/README.md index 3a6b35be..e5748cda 100644 --- a/jniwrap/README.md +++ b/jniwrap/README.md @@ -101,9 +101,9 @@ Of course, real applications would read them from a file or other data source. -### compile the Main code +### Compile the Main code -we assume that PROJ was compiled with the right flag to support the bridge to Java +We assume that PROJ was compiled with the right flag to support the bridge to Java. Therefore we have a library called `proj.jar`. Thus we compile the `Main.java` with the command: @@ -113,4 +113,15 @@ and execute the created test case with: java --class-path .:/proj.jar -Djava.library.path= Main -That's it, enjoy! + + +### Troubleshooting + +If an `java.lang.UnsatisfiedLinkError` is thrown at execution time, add the following line in the Java code: + + System.out.println(System.getProperty("java.library.path")); + +Then verify that the `libproj.so` (Linux), `libproj.dylib` (MacOS) or `libproj.dll` (Windows) file is located +in one of the directories listed by above code. If this is not the case, then try configuring the +`LD_LIBRARY_PATH` (Linux), `DYLD_LIBRARY_PATH` (MacOS) or `PATH` (Windows) environment variable. +If the problem persist, adding the `-verbose:jni` option to the `java` command may help more advanced diagnostics. -- cgit v1.2.3 From 54f0513aed8a82e75f6442b4b03900c47f1c3621 Mon Sep 17 00:00:00 2001 From: Martin Desruisseaux Date: Sat, 12 May 2018 16:25:54 +0200 Subject: Set the "PROJ bridge to JNI" version number to 3.0 and document its relationship with PROJ version number. --- jniwrap/README.md | 20 +++++++++++++++++++- jniwrap/build.xml | 7 ++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/jniwrap/README.md b/jniwrap/README.md index e5748cda..d8435725 100644 --- a/jniwrap/README.md +++ b/jniwrap/README.md @@ -3,13 +3,30 @@ This is the third release of JNI wrappers for the main PROJ functions. The first release of JNI wrappers were created by http://www.hydrologis.com. The second release of JNI wrappers were created by http://www.geoapi.org. +This release is compatible with any PROJ versions from 4.9 to 5 +provided that PROJ has been compiled as described below. ## What is "PROJ bridge to Java" -_Proj bridge to Java_ is a small library of Java classes that wrap a few PROJ functions +_PROJ bridge to Java_ is a small library of Java classes that wrap a few PROJ functions by using the Java Native Interface (JNI). The main Java class is `org.proj4.PJ`. +A Java code example is given in the _Usage & a fast example_ section below. + + + +### Versions + +The PROJ bridge to Java does not follow the same version numbers than the main PROJ library +since the same JAR file can be compatible with a range of PROJ versions. +Version compatibility is given below: + + +Java bridge | Compatible with PROJ library +----------- | ---------------------------- +2.0 and 3.0 | 4.9 to 5+ +1.0 | 4.4.9 to 4.8 @@ -43,6 +60,7 @@ Beyond the ones already put by PROJ, you need: * For execution: * If a Java version less than the current version on the local machine is desired, add a `release` attribute in the `javac` task of `build.xml` before to compile. + * Proj version 4.9 or more recent compiled with the `--with-jni` option. diff --git a/jniwrap/build.xml b/jniwrap/build.xml index 6e4703ec..62eb536d 100644 --- a/jniwrap/build.xml +++ b/jniwrap/build.xml @@ -9,7 +9,7 @@ - + -- cgit v1.2.3 From aaf0f39a048d10106bb82983c8f918270680cc34 Mon Sep 17 00:00:00 2001 From: Martin Desruisseaux Date: Sat, 12 May 2018 16:46:46 +0200 Subject: Update JNI README.md with a note that Windows users need to use a different path separator. --- jniwrap/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jniwrap/README.md b/jniwrap/README.md index d8435725..fcf0fc6f 100644 --- a/jniwrap/README.md +++ b/jniwrap/README.md @@ -127,9 +127,9 @@ Thus we compile the `Main.java` with the command: javac --class-path /proj.jar Main.java -and execute the created test case with: +and execute the created test case with (replace `:` by `;` on the Windows platform): - java --class-path .:/proj.jar -Djava.library.path= Main + java --class-path /proj.jar:. Main @@ -142,4 +142,5 @@ If an `java.lang.UnsatisfiedLinkError` is thrown at execution time, add the foll Then verify that the `libproj.so` (Linux), `libproj.dylib` (MacOS) or `libproj.dll` (Windows) file is located in one of the directories listed by above code. If this is not the case, then try configuring the `LD_LIBRARY_PATH` (Linux), `DYLD_LIBRARY_PATH` (MacOS) or `PATH` (Windows) environment variable. +Alternatively, a `-Djava.library.path=` option can be added to above `java` command. If the problem persist, adding the `-verbose:jni` option to the `java` command may help more advanced diagnostics. -- cgit v1.2.3 From 864b315f530cb26b3d9638b711c957baf0238d9e Mon Sep 17 00:00:00 2001 From: Martin Desruisseaux Date: Sat, 12 May 2018 17:18:10 +0200 Subject: Fix version history: Java bridge 2.0 was compatible with PROJ 4.8 (not 4.9) and above. The PROJ 4.8 version was compatible with both Java bridges 1.0 and 2.0. --- jniwrap/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jniwrap/README.md b/jniwrap/README.md index fcf0fc6f..5ff5a7fd 100644 --- a/jniwrap/README.md +++ b/jniwrap/README.md @@ -3,7 +3,7 @@ This is the third release of JNI wrappers for the main PROJ functions. The first release of JNI wrappers were created by http://www.hydrologis.com. The second release of JNI wrappers were created by http://www.geoapi.org. -This release is compatible with any PROJ versions from 4.9 to 5 +This release is compatible with any PROJ versions from 4.8 to 5 provided that PROJ has been compiled as described below. @@ -25,8 +25,8 @@ Version compatibility is given below: Java bridge | Compatible with PROJ library ----------- | ---------------------------- -2.0 and 3.0 | 4.9 to 5+ -1.0 | 4.4.9 to 4.8 +2.0 and 3.0 | 4.8 to 5+ +1.0 | 4.4.9 to 4.8 inclusive @@ -60,7 +60,7 @@ Beyond the ones already put by PROJ, you need: * For execution: * If a Java version less than the current version on the local machine is desired, add a `release` attribute in the `javac` task of `build.xml` before to compile. - * Proj version 4.9 or more recent compiled with the `--with-jni` option. + * Proj version 4.8 or more recent compiled with the `--with-jni` option. -- cgit v1.2.3 From 0f6b52eb186dbf813ccd3049806300c9c13931d2 Mon Sep 17 00:00:00 2001 From: Martin Desruisseaux Date: Sat, 12 May 2018 18:43:11 +0200 Subject: Be more careful about the files that we move to C 'src' directory: since there is no header files starting with "org_" except JNI files, moving the "org_*.h" file should guarantee that we will not overwrite non-JNI file. The use of wildcard is for "org_osgeo_..." which may be added in a future version. This commit also opportunistically fixes minimum Ant version number in documentation. --- jniwrap/README.md | 2 +- jniwrap/build.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jniwrap/README.md b/jniwrap/README.md index 5ff5a7fd..9cc97dac 100644 --- a/jniwrap/README.md +++ b/jniwrap/README.md @@ -56,7 +56,7 @@ Beyond the ones already put by PROJ, you need: * For compilation: * Java 9+, the Java standard development kit version 9 or above - * Ant 1.9.8+, to run the build. + * Ant 1.10+, to run the build. * For execution: * If a Java version less than the current version on the local machine is desired, add a `release` attribute in the `javac` task of `build.xml` before to compile. diff --git a/jniwrap/build.xml b/jniwrap/build.xml index 62eb536d..be82d411 100644 --- a/jniwrap/build.xml +++ b/jniwrap/build.xml @@ -27,7 +27,7 @@ - + -- cgit v1.2.3 From b8296cd58aac02c93b1bc13b22c39d5cd76ec84f Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Sat, 12 May 2018 19:37:43 -0700 Subject: ISEA_STATIC -> static As this is a part of PROJ, having these functions possibly not static is confusing. Time to declare this is just a part of PROJ. --- src/PJ_isea.c | 82 +++++++++++++++++------------------------------------------ 1 file changed, 24 insertions(+), 58 deletions(-) diff --git a/src/PJ_isea.c b/src/PJ_isea.c index 750587a3..6751a716 100644 --- a/src/PJ_isea.c +++ b/src/PJ_isea.c @@ -12,24 +12,13 @@ # define M_PI 3.14159265358979323846 #endif -/* - * Proj 4 provides its own entry points into - * the code, so none of the library functions - * need to be global - */ -#define ISEA_STATIC static -#ifndef ISEA_STATIC -#define ISEA_STATIC -#endif - struct hex { int iso; int x, y, z; }; /* y *must* be positive down as the xy /iso conversion assumes this */ -ISEA_STATIC -void hex_xy(struct hex *h) { +static void hex_xy(struct hex *h) { if (!h->iso) return; if (h->x >= 0) { h->y = -h->y - (h->x+1)/2; @@ -40,8 +29,7 @@ void hex_xy(struct hex *h) { h->iso = 0; } -ISEA_STATIC -void hex_iso(struct hex *h) { +static void hex_iso(struct hex *h) { if (h->iso) return; if (h->x >= 0) { @@ -55,8 +43,7 @@ void hex_iso(struct hex *h) { h->iso = 1; } -ISEA_STATIC -void hexbin2(double width, double x, double y, int *i, int *j) { +static void hexbin2(double width, double x, double y, int *i, int *j) { double z, rx, ry, rz; double abs_dx, abs_dy, abs_dz; int ix, iy, iz, s; @@ -102,9 +89,6 @@ void hexbin2(double width, double x, double y, int *i, int *j) { *i = h.x; *j = h.y; } -#ifndef ISEA_STATIC -#define ISEA_STATIC -#endif enum isea_poly { ISEA_NONE, ISEA_ICOSAHEDRON = 20 }; enum isea_topology { ISEA_HEXAGON=6, ISEA_TRIANGLE=3, ISEA_DIAMOND=4 }; @@ -150,7 +134,7 @@ struct snyder_constants { }; /* TODO put these in radians to avoid a later conversion */ -ISEA_STATIC const +static const struct snyder_constants constants[] = { {23.80018260, 62.15458023, 60.0, 3.75, 1.033, 0.968, 5.09, 1.195, 1.0}, {20.07675127, 55.69063953, 54.0, 2.65, 1.030, 0.983, 3.59, 1.141, 1.027}, @@ -177,8 +161,7 @@ struct snyder_constants constants[] = { #define RAD2DEG (180.0/M_PI) #define DEG2RAD (M_PI/180.0) -ISEA_STATIC -struct isea_geo vertex[] = { +static struct isea_geo vertex[] = { {0.0, DEG90}, {DEG180, V_LAT}, {-DEG108, V_LAT}, @@ -253,8 +236,7 @@ az_adjustment(int triangle) /* H = 0.25 R tan g = */ #define TABLE_H 0.1909830056 -ISEA_STATIC -struct isea_pt +static struct isea_pt isea_triangle_xy(int triangle) { struct isea_pt c; @@ -309,8 +291,7 @@ sph_azimuth(double f_lon, double f_lat, double t_lon, double t_lat) #endif /* coord needs to be in radians */ -ISEA_STATIC -int +static int isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) { int i; @@ -501,8 +482,7 @@ isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) * * TODO take a result pointer */ -ISEA_STATIC -struct isea_geo +static struct isea_geo snyder_ctran(struct isea_geo * np, struct isea_geo * pt) { struct isea_geo npt; @@ -547,8 +527,7 @@ snyder_ctran(struct isea_geo * np, struct isea_geo * pt) return npt; } -ISEA_STATIC -struct isea_geo +static struct isea_geo isea_ctran(struct isea_geo * np, struct isea_geo * pt, double lon0) { struct isea_geo npt; @@ -580,8 +559,7 @@ isea_ctran(struct isea_geo * np, struct isea_geo * pt, double lon0) /* fuller's at 5.2454 west, 2.3009 N, adjacent at 7.46658 deg */ -ISEA_STATIC -int +static int isea_grid_init(struct isea_dgg * g) { if (!g) @@ -599,8 +577,7 @@ isea_grid_init(struct isea_dgg * g) return 1; } -ISEA_STATIC -void +static void isea_orient_isea(struct isea_dgg * g) { if (!g) @@ -610,8 +587,7 @@ isea_orient_isea(struct isea_dgg * g) g->o_az = 0.0; } -ISEA_STATIC -void +static void isea_orient_pole(struct isea_dgg * g) { if (!g) @@ -621,8 +597,7 @@ isea_orient_pole(struct isea_dgg * g) g->o_az = 0; } -ISEA_STATIC -int +static int isea_transform(struct isea_dgg * g, struct isea_geo * in, struct isea_pt * out) { @@ -644,8 +619,7 @@ isea_transform(struct isea_dgg * g, struct isea_geo * in, #define DOWNTRI(tri) (((tri - 1) / 5) % 2 == 1) -ISEA_STATIC -void +static void isea_rotate(struct isea_pt * pt, double degrees) { double rad; @@ -663,8 +637,7 @@ isea_rotate(struct isea_pt * pt, double degrees) pt->y = y; } -ISEA_STATIC -int isea_tri_plane(int tri, struct isea_pt *pt, double radius) { +static int isea_tri_plane(int tri, struct isea_pt *pt, double radius) { struct isea_pt tc; /* center of triangle */ if (DOWNTRI(tri)) { @@ -680,8 +653,7 @@ int isea_tri_plane(int tri, struct isea_pt *pt, double radius) { } /* convert projected triangle coords to quad xy coords, return quad number */ -ISEA_STATIC -int +static int isea_ptdd(int tri, struct isea_pt *pt) { int downtri, quad; @@ -697,8 +669,7 @@ isea_ptdd(int tri, struct isea_pt *pt) { return quad; } -ISEA_STATIC -int +static int isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) { struct isea_pt v; @@ -776,8 +747,7 @@ isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_p return quad; } -ISEA_STATIC -int +static int isea_dddi(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) { struct isea_pt v; double hexwidth; @@ -849,9 +819,8 @@ isea_dddi(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) return quad; } -ISEA_STATIC -int isea_ptdi(struct isea_dgg *g, int tri, struct isea_pt *pt, - struct isea_pt *di) { +static int isea_ptdi(struct isea_dgg *g, int tri, struct isea_pt *pt, + struct isea_pt *di) { struct isea_pt v; int quad; @@ -862,8 +831,7 @@ int isea_ptdi(struct isea_dgg *g, int tri, struct isea_pt *pt, } /* q2di to seqnum */ -ISEA_STATIC -int isea_disn(struct isea_dgg *g, int quad, struct isea_pt *di) { +static int isea_disn(struct isea_dgg *g, int quad, struct isea_pt *di) { int sidelength; int sn, height; int hexes; @@ -898,9 +866,8 @@ int isea_disn(struct isea_dgg *g, int quad, struct isea_pt *di) { * d' = d << 4 + q, d = d' >> 4, q = d' & 0xf */ /* convert a q2di to global hex coord */ -ISEA_STATIC -int isea_hex(struct isea_dgg *g, int tri, - struct isea_pt *pt, struct isea_pt *hex) { +static int isea_hex(struct isea_dgg *g, int tri, + struct isea_pt *pt, struct isea_pt *hex) { struct isea_pt v; #ifdef FIXME int sidelength; @@ -961,8 +928,7 @@ int isea_hex(struct isea_dgg *g, int tri, #endif } -ISEA_STATIC -struct isea_pt +static struct isea_pt isea_forward(struct isea_dgg *g, struct isea_geo *in) { int tri; -- cgit v1.2.3 From f3c3d15e59ca13e65e701a621c0b67bd2498d06c Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Sun, 13 May 2018 06:14:38 -0700 Subject: Keep static on the same line as the function --- src/PJ_isea.c | 56 ++++++++++++++++++++++---------------------------------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/src/PJ_isea.c b/src/PJ_isea.c index 6751a716..53302a5c 100644 --- a/src/PJ_isea.c +++ b/src/PJ_isea.c @@ -134,8 +134,7 @@ struct snyder_constants { }; /* TODO put these in radians to avoid a later conversion */ -static const -struct snyder_constants constants[] = { +static const struct snyder_constants constants[] = { {23.80018260, 62.15458023, 60.0, 3.75, 1.033, 0.968, 5.09, 1.195, 1.0}, {20.07675127, 55.69063953, 54.0, 2.65, 1.030, 0.983, 3.59, 1.141, 1.027}, {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, @@ -178,7 +177,7 @@ static struct isea_geo vertex[] = { /* TODO make an isea_pt array of the vertices as well */ -static int tri_v1[] = {0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 10, 2, 3, 4, 5, 1, 11, 11, 11, 11, 11}; +static int tri_v1[] = {0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 10, 2, 3, 4, 5, 1, 11, 11, 11, 11, 11}; /* 52.62263186 */ #define E_RAD 0.91843818702186776133 @@ -211,8 +210,7 @@ static const struct isea_geo icostriangles[] = { {DEG180, -E_RAD}, }; -static double -az_adjustment(int triangle) +static double az_adjustment(int triangle) { double adj; @@ -236,8 +234,7 @@ az_adjustment(int triangle) /* H = 0.25 R tan g = */ #define TABLE_H 0.1909830056 -static struct isea_pt -isea_triangle_xy(int triangle) +static struct isea_pt isea_triangle_xy(int triangle) { struct isea_pt c; const double Rprime = 0.91038328153090290025; @@ -272,8 +269,8 @@ isea_triangle_xy(int triangle) } /* snyder eq 14 */ -static double -sph_azimuth(double f_lon, double f_lat, double t_lon, double t_lat) +static double sph_azimuth(double f_lon, double f_lat, + double t_lon, double t_lat) { double az; @@ -291,8 +288,7 @@ sph_azimuth(double f_lon, double f_lat, double t_lon, double t_lat) #endif /* coord needs to be in radians */ -static int -isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) +static int isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) { int i; @@ -482,8 +478,7 @@ isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) * * TODO take a result pointer */ -static struct isea_geo -snyder_ctran(struct isea_geo * np, struct isea_geo * pt) +static struct isea_geo snyder_ctran(struct isea_geo * np, struct isea_geo * pt) { struct isea_geo npt; double alpha, phi, lambda, lambda0, beta, lambdap, phip; @@ -527,8 +522,8 @@ snyder_ctran(struct isea_geo * np, struct isea_geo * pt) return npt; } -static struct isea_geo -isea_ctran(struct isea_geo * np, struct isea_geo * pt, double lon0) +static struct isea_geo isea_ctran(struct isea_geo * np, struct isea_geo * pt, + double lon0) { struct isea_geo npt; @@ -559,8 +554,7 @@ isea_ctran(struct isea_geo * np, struct isea_geo * pt, double lon0) /* fuller's at 5.2454 west, 2.3009 N, adjacent at 7.46658 deg */ -static int -isea_grid_init(struct isea_dgg * g) +static int isea_grid_init(struct isea_dgg * g) { if (!g) return 0; @@ -577,8 +571,7 @@ isea_grid_init(struct isea_dgg * g) return 1; } -static void -isea_orient_isea(struct isea_dgg * g) +static void isea_orient_isea(struct isea_dgg * g) { if (!g) return; @@ -587,8 +580,7 @@ isea_orient_isea(struct isea_dgg * g) g->o_az = 0.0; } -static void -isea_orient_pole(struct isea_dgg * g) +static void isea_orient_pole(struct isea_dgg * g) { if (!g) return; @@ -597,9 +589,8 @@ isea_orient_pole(struct isea_dgg * g) g->o_az = 0; } -static int -isea_transform(struct isea_dgg * g, struct isea_geo * in, - struct isea_pt * out) +static int isea_transform(struct isea_dgg * g, struct isea_geo * in, + struct isea_pt * out) { struct isea_geo i, pole; int tri; @@ -619,8 +610,7 @@ isea_transform(struct isea_dgg * g, struct isea_geo * in, #define DOWNTRI(tri) (((tri - 1) / 5) % 2 == 1) -static void -isea_rotate(struct isea_pt * pt, double degrees) +static void isea_rotate(struct isea_pt * pt, double degrees) { double rad; @@ -653,8 +643,7 @@ static int isea_tri_plane(int tri, struct isea_pt *pt, double radius) { } /* convert projected triangle coords to quad xy coords, return quad number */ -static int -isea_ptdd(int tri, struct isea_pt *pt) { +static int isea_ptdd(int tri, struct isea_pt *pt) { int downtri, quad; downtri = (((tri - 1) / 5) % 2 == 1); @@ -669,8 +658,8 @@ isea_ptdd(int tri, struct isea_pt *pt) { return quad; } -static int -isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) +static int isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, + struct isea_pt *di) { struct isea_pt v; double hexwidth; @@ -747,8 +736,8 @@ isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_p return quad; } -static int -isea_dddi(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) { +static int isea_dddi(struct isea_dgg *g, int quad, struct isea_pt *pt, + struct isea_pt *di) { struct isea_pt v; double hexwidth; int sidelength; /* in hexes */ @@ -928,8 +917,7 @@ static int isea_hex(struct isea_dgg *g, int tri, #endif } -static struct isea_pt -isea_forward(struct isea_dgg *g, struct isea_geo *in) +static struct isea_pt isea_forward(struct isea_dgg *g, struct isea_geo *in) { int tri; struct isea_pt out, coord; -- cgit v1.2.3 From 03011fb2989c49d938b784683a620409d5ed5779 Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Sun, 13 May 2018 08:00:40 -0700 Subject: ISEA_STATIC -> static (#995) As this is a part of PROJ, having these functions possibly not static is confusing. Time to declare this is just a part of PROJ. --- src/PJ_isea.c | 110 +++++++++++++++++----------------------------------------- 1 file changed, 32 insertions(+), 78 deletions(-) diff --git a/src/PJ_isea.c b/src/PJ_isea.c index 750587a3..53302a5c 100644 --- a/src/PJ_isea.c +++ b/src/PJ_isea.c @@ -12,24 +12,13 @@ # define M_PI 3.14159265358979323846 #endif -/* - * Proj 4 provides its own entry points into - * the code, so none of the library functions - * need to be global - */ -#define ISEA_STATIC static -#ifndef ISEA_STATIC -#define ISEA_STATIC -#endif - struct hex { int iso; int x, y, z; }; /* y *must* be positive down as the xy /iso conversion assumes this */ -ISEA_STATIC -void hex_xy(struct hex *h) { +static void hex_xy(struct hex *h) { if (!h->iso) return; if (h->x >= 0) { h->y = -h->y - (h->x+1)/2; @@ -40,8 +29,7 @@ void hex_xy(struct hex *h) { h->iso = 0; } -ISEA_STATIC -void hex_iso(struct hex *h) { +static void hex_iso(struct hex *h) { if (h->iso) return; if (h->x >= 0) { @@ -55,8 +43,7 @@ void hex_iso(struct hex *h) { h->iso = 1; } -ISEA_STATIC -void hexbin2(double width, double x, double y, int *i, int *j) { +static void hexbin2(double width, double x, double y, int *i, int *j) { double z, rx, ry, rz; double abs_dx, abs_dy, abs_dz; int ix, iy, iz, s; @@ -102,9 +89,6 @@ void hexbin2(double width, double x, double y, int *i, int *j) { *i = h.x; *j = h.y; } -#ifndef ISEA_STATIC -#define ISEA_STATIC -#endif enum isea_poly { ISEA_NONE, ISEA_ICOSAHEDRON = 20 }; enum isea_topology { ISEA_HEXAGON=6, ISEA_TRIANGLE=3, ISEA_DIAMOND=4 }; @@ -150,8 +134,7 @@ struct snyder_constants { }; /* TODO put these in radians to avoid a later conversion */ -ISEA_STATIC const -struct snyder_constants constants[] = { +static const struct snyder_constants constants[] = { {23.80018260, 62.15458023, 60.0, 3.75, 1.033, 0.968, 5.09, 1.195, 1.0}, {20.07675127, 55.69063953, 54.0, 2.65, 1.030, 0.983, 3.59, 1.141, 1.027}, {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, @@ -177,8 +160,7 @@ struct snyder_constants constants[] = { #define RAD2DEG (180.0/M_PI) #define DEG2RAD (M_PI/180.0) -ISEA_STATIC -struct isea_geo vertex[] = { +static struct isea_geo vertex[] = { {0.0, DEG90}, {DEG180, V_LAT}, {-DEG108, V_LAT}, @@ -195,7 +177,7 @@ struct isea_geo vertex[] = { /* TODO make an isea_pt array of the vertices as well */ -static int tri_v1[] = {0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 10, 2, 3, 4, 5, 1, 11, 11, 11, 11, 11}; +static int tri_v1[] = {0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 10, 2, 3, 4, 5, 1, 11, 11, 11, 11, 11}; /* 52.62263186 */ #define E_RAD 0.91843818702186776133 @@ -228,8 +210,7 @@ static const struct isea_geo icostriangles[] = { {DEG180, -E_RAD}, }; -static double -az_adjustment(int triangle) +static double az_adjustment(int triangle) { double adj; @@ -253,9 +234,7 @@ az_adjustment(int triangle) /* H = 0.25 R tan g = */ #define TABLE_H 0.1909830056 -ISEA_STATIC -struct isea_pt -isea_triangle_xy(int triangle) +static struct isea_pt isea_triangle_xy(int triangle) { struct isea_pt c; const double Rprime = 0.91038328153090290025; @@ -290,8 +269,8 @@ isea_triangle_xy(int triangle) } /* snyder eq 14 */ -static double -sph_azimuth(double f_lon, double f_lat, double t_lon, double t_lat) +static double sph_azimuth(double f_lon, double f_lat, + double t_lon, double t_lat) { double az; @@ -309,9 +288,7 @@ sph_azimuth(double f_lon, double f_lat, double t_lon, double t_lat) #endif /* coord needs to be in radians */ -ISEA_STATIC -int -isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) +static int isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) { int i; @@ -501,9 +478,7 @@ isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) * * TODO take a result pointer */ -ISEA_STATIC -struct isea_geo -snyder_ctran(struct isea_geo * np, struct isea_geo * pt) +static struct isea_geo snyder_ctran(struct isea_geo * np, struct isea_geo * pt) { struct isea_geo npt; double alpha, phi, lambda, lambda0, beta, lambdap, phip; @@ -547,9 +522,8 @@ snyder_ctran(struct isea_geo * np, struct isea_geo * pt) return npt; } -ISEA_STATIC -struct isea_geo -isea_ctran(struct isea_geo * np, struct isea_geo * pt, double lon0) +static struct isea_geo isea_ctran(struct isea_geo * np, struct isea_geo * pt, + double lon0) { struct isea_geo npt; @@ -580,9 +554,7 @@ isea_ctran(struct isea_geo * np, struct isea_geo * pt, double lon0) /* fuller's at 5.2454 west, 2.3009 N, adjacent at 7.46658 deg */ -ISEA_STATIC -int -isea_grid_init(struct isea_dgg * g) +static int isea_grid_init(struct isea_dgg * g) { if (!g) return 0; @@ -599,9 +571,7 @@ isea_grid_init(struct isea_dgg * g) return 1; } -ISEA_STATIC -void -isea_orient_isea(struct isea_dgg * g) +static void isea_orient_isea(struct isea_dgg * g) { if (!g) return; @@ -610,9 +580,7 @@ isea_orient_isea(struct isea_dgg * g) g->o_az = 0.0; } -ISEA_STATIC -void -isea_orient_pole(struct isea_dgg * g) +static void isea_orient_pole(struct isea_dgg * g) { if (!g) return; @@ -621,10 +589,8 @@ isea_orient_pole(struct isea_dgg * g) g->o_az = 0; } -ISEA_STATIC -int -isea_transform(struct isea_dgg * g, struct isea_geo * in, - struct isea_pt * out) +static int isea_transform(struct isea_dgg * g, struct isea_geo * in, + struct isea_pt * out) { struct isea_geo i, pole; int tri; @@ -644,9 +610,7 @@ isea_transform(struct isea_dgg * g, struct isea_geo * in, #define DOWNTRI(tri) (((tri - 1) / 5) % 2 == 1) -ISEA_STATIC -void -isea_rotate(struct isea_pt * pt, double degrees) +static void isea_rotate(struct isea_pt * pt, double degrees) { double rad; @@ -663,8 +627,7 @@ isea_rotate(struct isea_pt * pt, double degrees) pt->y = y; } -ISEA_STATIC -int isea_tri_plane(int tri, struct isea_pt *pt, double radius) { +static int isea_tri_plane(int tri, struct isea_pt *pt, double radius) { struct isea_pt tc; /* center of triangle */ if (DOWNTRI(tri)) { @@ -680,9 +643,7 @@ int isea_tri_plane(int tri, struct isea_pt *pt, double radius) { } /* convert projected triangle coords to quad xy coords, return quad number */ -ISEA_STATIC -int -isea_ptdd(int tri, struct isea_pt *pt) { +static int isea_ptdd(int tri, struct isea_pt *pt) { int downtri, quad; downtri = (((tri - 1) / 5) % 2 == 1); @@ -697,9 +658,8 @@ isea_ptdd(int tri, struct isea_pt *pt) { return quad; } -ISEA_STATIC -int -isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) +static int isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, + struct isea_pt *di) { struct isea_pt v; double hexwidth; @@ -776,9 +736,8 @@ isea_dddi_ap3odd(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_p return quad; } -ISEA_STATIC -int -isea_dddi(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) { +static int isea_dddi(struct isea_dgg *g, int quad, struct isea_pt *pt, + struct isea_pt *di) { struct isea_pt v; double hexwidth; int sidelength; /* in hexes */ @@ -849,9 +808,8 @@ isea_dddi(struct isea_dgg *g, int quad, struct isea_pt *pt, struct isea_pt *di) return quad; } -ISEA_STATIC -int isea_ptdi(struct isea_dgg *g, int tri, struct isea_pt *pt, - struct isea_pt *di) { +static int isea_ptdi(struct isea_dgg *g, int tri, struct isea_pt *pt, + struct isea_pt *di) { struct isea_pt v; int quad; @@ -862,8 +820,7 @@ int isea_ptdi(struct isea_dgg *g, int tri, struct isea_pt *pt, } /* q2di to seqnum */ -ISEA_STATIC -int isea_disn(struct isea_dgg *g, int quad, struct isea_pt *di) { +static int isea_disn(struct isea_dgg *g, int quad, struct isea_pt *di) { int sidelength; int sn, height; int hexes; @@ -898,9 +855,8 @@ int isea_disn(struct isea_dgg *g, int quad, struct isea_pt *di) { * d' = d << 4 + q, d = d' >> 4, q = d' & 0xf */ /* convert a q2di to global hex coord */ -ISEA_STATIC -int isea_hex(struct isea_dgg *g, int tri, - struct isea_pt *pt, struct isea_pt *hex) { +static int isea_hex(struct isea_dgg *g, int tri, + struct isea_pt *pt, struct isea_pt *hex) { struct isea_pt v; #ifdef FIXME int sidelength; @@ -961,9 +917,7 @@ int isea_hex(struct isea_dgg *g, int tri, #endif } -ISEA_STATIC -struct isea_pt -isea_forward(struct isea_dgg *g, struct isea_geo *in) +static struct isea_pt isea_forward(struct isea_dgg *g, struct isea_geo *in) { int tri; struct isea_pt out, coord; -- cgit v1.2.3 From 74d082a5360b4939fcbc54fb18382b723771cafe Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Mon, 14 May 2018 00:16:05 -0700 Subject: Partial changes for IWYU --- src/PJ_axisswap.c | 3 +++ src/PJ_bacon.c | 8 ++++---- src/PJ_bipc.c | 6 +++--- src/PJ_boggs.c | 8 ++++---- src/PJ_calcofi.c | 11 ++++------- src/PJ_cart.c | 4 ++-- src/PJ_cass.c | 10 ++++++---- src/PJ_cc.c | 5 +++-- src/PJ_cea.c | 5 +++-- src/PJ_chamb.c | 5 +++-- src/PJ_collg.c | 4 +++- src/PJ_comill.c | 7 ++++--- 12 files changed, 42 insertions(+), 34 deletions(-) diff --git a/src/PJ_axisswap.c b/src/PJ_axisswap.c index 0b81a733..d31e927e 100644 --- a/src/PJ_axisswap.c +++ b/src/PJ_axisswap.c @@ -54,6 +54,9 @@ operation: #define PJ_LIB__ #include +#include +#include + #include "proj_internal.h" #include "projects.h" diff --git a/src/PJ_bacon.c b/src/PJ_bacon.c index 4ba70db4..ae25bce1 100644 --- a/src/PJ_bacon.c +++ b/src/PJ_bacon.c @@ -1,8 +1,10 @@ # define HLFPI2 2.46740110027233965467 /* (pi/2)^2 */ # define EPS 1e-10 #define PJ_LIB__ -#include -#include "projects.h" +#include +#include + +#include "projects.h" struct pj_opaque { @@ -75,5 +77,3 @@ PJ *PROJECTION(ortel) { P->fwd = s_forward; return P; } - - diff --git a/src/PJ_bipc.c b/src/PJ_bipc.c index 2f60808d..ea7883a5 100644 --- a/src/PJ_bipc.c +++ b/src/PJ_bipc.c @@ -1,6 +1,8 @@ #define PJ_LIB__ -#include "proj.h" #include +#include + +#include "proj.h" #include "projects.h" #include "proj_math.h" @@ -170,5 +172,3 @@ PJ *PROJECTION(bipc) { P->es = 0.; return P; } - - diff --git a/src/PJ_boggs.c b/src/PJ_boggs.c index ed753505..83bafc18 100644 --- a/src/PJ_boggs.c +++ b/src/PJ_boggs.c @@ -1,6 +1,8 @@ #define PJ_LIB__ -# include -# include "projects.h" +#include + +#include "projects.h" + PROJ_HEAD(boggs, "Boggs Eumorphic") "\n\tPCyl., no inv., Sph."; # define NITER 20 # define EPS 1e-7 @@ -39,5 +41,3 @@ PJ *PROJECTION(boggs) { P->fwd = s_forward; return P; } - - diff --git a/src/PJ_calcofi.c b/src/PJ_calcofi.c index f322d2bd..ed4cfe86 100644 --- a/src/PJ_calcofi.c +++ b/src/PJ_calcofi.c @@ -1,15 +1,14 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" +#include "proj_api.h" PROJ_HEAD(calcofi, "Cal Coop Ocean Fish Invest Lines/Stations") "\n\tCyl, Sph&Ell"; -#include -#include -#include -#include "proj_api.h" -#include /* Conversions for the California Cooperative Oceanic Fisheries Investigations Line/Station coordinate system following the algorithm of: @@ -162,5 +161,3 @@ PJ *PROJECTION(calcofi) { } return P; } - - diff --git a/src/PJ_cart.c b/src/PJ_cart.c index a4fd3254..b4fc60b2 100644 --- a/src/PJ_cart.c +++ b/src/PJ_cart.c @@ -41,11 +41,11 @@ *****************************************************************************/ #define PJ_LIB__ + #include "proj_internal.h" #include "projects.h" #include "proj_math.h" -#include -#include + PROJ_HEAD(cart, "Geodetic/cartesian conversions"); diff --git a/src/PJ_cass.c b/src/PJ_cass.c index acf779a1..4e3b4251 100644 --- a/src/PJ_cass.c +++ b/src/PJ_cass.c @@ -1,6 +1,10 @@ #define PJ_LIB__ -# include -# include "projects.h" + +#include +#include + +#include "projects.h" + PROJ_HEAD(cass, "Cassini") "\n\tCyl, Sph&Ell"; @@ -115,5 +119,3 @@ PJ *PROJECTION(cass) { return P; } - - diff --git a/src/PJ_cc.c b/src/PJ_cc.c index 4f41e3e1..152e6e4a 100644 --- a/src/PJ_cc.c +++ b/src/PJ_cc.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" @@ -36,5 +39,3 @@ PJ *PROJECTION(cc) { return P; } - - diff --git a/src/PJ_cea.c b/src/PJ_cea.c index e7a33899..e05e524b 100644 --- a/src/PJ_cea.c +++ b/src/PJ_cea.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -96,5 +99,3 @@ PJ *PROJECTION(cea) { return P; } - - diff --git a/src/PJ_chamb.c b/src/PJ_chamb.c index 571bdf10..0d14b95e 100644 --- a/src/PJ_chamb.c +++ b/src/PJ_chamb.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -134,5 +137,3 @@ PJ *PROJECTION(chamb) { return P; } - - diff --git a/src/PJ_collg.c b/src/PJ_collg.c index 3d7f0d80..ef712905 100644 --- a/src/PJ_collg.c +++ b/src/PJ_collg.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" @@ -48,4 +51,3 @@ PJ *PROJECTION(collg) { return P; } - diff --git a/src/PJ_comill.c b/src/PJ_comill.c index ba0744c6..ce5bb392 100644 --- a/src/PJ_comill.c +++ b/src/PJ_comill.c @@ -7,7 +7,10 @@ Port to PROJ.4 by Bojan Savric, 4 April 2016 */ #define PJ_LIB__ -#include "projects.h" + +#include + +#include "projects.h" PROJ_HEAD(comill, "Compact Miller") "\n\tCyl., Sph."; @@ -79,5 +82,3 @@ PJ *PROJECTION(comill) { return P; } - - -- cgit v1.2.3 From 325477ed0fac2c9233c2f6a2b7bb4125e04df24c Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 14 May 2018 20:57:00 +0200 Subject: Set projection plot scale to 100% for better PDF output --- docs/source/operations/projections/aea.rst | 2 +- docs/source/operations/projections/aeqd.rst | 2 +- docs/source/operations/projections/airy.rst | 2 +- docs/source/operations/projections/aitoff.rst | 2 +- docs/source/operations/projections/alsk.rst | 2 +- docs/source/operations/projections/apian.rst | 2 +- docs/source/operations/projections/august.rst | 2 +- docs/source/operations/projections/bacon.rst | 2 +- docs/source/operations/projections/bipc.rst | 2 +- docs/source/operations/projections/boggs.rst | 2 +- docs/source/operations/projections/bonne.rst | 2 +- docs/source/operations/projections/calcofi.rst | 2 +- docs/source/operations/projections/cass.rst | 2 +- docs/source/operations/projections/cc.rst | 2 +- docs/source/operations/projections/ccon.rst | 2 +- docs/source/operations/projections/cea.rst | 2 +- docs/source/operations/projections/chamb.rst | 2 +- docs/source/operations/projections/collg.rst | 2 +- docs/source/operations/projections/crast.rst | 2 +- docs/source/operations/projections/denoy.rst | 2 +- docs/source/operations/projections/eck1.rst | 2 +- docs/source/operations/projections/eck2.rst | 2 +- docs/source/operations/projections/eck3.rst | 2 +- docs/source/operations/projections/eck4.rst | 2 +- docs/source/operations/projections/eck5.rst | 2 +- docs/source/operations/projections/eck6.rst | 2 +- docs/source/operations/projections/eqc.rst | 2 +- docs/source/operations/projections/eqdc.rst | 2 +- docs/source/operations/projections/etmerc.rst | 2 +- docs/source/operations/projections/euler.rst | 2 +- docs/source/operations/projections/fahey.rst | 2 +- docs/source/operations/projections/fouc.rst | 2 +- docs/source/operations/projections/fouc_s.rst | 2 +- docs/source/operations/projections/gall.rst | 2 +- docs/source/operations/projections/geos.rst | 3 ++- docs/source/operations/projections/gins8.rst | 2 +- docs/source/operations/projections/gn_sinu.rst | 2 +- docs/source/operations/projections/gnom.rst | 2 +- docs/source/operations/projections/goode.rst | 2 +- docs/source/operations/projections/gs48.rst | 2 +- docs/source/operations/projections/gs50.rst | 2 +- docs/source/operations/projections/gstmerc.rst | 2 +- docs/source/operations/projections/hammer.rst | 2 +- docs/source/operations/projections/hatano.rst | 2 +- docs/source/operations/projections/healpix.rst | 1 + docs/source/operations/projections/igh.rst | 2 +- docs/source/operations/projections/imw_p.rst | 2 +- docs/source/operations/projections/isea.rst | 2 +- docs/source/operations/projections/kav5.rst | 2 +- docs/source/operations/projections/kav7.rst | 2 +- docs/source/operations/projections/krovak.rst | 2 +- docs/source/operations/projections/labrd.rst | 2 +- docs/source/operations/projections/laea.rst | 2 +- docs/source/operations/projections/lagrng.rst | 2 +- docs/source/operations/projections/larr.rst | 2 +- docs/source/operations/projections/lask.rst | 2 +- docs/source/operations/projections/lcc.rst | 2 +- docs/source/operations/projections/lcca.rst | 2 +- docs/source/operations/projections/leac.rst | 2 +- docs/source/operations/projections/lee_os.rst | 2 +- docs/source/operations/projections/loxim.rst | 2 +- docs/source/operations/projections/lsat.rst | 2 +- docs/source/operations/projections/mbt_fps.rst | 2 +- docs/source/operations/projections/mbt_s.rst | 2 +- docs/source/operations/projections/mbtfpp.rst | 2 +- docs/source/operations/projections/mbtfpq.rst | 2 +- docs/source/operations/projections/mbtfps.rst | 2 +- docs/source/operations/projections/merc.rst | 2 +- docs/source/operations/projections/mil_os.rst | 2 +- docs/source/operations/projections/mill.rst | 2 +- docs/source/operations/projections/moll.rst | 2 +- docs/source/operations/projections/murd1.rst | 2 +- docs/source/operations/projections/murd2.rst | 2 +- docs/source/operations/projections/murd3.rst | 2 +- docs/source/operations/projections/natearth.rst | 2 +- docs/source/operations/projections/nell.rst | 2 +- docs/source/operations/projections/nell_h.rst | 2 +- docs/source/operations/projections/nicol.rst | 2 +- docs/source/operations/projections/nsper.rst | 2 +- docs/source/operations/projections/nzmg.rst | 2 +- docs/source/operations/projections/ob_tran.rst | 2 +- docs/source/operations/projections/ocea.rst | 2 +- docs/source/operations/projections/oea.rst | 2 +- docs/source/operations/projections/omerc.rst | 2 +- docs/source/operations/projections/ortel.rst | 2 +- docs/source/operations/projections/ortho.rst | 2 +- docs/source/operations/projections/pconic.rst | 2 +- docs/source/operations/projections/poly.rst | 2 +- docs/source/operations/projections/putp1.rst | 2 +- docs/source/operations/projections/putp2.rst | 2 +- docs/source/operations/projections/putp3.rst | 2 +- docs/source/operations/projections/putp3p.rst | 2 +- docs/source/operations/projections/putp4p.rst | 2 +- docs/source/operations/projections/putp5.rst | 2 +- docs/source/operations/projections/putp5p.rst | 2 +- docs/source/operations/projections/putp6.rst | 2 +- docs/source/operations/projections/putp6p.rst | 2 +- docs/source/operations/projections/qsc.rst | 12 ++++++------ docs/source/operations/projections/qua_aut.rst | 2 +- docs/source/operations/projections/robin.rst | 2 +- docs/source/operations/projections/rouss.rst | 2 +- docs/source/operations/projections/rpoly.rst | 2 +- docs/source/operations/projections/sinu.rst | 2 +- docs/source/operations/projections/somerc.rst | 2 +- docs/source/operations/projections/stere.rst | 2 +- docs/source/operations/projections/sterea.rst | 2 +- docs/source/operations/projections/tcc.rst | 2 +- docs/source/operations/projections/tcea.rst | 2 +- docs/source/operations/projections/tissot.rst | 2 +- docs/source/operations/projections/tmerc.rst | 2 +- docs/source/operations/projections/tpeqd.rst | 2 +- docs/source/operations/projections/tpers.rst | 2 +- docs/source/operations/projections/ups.rst | 2 +- docs/source/operations/projections/urm5.rst | 2 +- docs/source/operations/projections/urmfps.rst | 2 +- docs/source/operations/projections/utm.rst | 2 +- docs/source/operations/projections/vandg.rst | 2 +- docs/source/operations/projections/vandg2.rst | 2 +- docs/source/operations/projections/vandg3.rst | 2 +- docs/source/operations/projections/vandg4.rst | 2 +- docs/source/operations/projections/vitk1.rst | 2 +- docs/source/operations/projections/wag1.rst | 2 +- docs/source/operations/projections/wag2.rst | 2 +- docs/source/operations/projections/wag3.rst | 2 +- docs/source/operations/projections/wag4.rst | 2 +- docs/source/operations/projections/wag5.rst | 2 +- docs/source/operations/projections/wag6.rst | 2 +- docs/source/operations/projections/wag7.rst | 2 +- docs/source/operations/projections/weren.rst | 2 +- docs/source/operations/projections/wink1.rst | 2 +- docs/source/operations/projections/wink2.rst | 2 +- docs/source/operations/projections/wintri.rst | 2 +- 132 files changed, 138 insertions(+), 136 deletions(-) diff --git a/docs/source/operations/projections/aea.rst b/docs/source/operations/projections/aea.rst index 4fcd3cac..c21b8236 100644 --- a/docs/source/operations/projections/aea.rst +++ b/docs/source/operations/projections/aea.rst @@ -21,7 +21,7 @@ Albers Equal Area .. image:: ./images/aea.png - :scale: 50% + :scale: 100% :alt: Albers Equal Area Options diff --git a/docs/source/operations/projections/aeqd.rst b/docs/source/operations/projections/aeqd.rst index 4663af3e..e9a3e45b 100644 --- a/docs/source/operations/projections/aeqd.rst +++ b/docs/source/operations/projections/aeqd.rst @@ -19,7 +19,7 @@ Azimuthal Equidistant .. image:: ./images/aeqd.png - :scale: 50% + :scale: 100% :alt: Azimuthal Equidistant diff --git a/docs/source/operations/projections/airy.rst b/docs/source/operations/projections/airy.rst index a6e89e30..64ce9fe3 100644 --- a/docs/source/operations/projections/airy.rst +++ b/docs/source/operations/projections/airy.rst @@ -27,7 +27,7 @@ within the small or great circle defined by an angular distance, .. image:: ./images/airy.png - :scale: 50% + :scale: 100% :alt: Airy Options diff --git a/docs/source/operations/projections/aitoff.rst b/docs/source/operations/projections/aitoff.rst index 92ef2f12..357600ec 100644 --- a/docs/source/operations/projections/aitoff.rst +++ b/docs/source/operations/projections/aitoff.rst @@ -20,7 +20,7 @@ Aitoff +---------------------+----------------------------------------------------------+ .. image:: ./images/aitoff.png - :scale: 50% + :scale: 100% :alt: Aitoff Parameters diff --git a/docs/source/operations/projections/alsk.rst b/docs/source/operations/projections/alsk.rst index d08fa827..0af63bc8 100644 --- a/docs/source/operations/projections/alsk.rst +++ b/docs/source/operations/projections/alsk.rst @@ -21,7 +21,7 @@ Modified Stererographics of Alaska .. image:: ./images/alsk.png - :scale: 50% + :scale: 100% :alt: Mod. Stererographics of Alaska Options diff --git a/docs/source/operations/projections/apian.rst b/docs/source/operations/projections/apian.rst index 6b5e247d..2a57e630 100644 --- a/docs/source/operations/projections/apian.rst +++ b/docs/source/operations/projections/apian.rst @@ -22,7 +22,7 @@ Apian Globular I .. image:: ./images/apian.png - :scale: 50% + :scale: 100% :alt: Apian Globular I Options diff --git a/docs/source/operations/projections/august.rst b/docs/source/operations/projections/august.rst index e2ad3516..1283ddd7 100644 --- a/docs/source/operations/projections/august.rst +++ b/docs/source/operations/projections/august.rst @@ -5,6 +5,6 @@ August Epicycloidal ******************************************************************************** .. image:: ./images/august.png - :scale: 50% + :scale: 100% :alt: August Epicycloidal diff --git a/docs/source/operations/projections/bacon.rst b/docs/source/operations/projections/bacon.rst index a87ea7d8..cf3bf6f8 100644 --- a/docs/source/operations/projections/bacon.rst +++ b/docs/source/operations/projections/bacon.rst @@ -5,6 +5,6 @@ Bacon Globular ******************************************************************************** .. image:: ./images/bacon.png - :scale: 50% + :scale: 100% :alt: Bacon Globular diff --git a/docs/source/operations/projections/bipc.rst b/docs/source/operations/projections/bipc.rst index 7045f04a..b7981716 100644 --- a/docs/source/operations/projections/bipc.rst +++ b/docs/source/operations/projections/bipc.rst @@ -5,6 +5,6 @@ Bipolar conic of western hemisphere ******************************************************************************** .. image:: ./images/bipc.png - :scale: 50% + :scale: 100% :alt: Bipolar conic of western hemisphere diff --git a/docs/source/operations/projections/boggs.rst b/docs/source/operations/projections/boggs.rst index 1dd7d19f..23f00c2b 100644 --- a/docs/source/operations/projections/boggs.rst +++ b/docs/source/operations/projections/boggs.rst @@ -5,6 +5,6 @@ Boggs Eumorphic ******************************************************************************** .. image:: ./images/boggs.png - :scale: 50% + :scale: 100% :alt: Boggs Eumorphic diff --git a/docs/source/operations/projections/bonne.rst b/docs/source/operations/projections/bonne.rst index ef87d7c9..d7cb5e7c 100644 --- a/docs/source/operations/projections/bonne.rst +++ b/docs/source/operations/projections/bonne.rst @@ -5,6 +5,6 @@ Bonne (Werner lat_1=90) ******************************************************************************** .. image:: ./images/bonne.png - :scale: 50% + :scale: 100% :alt: Bonne (Werner lat_1=90) diff --git a/docs/source/operations/projections/calcofi.rst b/docs/source/operations/projections/calcofi.rst index 8a240ebd..b28530c5 100644 --- a/docs/source/operations/projections/calcofi.rst +++ b/docs/source/operations/projections/calcofi.rst @@ -26,7 +26,7 @@ California Cooperative Oceanic Fisheries Investigations program, known as CalCOF .. image:: ../../../images/calcofi.png - :scale: 50% + :scale: 100% :align: center :alt: Cal Coop Ocean Fish Invest Lines/Stations diff --git a/docs/source/operations/projections/cass.rst b/docs/source/operations/projections/cass.rst index dba6a7c4..7c009c9c 100644 --- a/docs/source/operations/projections/cass.rst +++ b/docs/source/operations/projections/cass.rst @@ -24,7 +24,7 @@ Although the Cassini projection has been largely replaced by the Transverse Merc .. image:: ./images/cass.png - :scale: 50% + :scale: 100% :alt: Cassini Usage diff --git a/docs/source/operations/projections/cc.rst b/docs/source/operations/projections/cc.rst index 5b30e6c6..6bd86a7b 100644 --- a/docs/source/operations/projections/cc.rst +++ b/docs/source/operations/projections/cc.rst @@ -5,6 +5,6 @@ Central Cylindrical ******************************************************************************** .. image:: ./images/cc.png - :scale: 50% + :scale: 100% :alt: Central Cylindrical diff --git a/docs/source/operations/projections/ccon.rst b/docs/source/operations/projections/ccon.rst index f5ceed67..595af087 100644 --- a/docs/source/operations/projections/ccon.rst +++ b/docs/source/operations/projections/ccon.rst @@ -27,7 +27,7 @@ latitude, identical with ``conic()`` projection from ``mapproj`` R package. .. image:: ./images/ccon.png - :scale: 50% + :scale: 100% :alt: Central Conic diff --git a/docs/source/operations/projections/cea.rst b/docs/source/operations/projections/cea.rst index 20ebc285..0ad964ae 100644 --- a/docs/source/operations/projections/cea.rst +++ b/docs/source/operations/projections/cea.rst @@ -5,6 +5,6 @@ Equal Area Cylindrical ******************************************************************************** .. image:: ./images/cea.png - :scale: 50% + :scale: 100% :alt: Equal Area Cylindrical diff --git a/docs/source/operations/projections/chamb.rst b/docs/source/operations/projections/chamb.rst index 2ec9bffe..36d3d08f 100644 --- a/docs/source/operations/projections/chamb.rst +++ b/docs/source/operations/projections/chamb.rst @@ -5,6 +5,6 @@ Chamberlin Trimetric ******************************************************************************** .. image:: ./images/chamb.png - :scale: 50% + :scale: 100% :alt: Chamberlin Trimetric diff --git a/docs/source/operations/projections/collg.rst b/docs/source/operations/projections/collg.rst index aa16182a..7fb7269d 100644 --- a/docs/source/operations/projections/collg.rst +++ b/docs/source/operations/projections/collg.rst @@ -5,6 +5,6 @@ Collignon ******************************************************************************** .. image:: ./images/collg.png - :scale: 50% + :scale: 100% :alt: Collignon diff --git a/docs/source/operations/projections/crast.rst b/docs/source/operations/projections/crast.rst index 9d17f274..02ca4063 100644 --- a/docs/source/operations/projections/crast.rst +++ b/docs/source/operations/projections/crast.rst @@ -5,6 +5,6 @@ Craster Parabolic (Putnins P4) ******************************************************************************** .. image:: ./images/crast.png - :scale: 50% + :scale: 100% :alt: Craster Parabolic (Putnins P4) diff --git a/docs/source/operations/projections/denoy.rst b/docs/source/operations/projections/denoy.rst index a885ab0e..e879df49 100644 --- a/docs/source/operations/projections/denoy.rst +++ b/docs/source/operations/projections/denoy.rst @@ -5,6 +5,6 @@ Denoyer Semi-Elliptical ******************************************************************************** .. image:: ./images/denoy.png - :scale: 50% + :scale: 100% :alt: Denoyer Semi-Elliptical diff --git a/docs/source/operations/projections/eck1.rst b/docs/source/operations/projections/eck1.rst index 841533ec..b39b1fd3 100644 --- a/docs/source/operations/projections/eck1.rst +++ b/docs/source/operations/projections/eck1.rst @@ -5,7 +5,7 @@ Eckert I ******************************************************************************** .. image:: ./images/eck1.png - :scale: 50% + :scale: 100% :alt: Eckert I diff --git a/docs/source/operations/projections/eck2.rst b/docs/source/operations/projections/eck2.rst index b1bd3179..42b43dba 100644 --- a/docs/source/operations/projections/eck2.rst +++ b/docs/source/operations/projections/eck2.rst @@ -5,6 +5,6 @@ Eckert II ******************************************************************************** .. image:: ./images/eck2.png - :scale: 50% + :scale: 100% :alt: Eckert II diff --git a/docs/source/operations/projections/eck3.rst b/docs/source/operations/projections/eck3.rst index ecacc32d..535969d8 100644 --- a/docs/source/operations/projections/eck3.rst +++ b/docs/source/operations/projections/eck3.rst @@ -5,6 +5,6 @@ Eckert III ******************************************************************************** .. image:: ./images/eck3.png - :scale: 50% + :scale: 100% :alt: Eckert III diff --git a/docs/source/operations/projections/eck4.rst b/docs/source/operations/projections/eck4.rst index 3fc6a9fd..96118ae9 100644 --- a/docs/source/operations/projections/eck4.rst +++ b/docs/source/operations/projections/eck4.rst @@ -5,7 +5,7 @@ Eckert IV ******************************************************************************** .. image:: ./images/eck4.png - :scale: 50% + :scale: 100% :alt: Eckert IV diff --git a/docs/source/operations/projections/eck5.rst b/docs/source/operations/projections/eck5.rst index 1442d99d..20383b47 100644 --- a/docs/source/operations/projections/eck5.rst +++ b/docs/source/operations/projections/eck5.rst @@ -5,6 +5,6 @@ Eckert V ******************************************************************************** .. image:: ./images/eck5.png - :scale: 50% + :scale: 100% :alt: Eckert V diff --git a/docs/source/operations/projections/eck6.rst b/docs/source/operations/projections/eck6.rst index caeaefa6..7f30d386 100644 --- a/docs/source/operations/projections/eck6.rst +++ b/docs/source/operations/projections/eck6.rst @@ -5,6 +5,6 @@ Eckert VI ******************************************************************************** .. image:: ./images/eck6.png - :scale: 50% + :scale: 100% :alt: Eckert VI diff --git a/docs/source/operations/projections/eqc.rst b/docs/source/operations/projections/eqc.rst index de463034..766537b7 100644 --- a/docs/source/operations/projections/eqc.rst +++ b/docs/source/operations/projections/eqc.rst @@ -24,7 +24,7 @@ The simplest of all projections. Standard parallels (0° when omitted) may be sp .. image:: ./images/eqc.png - :scale: 50% + :scale: 100% :alt: Equidistant Cylindrical (Plate Carrée) Usage diff --git a/docs/source/operations/projections/eqdc.rst b/docs/source/operations/projections/eqdc.rst index 3ee5999d..f6eb1295 100644 --- a/docs/source/operations/projections/eqdc.rst +++ b/docs/source/operations/projections/eqdc.rst @@ -5,6 +5,6 @@ Equidistant Conic ******************************************************************************** .. image:: ./images/eqdc.png - :scale: 50% + :scale: 100% :alt: Equidistant Conic diff --git a/docs/source/operations/projections/etmerc.rst b/docs/source/operations/projections/etmerc.rst index b7f89032..bcdc1f18 100644 --- a/docs/source/operations/projections/etmerc.rst +++ b/docs/source/operations/projections/etmerc.rst @@ -5,6 +5,6 @@ Extended Transverse Mercator ******************************************************************************** .. image:: ./images/etmerc.png - :scale: 50% + :scale: 100% :alt: Extended Transverse Mercator diff --git a/docs/source/operations/projections/euler.rst b/docs/source/operations/projections/euler.rst index e495063f..fc7c892c 100644 --- a/docs/source/operations/projections/euler.rst +++ b/docs/source/operations/projections/euler.rst @@ -5,6 +5,6 @@ Euler ******************************************************************************** .. image:: ./images/euler.png - :scale: 50% + :scale: 100% :alt: Euler diff --git a/docs/source/operations/projections/fahey.rst b/docs/source/operations/projections/fahey.rst index 2e09337f..60c95495 100644 --- a/docs/source/operations/projections/fahey.rst +++ b/docs/source/operations/projections/fahey.rst @@ -5,6 +5,6 @@ Fahey ******************************************************************************** .. image:: ./images/fahey.png - :scale: 50% + :scale: 100% :alt: Fahey diff --git a/docs/source/operations/projections/fouc.rst b/docs/source/operations/projections/fouc.rst index 7467dcb1..e510be23 100644 --- a/docs/source/operations/projections/fouc.rst +++ b/docs/source/operations/projections/fouc.rst @@ -5,6 +5,6 @@ Foucaut ******************************************************************************** .. image:: ./images/fouc.png - :scale: 50% + :scale: 100% :alt: Foucaut diff --git a/docs/source/operations/projections/fouc_s.rst b/docs/source/operations/projections/fouc_s.rst index ac353adb..cd461794 100644 --- a/docs/source/operations/projections/fouc_s.rst +++ b/docs/source/operations/projections/fouc_s.rst @@ -5,7 +5,7 @@ Foucaut Sinusoidal ******************************************************************************** .. image:: ./images/fouc_s.png - :scale: 50% + :scale: 100% :alt: Foucaut Sinusoidal diff --git a/docs/source/operations/projections/gall.rst b/docs/source/operations/projections/gall.rst index bdb88895..f1abda48 100644 --- a/docs/source/operations/projections/gall.rst +++ b/docs/source/operations/projections/gall.rst @@ -25,7 +25,7 @@ It is neither equal-area nor conformal but instead tries to balance the distorti .. image:: ./images/gall.png - :scale: 50% + :scale: 100% :alt: Gall (Gall Stereographic) Usage diff --git a/docs/source/operations/projections/geos.rst b/docs/source/operations/projections/geos.rst index 3dc914b3..317978e2 100644 --- a/docs/source/operations/projections/geos.rst +++ b/docs/source/operations/projections/geos.rst @@ -25,7 +25,7 @@ scanning angle intervals. .. image:: ./images/geos.png - :scale: 50% + :scale: 100% :alt: Geostationary Satellite View @@ -55,6 +55,7 @@ and a E/W axis (or ``x``). .. image:: ../../..//images/geos_sweep.png :scale: 50% + :align: center :alt: Gimbal geometry In the image above, the outer-gimbal axis, or sweep-angle axis, is the N/S axis (``y``) diff --git a/docs/source/operations/projections/gins8.rst b/docs/source/operations/projections/gins8.rst index f6adb092..5f85e225 100644 --- a/docs/source/operations/projections/gins8.rst +++ b/docs/source/operations/projections/gins8.rst @@ -5,6 +5,6 @@ Ginsburg VIII (TsNIIGAiK) ******************************************************************************** .. image:: ./images/gins8.png - :scale: 50% + :scale: 100% :alt: Ginsburg VIII (TsNIIGAiK) diff --git a/docs/source/operations/projections/gn_sinu.rst b/docs/source/operations/projections/gn_sinu.rst index c1017c27..c24c3f38 100644 --- a/docs/source/operations/projections/gn_sinu.rst +++ b/docs/source/operations/projections/gn_sinu.rst @@ -5,6 +5,6 @@ General Sinusoidal Series ******************************************************************************** .. image:: ./images/gn_sinu.png - :scale: 50% + :scale: 100% :alt: General Sinusoidal Series diff --git a/docs/source/operations/projections/gnom.rst b/docs/source/operations/projections/gnom.rst index 08d0db5f..e365296d 100644 --- a/docs/source/operations/projections/gnom.rst +++ b/docs/source/operations/projections/gnom.rst @@ -5,6 +5,6 @@ Gnomonic ******************************************************************************** .. image:: ./images/gnom.png - :scale: 50% + :scale: 100% :alt: Gnomonic diff --git a/docs/source/operations/projections/goode.rst b/docs/source/operations/projections/goode.rst index c4590bf2..32d5a98b 100644 --- a/docs/source/operations/projections/goode.rst +++ b/docs/source/operations/projections/goode.rst @@ -5,6 +5,6 @@ Goode Homolosine ******************************************************************************** .. image:: ./images/goode.png - :scale: 50% + :scale: 100% :alt: Goode Homolosine diff --git a/docs/source/operations/projections/gs48.rst b/docs/source/operations/projections/gs48.rst index bdaa367c..3b083f54 100644 --- a/docs/source/operations/projections/gs48.rst +++ b/docs/source/operations/projections/gs48.rst @@ -5,6 +5,6 @@ Mod. Stererographics of 48 U.S. ******************************************************************************** .. image:: ./images/gs48.png - :scale: 50% + :scale: 100% :alt: Mod. Stererographics of 48 U.S. diff --git a/docs/source/operations/projections/gs50.rst b/docs/source/operations/projections/gs50.rst index 0d4b7e81..2e8ba5a9 100644 --- a/docs/source/operations/projections/gs50.rst +++ b/docs/source/operations/projections/gs50.rst @@ -5,6 +5,6 @@ Mod. Stererographics of 50 U.S. ******************************************************************************** .. image:: ./images/gs50.png - :scale: 50% + :scale: 100% :alt: Mod. Stererographics of 50 U.S. diff --git a/docs/source/operations/projections/gstmerc.rst b/docs/source/operations/projections/gstmerc.rst index fc587ab0..d5f1acaa 100644 --- a/docs/source/operations/projections/gstmerc.rst +++ b/docs/source/operations/projections/gstmerc.rst @@ -5,6 +5,6 @@ Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) ******************************************************************************** .. image:: ./images/gstmerc.png - :scale: 50% + :scale: 100% :alt: Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) diff --git a/docs/source/operations/projections/hammer.rst b/docs/source/operations/projections/hammer.rst index e795b91b..7603d704 100644 --- a/docs/source/operations/projections/hammer.rst +++ b/docs/source/operations/projections/hammer.rst @@ -5,6 +5,6 @@ Hammer & Eckert-Greifendorff ******************************************************************************** .. image:: ./images/hammer.png - :scale: 50% + :scale: 100% :alt: Hammer & Eckert-Greifendorff diff --git a/docs/source/operations/projections/hatano.rst b/docs/source/operations/projections/hatano.rst index 99e9ac3d..c461d0f1 100644 --- a/docs/source/operations/projections/hatano.rst +++ b/docs/source/operations/projections/hatano.rst @@ -26,7 +26,7 @@ Hatano Asymmetrical Equal Area .. image:: ./images/hatano.png - :scale: 50% + :scale: 100% :alt: Hatano Asymmetrical Equal Area diff --git a/docs/source/operations/projections/healpix.rst b/docs/source/operations/projections/healpix.rst index e13c5456..ae1c7781 100644 --- a/docs/source/operations/projections/healpix.rst +++ b/docs/source/operations/projections/healpix.rst @@ -22,6 +22,7 @@ HEALPix .. image:: ../../../images/healpix.png :scale: 75% + :align: center :alt: HEALPix The HEALPix projection is area preserving and can be used with a spherical and diff --git a/docs/source/operations/projections/igh.rst b/docs/source/operations/projections/igh.rst index d74e1362..0decf7b2 100644 --- a/docs/source/operations/projections/igh.rst +++ b/docs/source/operations/projections/igh.rst @@ -5,6 +5,6 @@ Interrupted Goode Homolosine ******************************************************************************** .. image:: ./images/igh.png - :scale: 50% + :scale: 100% :alt: Interrupted Goode Homolosine diff --git a/docs/source/operations/projections/imw_p.rst b/docs/source/operations/projections/imw_p.rst index 1fd3ded0..556b2cf4 100644 --- a/docs/source/operations/projections/imw_p.rst +++ b/docs/source/operations/projections/imw_p.rst @@ -5,6 +5,6 @@ International Map of the World Polyconic ******************************************************************************** .. image:: ./images/imw_p.png - :scale: 50% + :scale: 100% :alt: International Map of the World Polyconic diff --git a/docs/source/operations/projections/isea.rst b/docs/source/operations/projections/isea.rst index 1b6457af..d6af3943 100644 --- a/docs/source/operations/projections/isea.rst +++ b/docs/source/operations/projections/isea.rst @@ -5,6 +5,6 @@ Icosahedral Snyder Equal Area ******************************************************************************** .. image:: ./images/isea.png - :scale: 50% + :scale: 100% :alt: Icosahedral Snyder Equal Area diff --git a/docs/source/operations/projections/kav5.rst b/docs/source/operations/projections/kav5.rst index 2ec5d1c1..e0cc9890 100644 --- a/docs/source/operations/projections/kav5.rst +++ b/docs/source/operations/projections/kav5.rst @@ -5,6 +5,6 @@ Kavraisky V ******************************************************************************** .. image:: ./images/kav5.png - :scale: 50% + :scale: 100% :alt: Kavraisky V diff --git a/docs/source/operations/projections/kav7.rst b/docs/source/operations/projections/kav7.rst index 8371e6ea..1ada3048 100644 --- a/docs/source/operations/projections/kav7.rst +++ b/docs/source/operations/projections/kav7.rst @@ -5,6 +5,6 @@ Kavraisky VII ******************************************************************************** .. image:: ./images/kav7.png - :scale: 50% + :scale: 100% :alt: Kavraisky VII diff --git a/docs/source/operations/projections/krovak.rst b/docs/source/operations/projections/krovak.rst index 6c774825..3ebb4216 100644 --- a/docs/source/operations/projections/krovak.rst +++ b/docs/source/operations/projections/krovak.rst @@ -5,6 +5,6 @@ Krovak ******************************************************************************** .. image:: ./images/krovak.png - :scale: 50% + :scale: 100% :alt: Krovak diff --git a/docs/source/operations/projections/labrd.rst b/docs/source/operations/projections/labrd.rst index 5be58db5..0efa3e17 100644 --- a/docs/source/operations/projections/labrd.rst +++ b/docs/source/operations/projections/labrd.rst @@ -5,6 +5,6 @@ Laborde ******************************************************************************** .. image:: ./images/labrd.png - :scale: 50% + :scale: 100% :alt: Laborde diff --git a/docs/source/operations/projections/laea.rst b/docs/source/operations/projections/laea.rst index 2377f294..ee28a0d0 100644 --- a/docs/source/operations/projections/laea.rst +++ b/docs/source/operations/projections/laea.rst @@ -5,6 +5,6 @@ Lambert Azimuthal Equal Area ******************************************************************************** .. image:: ./images/laea.png - :scale: 50% + :scale: 100% :alt: Lambert Azimuthal Equal Area diff --git a/docs/source/operations/projections/lagrng.rst b/docs/source/operations/projections/lagrng.rst index de9e5640..6e4d68c2 100644 --- a/docs/source/operations/projections/lagrng.rst +++ b/docs/source/operations/projections/lagrng.rst @@ -5,6 +5,6 @@ Lagrange ******************************************************************************** .. image:: ./images/lagrng.png - :scale: 50% + :scale: 100% :alt: Lagrange diff --git a/docs/source/operations/projections/larr.rst b/docs/source/operations/projections/larr.rst index 9529f83f..23791ea7 100644 --- a/docs/source/operations/projections/larr.rst +++ b/docs/source/operations/projections/larr.rst @@ -5,6 +5,6 @@ Larrivee ******************************************************************************** .. image:: ./images/larr.png - :scale: 50% + :scale: 100% :alt: Larrivee diff --git a/docs/source/operations/projections/lask.rst b/docs/source/operations/projections/lask.rst index d34dc8a0..cbd68334 100644 --- a/docs/source/operations/projections/lask.rst +++ b/docs/source/operations/projections/lask.rst @@ -5,6 +5,6 @@ Laskowski ******************************************************************************** .. image:: ./images/lask.png - :scale: 50% + :scale: 100% :alt: Laskowski diff --git a/docs/source/operations/projections/lcc.rst b/docs/source/operations/projections/lcc.rst index a3075e76..56a7daee 100644 --- a/docs/source/operations/projections/lcc.rst +++ b/docs/source/operations/projections/lcc.rst @@ -5,6 +5,6 @@ Lambert Conformal Conic ******************************************************************************** .. image:: ./images/lcc.png - :scale: 50% + :scale: 100% :alt: Lambert Conformal Conic diff --git a/docs/source/operations/projections/lcca.rst b/docs/source/operations/projections/lcca.rst index ca87e67e..ab76334d 100644 --- a/docs/source/operations/projections/lcca.rst +++ b/docs/source/operations/projections/lcca.rst @@ -5,6 +5,6 @@ Lambert Conformal Conic Alternative ******************************************************************************** .. image:: ./images/lcca.png - :scale: 50% + :scale: 100% :alt: Lambert Conformal Conic Alternative diff --git a/docs/source/operations/projections/leac.rst b/docs/source/operations/projections/leac.rst index 2957798e..bafccafa 100644 --- a/docs/source/operations/projections/leac.rst +++ b/docs/source/operations/projections/leac.rst @@ -5,6 +5,6 @@ Lambert Equal Area Conic ******************************************************************************** .. image:: ./images/leac.png - :scale: 50% + :scale: 100% :alt: Lambert Equal Area Conic diff --git a/docs/source/operations/projections/lee_os.rst b/docs/source/operations/projections/lee_os.rst index 711dc754..3ba6fccd 100644 --- a/docs/source/operations/projections/lee_os.rst +++ b/docs/source/operations/projections/lee_os.rst @@ -5,6 +5,6 @@ Lee Oblated Stereographic ******************************************************************************** .. image:: ./images/lee_os.png - :scale: 50% + :scale: 100% :alt: Lee Oblated Stereographic diff --git a/docs/source/operations/projections/loxim.rst b/docs/source/operations/projections/loxim.rst index e50ba472..5766ef97 100644 --- a/docs/source/operations/projections/loxim.rst +++ b/docs/source/operations/projections/loxim.rst @@ -5,6 +5,6 @@ Loximuthal ******************************************************************************** .. image:: ./images/loxim.png - :scale: 50% + :scale: 100% :alt: Loximuthal diff --git a/docs/source/operations/projections/lsat.rst b/docs/source/operations/projections/lsat.rst index fb64bdb2..bc0257e5 100644 --- a/docs/source/operations/projections/lsat.rst +++ b/docs/source/operations/projections/lsat.rst @@ -5,6 +5,6 @@ Space oblique for LANDSAT ******************************************************************************** .. image:: ./images/lsat.png - :scale: 50% + :scale: 100% :alt: Space oblique for LANDSAT diff --git a/docs/source/operations/projections/mbt_fps.rst b/docs/source/operations/projections/mbt_fps.rst index 55ebcf6c..5be6634a 100644 --- a/docs/source/operations/projections/mbt_fps.rst +++ b/docs/source/operations/projections/mbt_fps.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Pole Sine (No. 2) ******************************************************************************** .. image:: ./images/mbt_fps.png - :scale: 50% + :scale: 100% :alt: McBryde-Thomas Flat-Pole Sine (No. 2) diff --git a/docs/source/operations/projections/mbt_s.rst b/docs/source/operations/projections/mbt_s.rst index 9a355ec8..3731e019 100644 --- a/docs/source/operations/projections/mbt_s.rst +++ b/docs/source/operations/projections/mbt_s.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Polar Sine (No. 1) ******************************************************************************** .. image:: ./images/mbt_s.png - :scale: 50% + :scale: 100% :alt: McBryde-Thomas Flat-Polar Sine (No. 1) diff --git a/docs/source/operations/projections/mbtfpp.rst b/docs/source/operations/projections/mbtfpp.rst index 9be309d9..b8dc4c65 100644 --- a/docs/source/operations/projections/mbtfpp.rst +++ b/docs/source/operations/projections/mbtfpp.rst @@ -5,6 +5,6 @@ McBride-Thomas Flat-Polar Parabolic ******************************************************************************** .. image:: ./images/mbtfpp.png - :scale: 50% + :scale: 100% :alt: McBride-Thomas Flat-Polar Parabolic diff --git a/docs/source/operations/projections/mbtfpq.rst b/docs/source/operations/projections/mbtfpq.rst index 295e814d..47461256 100644 --- a/docs/source/operations/projections/mbtfpq.rst +++ b/docs/source/operations/projections/mbtfpq.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Polar Quartic ******************************************************************************** .. image:: ./images/mbtfpq.png - :scale: 50% + :scale: 100% :alt: McBryde-Thomas Flat-Polar Quartic diff --git a/docs/source/operations/projections/mbtfps.rst b/docs/source/operations/projections/mbtfps.rst index b9365361..bae81f49 100644 --- a/docs/source/operations/projections/mbtfps.rst +++ b/docs/source/operations/projections/mbtfps.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Polar Sinusoidal ******************************************************************************** .. image:: ./images/mbtfps.png - :scale: 50% + :scale: 100% :alt: McBryde-Thomas Flat-Polar Sinusoidal diff --git a/docs/source/operations/projections/merc.rst b/docs/source/operations/projections/merc.rst index 2d419c02..301d7cfb 100644 --- a/docs/source/operations/projections/merc.rst +++ b/docs/source/operations/projections/merc.rst @@ -26,7 +26,7 @@ The projection is conformal which makes it suitable for navigational purposes. +---------------------+----------------------------------------------------------+ .. image:: ./images/merc.png - :scale: 50% + :scale: 100% :alt: Mercator diff --git a/docs/source/operations/projections/mil_os.rst b/docs/source/operations/projections/mil_os.rst index 5547e43c..1e0de842 100644 --- a/docs/source/operations/projections/mil_os.rst +++ b/docs/source/operations/projections/mil_os.rst @@ -5,6 +5,6 @@ Miller Oblated Stereographic ******************************************************************************** .. image:: ./images/mil_os.png - :scale: 50% + :scale: 100% :alt: Miller Oblated Stereographic diff --git a/docs/source/operations/projections/mill.rst b/docs/source/operations/projections/mill.rst index 718d4b9b..88f0382a 100644 --- a/docs/source/operations/projections/mill.rst +++ b/docs/source/operations/projections/mill.rst @@ -25,7 +25,7 @@ The latitude is scaled by a factor of :math:`\frac{4}{5}`, projected according t .. image:: ./images/mill.png - :scale: 50% + :scale: 100% :alt: Miller Cylindrical Usage diff --git a/docs/source/operations/projections/moll.rst b/docs/source/operations/projections/moll.rst index 1bd3d005..44be38ab 100644 --- a/docs/source/operations/projections/moll.rst +++ b/docs/source/operations/projections/moll.rst @@ -5,6 +5,6 @@ Mollweide ******************************************************************************** .. image:: ./images/moll.png - :scale: 50% + :scale: 100% :alt: Mollweide diff --git a/docs/source/operations/projections/murd1.rst b/docs/source/operations/projections/murd1.rst index 71cbf155..f20aae8c 100644 --- a/docs/source/operations/projections/murd1.rst +++ b/docs/source/operations/projections/murd1.rst @@ -5,6 +5,6 @@ Murdoch I ******************************************************************************** .. image:: ./images/murd1.png - :scale: 50% + :scale: 100% :alt: Murdoch I diff --git a/docs/source/operations/projections/murd2.rst b/docs/source/operations/projections/murd2.rst index b55cde35..4c9b0714 100644 --- a/docs/source/operations/projections/murd2.rst +++ b/docs/source/operations/projections/murd2.rst @@ -5,6 +5,6 @@ Murdoch II ******************************************************************************** .. image:: ./images/murd2.png - :scale: 50% + :scale: 100% :alt: Murdoch II diff --git a/docs/source/operations/projections/murd3.rst b/docs/source/operations/projections/murd3.rst index 70cc9276..94fb86e3 100644 --- a/docs/source/operations/projections/murd3.rst +++ b/docs/source/operations/projections/murd3.rst @@ -5,6 +5,6 @@ Murdoch III ******************************************************************************** .. image:: ./images/murd3.png - :scale: 50% + :scale: 100% :alt: Murdoch III diff --git a/docs/source/operations/projections/natearth.rst b/docs/source/operations/projections/natearth.rst index 4d304fab..d3c4e683 100644 --- a/docs/source/operations/projections/natearth.rst +++ b/docs/source/operations/projections/natearth.rst @@ -22,7 +22,7 @@ Natural Earth .. image:: ./images/natearth.png - :scale: 50% + :scale: 100% :alt: Natural Earth diff --git a/docs/source/operations/projections/nell.rst b/docs/source/operations/projections/nell.rst index c6a3771c..16e1eb71 100644 --- a/docs/source/operations/projections/nell.rst +++ b/docs/source/operations/projections/nell.rst @@ -5,6 +5,6 @@ Nell ******************************************************************************** .. image:: ./images/nell.png - :scale: 50% + :scale: 100% :alt: Nell diff --git a/docs/source/operations/projections/nell_h.rst b/docs/source/operations/projections/nell_h.rst index 6a3b26ba..53a3451a 100644 --- a/docs/source/operations/projections/nell_h.rst +++ b/docs/source/operations/projections/nell_h.rst @@ -5,6 +5,6 @@ Nell-Hammer ******************************************************************************** .. image:: ./images/nell_h.png - :scale: 50% + :scale: 100% :alt: Nell-Hammer diff --git a/docs/source/operations/projections/nicol.rst b/docs/source/operations/projections/nicol.rst index 995cedb5..0b3f17cc 100644 --- a/docs/source/operations/projections/nicol.rst +++ b/docs/source/operations/projections/nicol.rst @@ -5,6 +5,6 @@ Nicolosi Globular ******************************************************************************** .. image:: ./images/nicol.png - :scale: 50% + :scale: 100% :alt: Nicolosi Globular diff --git a/docs/source/operations/projections/nsper.rst b/docs/source/operations/projections/nsper.rst index d7611587..d0a7d690 100644 --- a/docs/source/operations/projections/nsper.rst +++ b/docs/source/operations/projections/nsper.rst @@ -25,7 +25,7 @@ The near-sided perspective projection simulates a view from a height .. image:: ./images/nsper.png - :scale: 50% + :scale: 100% :alt: Near-sided perspective Parameters diff --git a/docs/source/operations/projections/nzmg.rst b/docs/source/operations/projections/nzmg.rst index 926655d8..f25c5e9d 100644 --- a/docs/source/operations/projections/nzmg.rst +++ b/docs/source/operations/projections/nzmg.rst @@ -5,6 +5,6 @@ New Zealand Map Grid ******************************************************************************** .. image:: ./images/nzmg.png - :scale: 50% + :scale: 100% :alt: New Zealand Map Grid diff --git a/docs/source/operations/projections/ob_tran.rst b/docs/source/operations/projections/ob_tran.rst index 3c996336..c0110bf2 100644 --- a/docs/source/operations/projections/ob_tran.rst +++ b/docs/source/operations/projections/ob_tran.rst @@ -5,6 +5,6 @@ General Oblique Transformation ******************************************************************************** .. image:: ./images/ob_tran.png - :scale: 50% + :scale: 100% :alt: General Oblique Transformation diff --git a/docs/source/operations/projections/ocea.rst b/docs/source/operations/projections/ocea.rst index 40005d9e..d4fd0d20 100644 --- a/docs/source/operations/projections/ocea.rst +++ b/docs/source/operations/projections/ocea.rst @@ -5,6 +5,6 @@ Oblique Cylindrical Equal Area ******************************************************************************** .. image:: ./images/ocea.png - :scale: 50% + :scale: 100% :alt: Oblique Cylindrical Equal Area diff --git a/docs/source/operations/projections/oea.rst b/docs/source/operations/projections/oea.rst index 379dc157..bbc88af3 100644 --- a/docs/source/operations/projections/oea.rst +++ b/docs/source/operations/projections/oea.rst @@ -5,6 +5,6 @@ Oblated Equal Area ******************************************************************************** .. image:: ./images/oea.png - :scale: 50% + :scale: 100% :alt: Oblated Equal Area diff --git a/docs/source/operations/projections/omerc.rst b/docs/source/operations/projections/omerc.rst index 114b9fa3..682e9975 100644 --- a/docs/source/operations/projections/omerc.rst +++ b/docs/source/operations/projections/omerc.rst @@ -5,6 +5,6 @@ Oblique Mercator ******************************************************************************** .. image:: ./images/omerc.png - :scale: 50% + :scale: 100% :alt: Oblique Mercator diff --git a/docs/source/operations/projections/ortel.rst b/docs/source/operations/projections/ortel.rst index 03f132ef..a91d2e67 100644 --- a/docs/source/operations/projections/ortel.rst +++ b/docs/source/operations/projections/ortel.rst @@ -5,6 +5,6 @@ Ortelius Oval ******************************************************************************** .. image:: ./images/ortel.png - :scale: 50% + :scale: 100% :alt: Ortelius Oval diff --git a/docs/source/operations/projections/ortho.rst b/docs/source/operations/projections/ortho.rst index 5e96e2a2..fe27a11c 100644 --- a/docs/source/operations/projections/ortho.rst +++ b/docs/source/operations/projections/ortho.rst @@ -25,7 +25,7 @@ around a given latitude and longitude. +---------------------+--------------------------------------------------------+ .. image:: ./images/ortho.png - :scale: 50% + :scale: 100% :alt: Orthographic Parameters diff --git a/docs/source/operations/projections/pconic.rst b/docs/source/operations/projections/pconic.rst index 6bc0018e..c11c3b74 100644 --- a/docs/source/operations/projections/pconic.rst +++ b/docs/source/operations/projections/pconic.rst @@ -5,6 +5,6 @@ Perspective Conic ******************************************************************************** .. image:: ./images/pconic.png - :scale: 50% + :scale: 100% :alt: Perspective Conic diff --git a/docs/source/operations/projections/poly.rst b/docs/source/operations/projections/poly.rst index e252feb5..31796a94 100644 --- a/docs/source/operations/projections/poly.rst +++ b/docs/source/operations/projections/poly.rst @@ -5,6 +5,6 @@ Polyconic (American) ******************************************************************************** .. image:: ./images/poly.png - :scale: 50% + :scale: 100% :alt: Polyconic (American) diff --git a/docs/source/operations/projections/putp1.rst b/docs/source/operations/projections/putp1.rst index 68971a46..b12da0ec 100644 --- a/docs/source/operations/projections/putp1.rst +++ b/docs/source/operations/projections/putp1.rst @@ -5,6 +5,6 @@ Putnins P1 ******************************************************************************** .. image:: ./images/putp1.png - :scale: 50% + :scale: 100% :alt: Putnins P1 diff --git a/docs/source/operations/projections/putp2.rst b/docs/source/operations/projections/putp2.rst index 01ea8073..9aa96fea 100644 --- a/docs/source/operations/projections/putp2.rst +++ b/docs/source/operations/projections/putp2.rst @@ -5,6 +5,6 @@ Putnins P2 ******************************************************************************** .. image:: ./images/putp2.png - :scale: 50% + :scale: 100% :alt: Putnins P2 diff --git a/docs/source/operations/projections/putp3.rst b/docs/source/operations/projections/putp3.rst index 3aa6b9e6..f589335a 100644 --- a/docs/source/operations/projections/putp3.rst +++ b/docs/source/operations/projections/putp3.rst @@ -5,6 +5,6 @@ Putnins P3 ******************************************************************************** .. image:: ./images/putp3.png - :scale: 50% + :scale: 100% :alt: Putnins P3 diff --git a/docs/source/operations/projections/putp3p.rst b/docs/source/operations/projections/putp3p.rst index 5b87512e..f47622e5 100644 --- a/docs/source/operations/projections/putp3p.rst +++ b/docs/source/operations/projections/putp3p.rst @@ -5,6 +5,6 @@ Putnins P3' ******************************************************************************** .. image:: ./images/putp3p.png - :scale: 50% + :scale: 100% :alt: Putnins P3' diff --git a/docs/source/operations/projections/putp4p.rst b/docs/source/operations/projections/putp4p.rst index b211ad9b..ce73e1ee 100644 --- a/docs/source/operations/projections/putp4p.rst +++ b/docs/source/operations/projections/putp4p.rst @@ -5,6 +5,6 @@ Putnins P4' ******************************************************************************** .. image:: ./images/putp4p.png - :scale: 50% + :scale: 100% :alt: Putnins P4' diff --git a/docs/source/operations/projections/putp5.rst b/docs/source/operations/projections/putp5.rst index 5b60a961..65ed1509 100644 --- a/docs/source/operations/projections/putp5.rst +++ b/docs/source/operations/projections/putp5.rst @@ -5,6 +5,6 @@ Putnins P5 ******************************************************************************** .. image:: ./images/putp5.png - :scale: 50% + :scale: 100% :alt: Putnins P5 diff --git a/docs/source/operations/projections/putp5p.rst b/docs/source/operations/projections/putp5p.rst index f586b889..2014ff9b 100644 --- a/docs/source/operations/projections/putp5p.rst +++ b/docs/source/operations/projections/putp5p.rst @@ -5,6 +5,6 @@ Putnins P5' ******************************************************************************** .. image:: ./images/putp5p.png - :scale: 50% + :scale: 100% :alt: Putnins P5' diff --git a/docs/source/operations/projections/putp6.rst b/docs/source/operations/projections/putp6.rst index 94683ace..68d36ca1 100644 --- a/docs/source/operations/projections/putp6.rst +++ b/docs/source/operations/projections/putp6.rst @@ -5,6 +5,6 @@ Putnins P6 ******************************************************************************** .. image:: ./images/putp6.png - :scale: 50% + :scale: 100% :alt: Putnins P6 diff --git a/docs/source/operations/projections/putp6p.rst b/docs/source/operations/projections/putp6p.rst index 8c3add71..2a01ddd1 100644 --- a/docs/source/operations/projections/putp6p.rst +++ b/docs/source/operations/projections/putp6p.rst @@ -5,6 +5,6 @@ Putnins P6' ******************************************************************************** .. image:: ./images/putp6p.png - :scale: 50% + :scale: 100% :alt: Putnins P6' diff --git a/docs/source/operations/projections/qsc.rst b/docs/source/operations/projections/qsc.rst index 56d4ea3f..6cfb76cb 100644 --- a/docs/source/operations/projections/qsc.rst +++ b/docs/source/operations/projections/qsc.rst @@ -114,32 +114,32 @@ The resulting images can be laid out in a grid like below. .. |topside| image:: ../../../images/qsc_topside.jpg - :scale: 50% + :scale: 100% :align: middle :alt: Top side .. |leftside| image:: ../../../images/qsc_leftside.jpg - :scale: 50% + :scale: 100% :align: middle :alt: Left side .. |frontside| image:: ../../../images/qsc_frontside.jpg - :scale: 50% + :scale: 100% :align: middle :alt: Front side .. |rightside| image:: ../../../images/qsc_rightside.jpg - :scale: 50% + :scale: 100% :align: middle :alt: Right side .. |backside| image:: ../../../images/qsc_backside.jpg - :scale: 50% + :scale: 100% :align: middle :alt: Back side .. |bottomside| image:: ../../../images/qsc_bottomside.jpg - :scale: 50% + :scale: 100% :align: middle :alt: Bottom side diff --git a/docs/source/operations/projections/qua_aut.rst b/docs/source/operations/projections/qua_aut.rst index d3a0aece..514b465a 100644 --- a/docs/source/operations/projections/qua_aut.rst +++ b/docs/source/operations/projections/qua_aut.rst @@ -5,6 +5,6 @@ Quartic Authalic ******************************************************************************** .. image:: ./images/qua_aut.png - :scale: 50% + :scale: 100% :alt: Quartic Authalic diff --git a/docs/source/operations/projections/robin.rst b/docs/source/operations/projections/robin.rst index 3e58be46..a5ad9cf1 100644 --- a/docs/source/operations/projections/robin.rst +++ b/docs/source/operations/projections/robin.rst @@ -5,6 +5,6 @@ Robinson ******************************************************************************** .. image:: ./images/robin.png - :scale: 50% + :scale: 100% :alt: Robinson diff --git a/docs/source/operations/projections/rouss.rst b/docs/source/operations/projections/rouss.rst index e27fb1cf..a6e95ee5 100644 --- a/docs/source/operations/projections/rouss.rst +++ b/docs/source/operations/projections/rouss.rst @@ -5,6 +5,6 @@ Roussilhe Stereographic ******************************************************************************** .. image:: ./images/rouss.png - :scale: 50% + :scale: 100% :alt: Roussilhe Stereographic diff --git a/docs/source/operations/projections/rpoly.rst b/docs/source/operations/projections/rpoly.rst index 80e0d640..0e9f4ed6 100644 --- a/docs/source/operations/projections/rpoly.rst +++ b/docs/source/operations/projections/rpoly.rst @@ -5,6 +5,6 @@ Rectangular Polyconic ******************************************************************************** .. image:: ./images/rpoly.png - :scale: 50% + :scale: 100% :alt: Rectangular Polyconic diff --git a/docs/source/operations/projections/sinu.rst b/docs/source/operations/projections/sinu.rst index a7ebd232..762696fd 100644 --- a/docs/source/operations/projections/sinu.rst +++ b/docs/source/operations/projections/sinu.rst @@ -5,7 +5,7 @@ Sinusoidal (Sanson-Flamsteed) ******************************************************************************** .. image:: ./images/sinu.png - :scale: 50% + :scale: 100% :alt: Sinusoidal (Sanson-Flamsteed) MacBryde and Thomas developed generalized formulas for sever of the diff --git a/docs/source/operations/projections/somerc.rst b/docs/source/operations/projections/somerc.rst index c572622b..7584e63b 100644 --- a/docs/source/operations/projections/somerc.rst +++ b/docs/source/operations/projections/somerc.rst @@ -5,6 +5,6 @@ Swiss. Obl. Mercator ******************************************************************************** .. image:: ./images/somerc.png - :scale: 50% + :scale: 100% :alt: Swiss. Obl. Mercator diff --git a/docs/source/operations/projections/stere.rst b/docs/source/operations/projections/stere.rst index d4958ec9..01943c3a 100644 --- a/docs/source/operations/projections/stere.rst +++ b/docs/source/operations/projections/stere.rst @@ -5,6 +5,6 @@ Stereographic ******************************************************************************** .. image:: ./images/stere.png - :scale: 50% + :scale: 100% :alt: Stereographic diff --git a/docs/source/operations/projections/sterea.rst b/docs/source/operations/projections/sterea.rst index 4f2f8727..f331cf3b 100644 --- a/docs/source/operations/projections/sterea.rst +++ b/docs/source/operations/projections/sterea.rst @@ -5,6 +5,6 @@ Oblique Stereographic Alternative ******************************************************************************** .. image:: ./images/sterea.png - :scale: 50% + :scale: 100% :alt: Oblique Stereographic Alternative diff --git a/docs/source/operations/projections/tcc.rst b/docs/source/operations/projections/tcc.rst index 586dd3b8..6475fef6 100644 --- a/docs/source/operations/projections/tcc.rst +++ b/docs/source/operations/projections/tcc.rst @@ -5,6 +5,6 @@ Transverse Central Cylindrical ******************************************************************************** .. image:: ./images/tcc.png - :scale: 50% + :scale: 100% :alt: Transverse Central Cylindrical diff --git a/docs/source/operations/projections/tcea.rst b/docs/source/operations/projections/tcea.rst index cf5549a3..7516388e 100644 --- a/docs/source/operations/projections/tcea.rst +++ b/docs/source/operations/projections/tcea.rst @@ -5,6 +5,6 @@ Transverse Cylindrical Equal Area ******************************************************************************** .. image:: ./images/tcea.png - :scale: 50% + :scale: 100% :alt: Transverse Cylindrical Equal Area diff --git a/docs/source/operations/projections/tissot.rst b/docs/source/operations/projections/tissot.rst index 7ec1a741..73e3a185 100644 --- a/docs/source/operations/projections/tissot.rst +++ b/docs/source/operations/projections/tissot.rst @@ -5,6 +5,6 @@ Tissot ******************************************************************************** .. image:: ./images/tissot.png - :scale: 50% + :scale: 100% :alt: Tissot diff --git a/docs/source/operations/projections/tmerc.rst b/docs/source/operations/projections/tmerc.rst index cd864d13..20279dbc 100644 --- a/docs/source/operations/projections/tmerc.rst +++ b/docs/source/operations/projections/tmerc.rst @@ -26,7 +26,7 @@ The transverse Mercator projection in its various forms is the most widely used .. image:: ./images/tmerc.png - :scale: 50% + :scale: 100% :alt: Transverse Mercator Usage diff --git a/docs/source/operations/projections/tpeqd.rst b/docs/source/operations/projections/tpeqd.rst index e6d7ef29..884b0620 100644 --- a/docs/source/operations/projections/tpeqd.rst +++ b/docs/source/operations/projections/tpeqd.rst @@ -5,6 +5,6 @@ Two Point Equidistant ******************************************************************************** .. image:: ./images/tpeqd.png - :scale: 50% + :scale: 100% :alt: Two Point Equidistant diff --git a/docs/source/operations/projections/tpers.rst b/docs/source/operations/projections/tpers.rst index 1d36b07c..79ef02cb 100644 --- a/docs/source/operations/projections/tpers.rst +++ b/docs/source/operations/projections/tpers.rst @@ -22,7 +22,7 @@ Tilted perspective .. image:: ./images/tpers.png - :scale: 50% + :scale: 100% :alt: Tilted perspective diff --git a/docs/source/operations/projections/ups.rst b/docs/source/operations/projections/ups.rst index 7a9ab50b..be99c946 100644 --- a/docs/source/operations/projections/ups.rst +++ b/docs/source/operations/projections/ups.rst @@ -5,6 +5,6 @@ Universal Polar Stereographic ******************************************************************************** .. image:: ./images/ups.png - :scale: 50% + :scale: 100% :alt: Universal Polar Stereographic diff --git a/docs/source/operations/projections/urm5.rst b/docs/source/operations/projections/urm5.rst index 91d06308..fe84259b 100644 --- a/docs/source/operations/projections/urm5.rst +++ b/docs/source/operations/projections/urm5.rst @@ -5,6 +5,6 @@ Urmaev V ******************************************************************************** .. image:: ./images/urm5.png - :scale: 50% + :scale: 100% :alt: Urmaev V diff --git a/docs/source/operations/projections/urmfps.rst b/docs/source/operations/projections/urmfps.rst index 515ced84..eca1d328 100644 --- a/docs/source/operations/projections/urmfps.rst +++ b/docs/source/operations/projections/urmfps.rst @@ -5,6 +5,6 @@ Urmaev Flat-Polar Sinusoidal ******************************************************************************** .. image:: ./images/urmfps.png - :scale: 50% + :scale: 100% :alt: Urmaev Flat-Polar Sinusoidal diff --git a/docs/source/operations/projections/utm.rst b/docs/source/operations/projections/utm.rst index 7fb66cb8..d26b57e1 100644 --- a/docs/source/operations/projections/utm.rst +++ b/docs/source/operations/projections/utm.rst @@ -5,6 +5,6 @@ Universal Transverse Mercator (UTM) ******************************************************************************** .. image:: ./images/utm.png - :scale: 50% + :scale: 100% :alt: Universal Transverse Mercator (UTM) diff --git a/docs/source/operations/projections/vandg.rst b/docs/source/operations/projections/vandg.rst index cdc772bb..9acbe720 100644 --- a/docs/source/operations/projections/vandg.rst +++ b/docs/source/operations/projections/vandg.rst @@ -5,6 +5,6 @@ van der Grinten (I) ******************************************************************************** .. image:: ./images/vandg.png - :scale: 50% + :scale: 100% :alt: van der Grinten (I) diff --git a/docs/source/operations/projections/vandg2.rst b/docs/source/operations/projections/vandg2.rst index 556929e2..cc8f11ca 100644 --- a/docs/source/operations/projections/vandg2.rst +++ b/docs/source/operations/projections/vandg2.rst @@ -5,6 +5,6 @@ van der Grinten II ******************************************************************************** .. image:: ./images/vandg2.png - :scale: 50% + :scale: 100% :alt: van der Grinten II diff --git a/docs/source/operations/projections/vandg3.rst b/docs/source/operations/projections/vandg3.rst index d767c4d5..4c2cb860 100644 --- a/docs/source/operations/projections/vandg3.rst +++ b/docs/source/operations/projections/vandg3.rst @@ -5,6 +5,6 @@ van der Grinten III ******************************************************************************** .. image:: ./images/vandg3.png - :scale: 50% + :scale: 100% :alt: van der Grinten III diff --git a/docs/source/operations/projections/vandg4.rst b/docs/source/operations/projections/vandg4.rst index 097ba1d8..8b350710 100644 --- a/docs/source/operations/projections/vandg4.rst +++ b/docs/source/operations/projections/vandg4.rst @@ -5,6 +5,6 @@ van der Grinten IV ******************************************************************************** .. image:: ./images/vandg4.png - :scale: 50% + :scale: 100% :alt: van der Grinten IV diff --git a/docs/source/operations/projections/vitk1.rst b/docs/source/operations/projections/vitk1.rst index b9081547..6470ef55 100644 --- a/docs/source/operations/projections/vitk1.rst +++ b/docs/source/operations/projections/vitk1.rst @@ -5,6 +5,6 @@ Vitkovsky I ******************************************************************************** .. image:: ./images/vitk1.png - :scale: 50% + :scale: 100% :alt: Vitkovsky I diff --git a/docs/source/operations/projections/wag1.rst b/docs/source/operations/projections/wag1.rst index dd1ed39e..d085391c 100644 --- a/docs/source/operations/projections/wag1.rst +++ b/docs/source/operations/projections/wag1.rst @@ -5,6 +5,6 @@ Wagner I (Kavraisky VI) ******************************************************************************** .. image:: ./images/wag1.png - :scale: 50% + :scale: 100% :alt: Wagner I (Kavraisky VI) diff --git a/docs/source/operations/projections/wag2.rst b/docs/source/operations/projections/wag2.rst index 9c7b0edc..1f0a2682 100644 --- a/docs/source/operations/projections/wag2.rst +++ b/docs/source/operations/projections/wag2.rst @@ -5,7 +5,7 @@ Wagner II ******************************************************************************** .. image:: ./images/wag2.png - :scale: 50% + :scale: 100% :alt: Wagner II diff --git a/docs/source/operations/projections/wag3.rst b/docs/source/operations/projections/wag3.rst index fb70a0a6..43e89471 100644 --- a/docs/source/operations/projections/wag3.rst +++ b/docs/source/operations/projections/wag3.rst @@ -5,7 +5,7 @@ Wagner III ******************************************************************************** .. image:: ./images/wag3.png - :scale: 50% + :scale: 100% :alt: Wagner III diff --git a/docs/source/operations/projections/wag4.rst b/docs/source/operations/projections/wag4.rst index 7b8dac96..a68e55c4 100644 --- a/docs/source/operations/projections/wag4.rst +++ b/docs/source/operations/projections/wag4.rst @@ -5,6 +5,6 @@ Wagner IV ******************************************************************************** .. image:: ./images/wag4.png - :scale: 50% + :scale: 100% :alt: Wagner IV diff --git a/docs/source/operations/projections/wag5.rst b/docs/source/operations/projections/wag5.rst index f880290b..c6753c43 100644 --- a/docs/source/operations/projections/wag5.rst +++ b/docs/source/operations/projections/wag5.rst @@ -5,6 +5,6 @@ Wagner V ******************************************************************************** .. image:: ./images/wag5.png - :scale: 50% + :scale: 100% :alt: Wagner V diff --git a/docs/source/operations/projections/wag6.rst b/docs/source/operations/projections/wag6.rst index f74749a5..cf714133 100644 --- a/docs/source/operations/projections/wag6.rst +++ b/docs/source/operations/projections/wag6.rst @@ -5,6 +5,6 @@ Wagner VI ******************************************************************************** .. image:: ./images/wag6.png - :scale: 50% + :scale: 100% :alt: Wagner VI diff --git a/docs/source/operations/projections/wag7.rst b/docs/source/operations/projections/wag7.rst index be1401b8..cb3fc06f 100644 --- a/docs/source/operations/projections/wag7.rst +++ b/docs/source/operations/projections/wag7.rst @@ -5,6 +5,6 @@ Wagner VII ******************************************************************************** .. image:: ./images/wag7.png - :scale: 50% + :scale: 100% :alt: Wagner VII diff --git a/docs/source/operations/projections/weren.rst b/docs/source/operations/projections/weren.rst index de7c5abf..01fdb290 100644 --- a/docs/source/operations/projections/weren.rst +++ b/docs/source/operations/projections/weren.rst @@ -5,6 +5,6 @@ Werenskiold I ******************************************************************************** .. image:: ./images/weren.png - :scale: 50% + :scale: 100% :alt: Werenskiold I diff --git a/docs/source/operations/projections/wink1.rst b/docs/source/operations/projections/wink1.rst index 00346765..5f7c877b 100644 --- a/docs/source/operations/projections/wink1.rst +++ b/docs/source/operations/projections/wink1.rst @@ -5,6 +5,6 @@ Winkel I ******************************************************************************** .. image:: ./images/wink1.png - :scale: 50% + :scale: 100% :alt: Winkel I diff --git a/docs/source/operations/projections/wink2.rst b/docs/source/operations/projections/wink2.rst index 7e9b48a7..41f100c1 100644 --- a/docs/source/operations/projections/wink2.rst +++ b/docs/source/operations/projections/wink2.rst @@ -5,6 +5,6 @@ Winkel II ******************************************************************************** .. image:: ./images/wink2.png - :scale: 50% + :scale: 100% :alt: Winkel II diff --git a/docs/source/operations/projections/wintri.rst b/docs/source/operations/projections/wintri.rst index bfd5032f..270cb69c 100644 --- a/docs/source/operations/projections/wintri.rst +++ b/docs/source/operations/projections/wintri.rst @@ -5,6 +5,6 @@ Winkel Tripel ******************************************************************************** .. image:: ./images/wintri.png - :scale: 50% + :scale: 100% :alt: Winkel Tripel -- cgit v1.2.3 From 6284d19e1d2efdc60fd3752187c275e345ab423b Mon Sep 17 00:00:00 2001 From: Kristian Evers Date: Mon, 14 May 2018 22:14:01 +0200 Subject: Revert "Set projection plot scale to 100% for better PDF output" This had unexpected side-effects when building the HTML docs on Travis compared to locally. The correct solution would be to set different scaling depending on the output. This reverts commit 325477ed0fac2c9233c2f6a2b7bb4125e04df24c. --- docs/source/operations/projections/aea.rst | 2 +- docs/source/operations/projections/aeqd.rst | 2 +- docs/source/operations/projections/airy.rst | 2 +- docs/source/operations/projections/aitoff.rst | 2 +- docs/source/operations/projections/alsk.rst | 2 +- docs/source/operations/projections/apian.rst | 2 +- docs/source/operations/projections/august.rst | 2 +- docs/source/operations/projections/bacon.rst | 2 +- docs/source/operations/projections/bipc.rst | 2 +- docs/source/operations/projections/boggs.rst | 2 +- docs/source/operations/projections/bonne.rst | 2 +- docs/source/operations/projections/calcofi.rst | 2 +- docs/source/operations/projections/cass.rst | 2 +- docs/source/operations/projections/cc.rst | 2 +- docs/source/operations/projections/ccon.rst | 2 +- docs/source/operations/projections/cea.rst | 2 +- docs/source/operations/projections/chamb.rst | 2 +- docs/source/operations/projections/collg.rst | 2 +- docs/source/operations/projections/crast.rst | 2 +- docs/source/operations/projections/denoy.rst | 2 +- docs/source/operations/projections/eck1.rst | 2 +- docs/source/operations/projections/eck2.rst | 2 +- docs/source/operations/projections/eck3.rst | 2 +- docs/source/operations/projections/eck4.rst | 2 +- docs/source/operations/projections/eck5.rst | 2 +- docs/source/operations/projections/eck6.rst | 2 +- docs/source/operations/projections/eqc.rst | 2 +- docs/source/operations/projections/eqdc.rst | 2 +- docs/source/operations/projections/etmerc.rst | 2 +- docs/source/operations/projections/euler.rst | 2 +- docs/source/operations/projections/fahey.rst | 2 +- docs/source/operations/projections/fouc.rst | 2 +- docs/source/operations/projections/fouc_s.rst | 2 +- docs/source/operations/projections/gall.rst | 2 +- docs/source/operations/projections/geos.rst | 3 +-- docs/source/operations/projections/gins8.rst | 2 +- docs/source/operations/projections/gn_sinu.rst | 2 +- docs/source/operations/projections/gnom.rst | 2 +- docs/source/operations/projections/goode.rst | 2 +- docs/source/operations/projections/gs48.rst | 2 +- docs/source/operations/projections/gs50.rst | 2 +- docs/source/operations/projections/gstmerc.rst | 2 +- docs/source/operations/projections/hammer.rst | 2 +- docs/source/operations/projections/hatano.rst | 2 +- docs/source/operations/projections/healpix.rst | 1 - docs/source/operations/projections/igh.rst | 2 +- docs/source/operations/projections/imw_p.rst | 2 +- docs/source/operations/projections/isea.rst | 2 +- docs/source/operations/projections/kav5.rst | 2 +- docs/source/operations/projections/kav7.rst | 2 +- docs/source/operations/projections/krovak.rst | 2 +- docs/source/operations/projections/labrd.rst | 2 +- docs/source/operations/projections/laea.rst | 2 +- docs/source/operations/projections/lagrng.rst | 2 +- docs/source/operations/projections/larr.rst | 2 +- docs/source/operations/projections/lask.rst | 2 +- docs/source/operations/projections/lcc.rst | 2 +- docs/source/operations/projections/lcca.rst | 2 +- docs/source/operations/projections/leac.rst | 2 +- docs/source/operations/projections/lee_os.rst | 2 +- docs/source/operations/projections/loxim.rst | 2 +- docs/source/operations/projections/lsat.rst | 2 +- docs/source/operations/projections/mbt_fps.rst | 2 +- docs/source/operations/projections/mbt_s.rst | 2 +- docs/source/operations/projections/mbtfpp.rst | 2 +- docs/source/operations/projections/mbtfpq.rst | 2 +- docs/source/operations/projections/mbtfps.rst | 2 +- docs/source/operations/projections/merc.rst | 2 +- docs/source/operations/projections/mil_os.rst | 2 +- docs/source/operations/projections/mill.rst | 2 +- docs/source/operations/projections/moll.rst | 2 +- docs/source/operations/projections/murd1.rst | 2 +- docs/source/operations/projections/murd2.rst | 2 +- docs/source/operations/projections/murd3.rst | 2 +- docs/source/operations/projections/natearth.rst | 2 +- docs/source/operations/projections/nell.rst | 2 +- docs/source/operations/projections/nell_h.rst | 2 +- docs/source/operations/projections/nicol.rst | 2 +- docs/source/operations/projections/nsper.rst | 2 +- docs/source/operations/projections/nzmg.rst | 2 +- docs/source/operations/projections/ob_tran.rst | 2 +- docs/source/operations/projections/ocea.rst | 2 +- docs/source/operations/projections/oea.rst | 2 +- docs/source/operations/projections/omerc.rst | 2 +- docs/source/operations/projections/ortel.rst | 2 +- docs/source/operations/projections/ortho.rst | 2 +- docs/source/operations/projections/pconic.rst | 2 +- docs/source/operations/projections/poly.rst | 2 +- docs/source/operations/projections/putp1.rst | 2 +- docs/source/operations/projections/putp2.rst | 2 +- docs/source/operations/projections/putp3.rst | 2 +- docs/source/operations/projections/putp3p.rst | 2 +- docs/source/operations/projections/putp4p.rst | 2 +- docs/source/operations/projections/putp5.rst | 2 +- docs/source/operations/projections/putp5p.rst | 2 +- docs/source/operations/projections/putp6.rst | 2 +- docs/source/operations/projections/putp6p.rst | 2 +- docs/source/operations/projections/qsc.rst | 12 ++++++------ docs/source/operations/projections/qua_aut.rst | 2 +- docs/source/operations/projections/robin.rst | 2 +- docs/source/operations/projections/rouss.rst | 2 +- docs/source/operations/projections/rpoly.rst | 2 +- docs/source/operations/projections/sinu.rst | 2 +- docs/source/operations/projections/somerc.rst | 2 +- docs/source/operations/projections/stere.rst | 2 +- docs/source/operations/projections/sterea.rst | 2 +- docs/source/operations/projections/tcc.rst | 2 +- docs/source/operations/projections/tcea.rst | 2 +- docs/source/operations/projections/tissot.rst | 2 +- docs/source/operations/projections/tmerc.rst | 2 +- docs/source/operations/projections/tpeqd.rst | 2 +- docs/source/operations/projections/tpers.rst | 2 +- docs/source/operations/projections/ups.rst | 2 +- docs/source/operations/projections/urm5.rst | 2 +- docs/source/operations/projections/urmfps.rst | 2 +- docs/source/operations/projections/utm.rst | 2 +- docs/source/operations/projections/vandg.rst | 2 +- docs/source/operations/projections/vandg2.rst | 2 +- docs/source/operations/projections/vandg3.rst | 2 +- docs/source/operations/projections/vandg4.rst | 2 +- docs/source/operations/projections/vitk1.rst | 2 +- docs/source/operations/projections/wag1.rst | 2 +- docs/source/operations/projections/wag2.rst | 2 +- docs/source/operations/projections/wag3.rst | 2 +- docs/source/operations/projections/wag4.rst | 2 +- docs/source/operations/projections/wag5.rst | 2 +- docs/source/operations/projections/wag6.rst | 2 +- docs/source/operations/projections/wag7.rst | 2 +- docs/source/operations/projections/weren.rst | 2 +- docs/source/operations/projections/wink1.rst | 2 +- docs/source/operations/projections/wink2.rst | 2 +- docs/source/operations/projections/wintri.rst | 2 +- 132 files changed, 136 insertions(+), 138 deletions(-) diff --git a/docs/source/operations/projections/aea.rst b/docs/source/operations/projections/aea.rst index c21b8236..4fcd3cac 100644 --- a/docs/source/operations/projections/aea.rst +++ b/docs/source/operations/projections/aea.rst @@ -21,7 +21,7 @@ Albers Equal Area .. image:: ./images/aea.png - :scale: 100% + :scale: 50% :alt: Albers Equal Area Options diff --git a/docs/source/operations/projections/aeqd.rst b/docs/source/operations/projections/aeqd.rst index e9a3e45b..4663af3e 100644 --- a/docs/source/operations/projections/aeqd.rst +++ b/docs/source/operations/projections/aeqd.rst @@ -19,7 +19,7 @@ Azimuthal Equidistant .. image:: ./images/aeqd.png - :scale: 100% + :scale: 50% :alt: Azimuthal Equidistant diff --git a/docs/source/operations/projections/airy.rst b/docs/source/operations/projections/airy.rst index 64ce9fe3..a6e89e30 100644 --- a/docs/source/operations/projections/airy.rst +++ b/docs/source/operations/projections/airy.rst @@ -27,7 +27,7 @@ within the small or great circle defined by an angular distance, .. image:: ./images/airy.png - :scale: 100% + :scale: 50% :alt: Airy Options diff --git a/docs/source/operations/projections/aitoff.rst b/docs/source/operations/projections/aitoff.rst index 357600ec..92ef2f12 100644 --- a/docs/source/operations/projections/aitoff.rst +++ b/docs/source/operations/projections/aitoff.rst @@ -20,7 +20,7 @@ Aitoff +---------------------+----------------------------------------------------------+ .. image:: ./images/aitoff.png - :scale: 100% + :scale: 50% :alt: Aitoff Parameters diff --git a/docs/source/operations/projections/alsk.rst b/docs/source/operations/projections/alsk.rst index 0af63bc8..d08fa827 100644 --- a/docs/source/operations/projections/alsk.rst +++ b/docs/source/operations/projections/alsk.rst @@ -21,7 +21,7 @@ Modified Stererographics of Alaska .. image:: ./images/alsk.png - :scale: 100% + :scale: 50% :alt: Mod. Stererographics of Alaska Options diff --git a/docs/source/operations/projections/apian.rst b/docs/source/operations/projections/apian.rst index 2a57e630..6b5e247d 100644 --- a/docs/source/operations/projections/apian.rst +++ b/docs/source/operations/projections/apian.rst @@ -22,7 +22,7 @@ Apian Globular I .. image:: ./images/apian.png - :scale: 100% + :scale: 50% :alt: Apian Globular I Options diff --git a/docs/source/operations/projections/august.rst b/docs/source/operations/projections/august.rst index 1283ddd7..e2ad3516 100644 --- a/docs/source/operations/projections/august.rst +++ b/docs/source/operations/projections/august.rst @@ -5,6 +5,6 @@ August Epicycloidal ******************************************************************************** .. image:: ./images/august.png - :scale: 100% + :scale: 50% :alt: August Epicycloidal diff --git a/docs/source/operations/projections/bacon.rst b/docs/source/operations/projections/bacon.rst index cf3bf6f8..a87ea7d8 100644 --- a/docs/source/operations/projections/bacon.rst +++ b/docs/source/operations/projections/bacon.rst @@ -5,6 +5,6 @@ Bacon Globular ******************************************************************************** .. image:: ./images/bacon.png - :scale: 100% + :scale: 50% :alt: Bacon Globular diff --git a/docs/source/operations/projections/bipc.rst b/docs/source/operations/projections/bipc.rst index b7981716..7045f04a 100644 --- a/docs/source/operations/projections/bipc.rst +++ b/docs/source/operations/projections/bipc.rst @@ -5,6 +5,6 @@ Bipolar conic of western hemisphere ******************************************************************************** .. image:: ./images/bipc.png - :scale: 100% + :scale: 50% :alt: Bipolar conic of western hemisphere diff --git a/docs/source/operations/projections/boggs.rst b/docs/source/operations/projections/boggs.rst index 23f00c2b..1dd7d19f 100644 --- a/docs/source/operations/projections/boggs.rst +++ b/docs/source/operations/projections/boggs.rst @@ -5,6 +5,6 @@ Boggs Eumorphic ******************************************************************************** .. image:: ./images/boggs.png - :scale: 100% + :scale: 50% :alt: Boggs Eumorphic diff --git a/docs/source/operations/projections/bonne.rst b/docs/source/operations/projections/bonne.rst index d7cb5e7c..ef87d7c9 100644 --- a/docs/source/operations/projections/bonne.rst +++ b/docs/source/operations/projections/bonne.rst @@ -5,6 +5,6 @@ Bonne (Werner lat_1=90) ******************************************************************************** .. image:: ./images/bonne.png - :scale: 100% + :scale: 50% :alt: Bonne (Werner lat_1=90) diff --git a/docs/source/operations/projections/calcofi.rst b/docs/source/operations/projections/calcofi.rst index b28530c5..8a240ebd 100644 --- a/docs/source/operations/projections/calcofi.rst +++ b/docs/source/operations/projections/calcofi.rst @@ -26,7 +26,7 @@ California Cooperative Oceanic Fisheries Investigations program, known as CalCOF .. image:: ../../../images/calcofi.png - :scale: 100% + :scale: 50% :align: center :alt: Cal Coop Ocean Fish Invest Lines/Stations diff --git a/docs/source/operations/projections/cass.rst b/docs/source/operations/projections/cass.rst index 7c009c9c..dba6a7c4 100644 --- a/docs/source/operations/projections/cass.rst +++ b/docs/source/operations/projections/cass.rst @@ -24,7 +24,7 @@ Although the Cassini projection has been largely replaced by the Transverse Merc .. image:: ./images/cass.png - :scale: 100% + :scale: 50% :alt: Cassini Usage diff --git a/docs/source/operations/projections/cc.rst b/docs/source/operations/projections/cc.rst index 6bd86a7b..5b30e6c6 100644 --- a/docs/source/operations/projections/cc.rst +++ b/docs/source/operations/projections/cc.rst @@ -5,6 +5,6 @@ Central Cylindrical ******************************************************************************** .. image:: ./images/cc.png - :scale: 100% + :scale: 50% :alt: Central Cylindrical diff --git a/docs/source/operations/projections/ccon.rst b/docs/source/operations/projections/ccon.rst index 595af087..f5ceed67 100644 --- a/docs/source/operations/projections/ccon.rst +++ b/docs/source/operations/projections/ccon.rst @@ -27,7 +27,7 @@ latitude, identical with ``conic()`` projection from ``mapproj`` R package. .. image:: ./images/ccon.png - :scale: 100% + :scale: 50% :alt: Central Conic diff --git a/docs/source/operations/projections/cea.rst b/docs/source/operations/projections/cea.rst index 0ad964ae..20ebc285 100644 --- a/docs/source/operations/projections/cea.rst +++ b/docs/source/operations/projections/cea.rst @@ -5,6 +5,6 @@ Equal Area Cylindrical ******************************************************************************** .. image:: ./images/cea.png - :scale: 100% + :scale: 50% :alt: Equal Area Cylindrical diff --git a/docs/source/operations/projections/chamb.rst b/docs/source/operations/projections/chamb.rst index 36d3d08f..2ec9bffe 100644 --- a/docs/source/operations/projections/chamb.rst +++ b/docs/source/operations/projections/chamb.rst @@ -5,6 +5,6 @@ Chamberlin Trimetric ******************************************************************************** .. image:: ./images/chamb.png - :scale: 100% + :scale: 50% :alt: Chamberlin Trimetric diff --git a/docs/source/operations/projections/collg.rst b/docs/source/operations/projections/collg.rst index 7fb7269d..aa16182a 100644 --- a/docs/source/operations/projections/collg.rst +++ b/docs/source/operations/projections/collg.rst @@ -5,6 +5,6 @@ Collignon ******************************************************************************** .. image:: ./images/collg.png - :scale: 100% + :scale: 50% :alt: Collignon diff --git a/docs/source/operations/projections/crast.rst b/docs/source/operations/projections/crast.rst index 02ca4063..9d17f274 100644 --- a/docs/source/operations/projections/crast.rst +++ b/docs/source/operations/projections/crast.rst @@ -5,6 +5,6 @@ Craster Parabolic (Putnins P4) ******************************************************************************** .. image:: ./images/crast.png - :scale: 100% + :scale: 50% :alt: Craster Parabolic (Putnins P4) diff --git a/docs/source/operations/projections/denoy.rst b/docs/source/operations/projections/denoy.rst index e879df49..a885ab0e 100644 --- a/docs/source/operations/projections/denoy.rst +++ b/docs/source/operations/projections/denoy.rst @@ -5,6 +5,6 @@ Denoyer Semi-Elliptical ******************************************************************************** .. image:: ./images/denoy.png - :scale: 100% + :scale: 50% :alt: Denoyer Semi-Elliptical diff --git a/docs/source/operations/projections/eck1.rst b/docs/source/operations/projections/eck1.rst index b39b1fd3..841533ec 100644 --- a/docs/source/operations/projections/eck1.rst +++ b/docs/source/operations/projections/eck1.rst @@ -5,7 +5,7 @@ Eckert I ******************************************************************************** .. image:: ./images/eck1.png - :scale: 100% + :scale: 50% :alt: Eckert I diff --git a/docs/source/operations/projections/eck2.rst b/docs/source/operations/projections/eck2.rst index 42b43dba..b1bd3179 100644 --- a/docs/source/operations/projections/eck2.rst +++ b/docs/source/operations/projections/eck2.rst @@ -5,6 +5,6 @@ Eckert II ******************************************************************************** .. image:: ./images/eck2.png - :scale: 100% + :scale: 50% :alt: Eckert II diff --git a/docs/source/operations/projections/eck3.rst b/docs/source/operations/projections/eck3.rst index 535969d8..ecacc32d 100644 --- a/docs/source/operations/projections/eck3.rst +++ b/docs/source/operations/projections/eck3.rst @@ -5,6 +5,6 @@ Eckert III ******************************************************************************** .. image:: ./images/eck3.png - :scale: 100% + :scale: 50% :alt: Eckert III diff --git a/docs/source/operations/projections/eck4.rst b/docs/source/operations/projections/eck4.rst index 96118ae9..3fc6a9fd 100644 --- a/docs/source/operations/projections/eck4.rst +++ b/docs/source/operations/projections/eck4.rst @@ -5,7 +5,7 @@ Eckert IV ******************************************************************************** .. image:: ./images/eck4.png - :scale: 100% + :scale: 50% :alt: Eckert IV diff --git a/docs/source/operations/projections/eck5.rst b/docs/source/operations/projections/eck5.rst index 20383b47..1442d99d 100644 --- a/docs/source/operations/projections/eck5.rst +++ b/docs/source/operations/projections/eck5.rst @@ -5,6 +5,6 @@ Eckert V ******************************************************************************** .. image:: ./images/eck5.png - :scale: 100% + :scale: 50% :alt: Eckert V diff --git a/docs/source/operations/projections/eck6.rst b/docs/source/operations/projections/eck6.rst index 7f30d386..caeaefa6 100644 --- a/docs/source/operations/projections/eck6.rst +++ b/docs/source/operations/projections/eck6.rst @@ -5,6 +5,6 @@ Eckert VI ******************************************************************************** .. image:: ./images/eck6.png - :scale: 100% + :scale: 50% :alt: Eckert VI diff --git a/docs/source/operations/projections/eqc.rst b/docs/source/operations/projections/eqc.rst index 766537b7..de463034 100644 --- a/docs/source/operations/projections/eqc.rst +++ b/docs/source/operations/projections/eqc.rst @@ -24,7 +24,7 @@ The simplest of all projections. Standard parallels (0° when omitted) may be sp .. image:: ./images/eqc.png - :scale: 100% + :scale: 50% :alt: Equidistant Cylindrical (Plate Carrée) Usage diff --git a/docs/source/operations/projections/eqdc.rst b/docs/source/operations/projections/eqdc.rst index f6eb1295..3ee5999d 100644 --- a/docs/source/operations/projections/eqdc.rst +++ b/docs/source/operations/projections/eqdc.rst @@ -5,6 +5,6 @@ Equidistant Conic ******************************************************************************** .. image:: ./images/eqdc.png - :scale: 100% + :scale: 50% :alt: Equidistant Conic diff --git a/docs/source/operations/projections/etmerc.rst b/docs/source/operations/projections/etmerc.rst index bcdc1f18..b7f89032 100644 --- a/docs/source/operations/projections/etmerc.rst +++ b/docs/source/operations/projections/etmerc.rst @@ -5,6 +5,6 @@ Extended Transverse Mercator ******************************************************************************** .. image:: ./images/etmerc.png - :scale: 100% + :scale: 50% :alt: Extended Transverse Mercator diff --git a/docs/source/operations/projections/euler.rst b/docs/source/operations/projections/euler.rst index fc7c892c..e495063f 100644 --- a/docs/source/operations/projections/euler.rst +++ b/docs/source/operations/projections/euler.rst @@ -5,6 +5,6 @@ Euler ******************************************************************************** .. image:: ./images/euler.png - :scale: 100% + :scale: 50% :alt: Euler diff --git a/docs/source/operations/projections/fahey.rst b/docs/source/operations/projections/fahey.rst index 60c95495..2e09337f 100644 --- a/docs/source/operations/projections/fahey.rst +++ b/docs/source/operations/projections/fahey.rst @@ -5,6 +5,6 @@ Fahey ******************************************************************************** .. image:: ./images/fahey.png - :scale: 100% + :scale: 50% :alt: Fahey diff --git a/docs/source/operations/projections/fouc.rst b/docs/source/operations/projections/fouc.rst index e510be23..7467dcb1 100644 --- a/docs/source/operations/projections/fouc.rst +++ b/docs/source/operations/projections/fouc.rst @@ -5,6 +5,6 @@ Foucaut ******************************************************************************** .. image:: ./images/fouc.png - :scale: 100% + :scale: 50% :alt: Foucaut diff --git a/docs/source/operations/projections/fouc_s.rst b/docs/source/operations/projections/fouc_s.rst index cd461794..ac353adb 100644 --- a/docs/source/operations/projections/fouc_s.rst +++ b/docs/source/operations/projections/fouc_s.rst @@ -5,7 +5,7 @@ Foucaut Sinusoidal ******************************************************************************** .. image:: ./images/fouc_s.png - :scale: 100% + :scale: 50% :alt: Foucaut Sinusoidal diff --git a/docs/source/operations/projections/gall.rst b/docs/source/operations/projections/gall.rst index f1abda48..bdb88895 100644 --- a/docs/source/operations/projections/gall.rst +++ b/docs/source/operations/projections/gall.rst @@ -25,7 +25,7 @@ It is neither equal-area nor conformal but instead tries to balance the distorti .. image:: ./images/gall.png - :scale: 100% + :scale: 50% :alt: Gall (Gall Stereographic) Usage diff --git a/docs/source/operations/projections/geos.rst b/docs/source/operations/projections/geos.rst index 317978e2..3dc914b3 100644 --- a/docs/source/operations/projections/geos.rst +++ b/docs/source/operations/projections/geos.rst @@ -25,7 +25,7 @@ scanning angle intervals. .. image:: ./images/geos.png - :scale: 100% + :scale: 50% :alt: Geostationary Satellite View @@ -55,7 +55,6 @@ and a E/W axis (or ``x``). .. image:: ../../..//images/geos_sweep.png :scale: 50% - :align: center :alt: Gimbal geometry In the image above, the outer-gimbal axis, or sweep-angle axis, is the N/S axis (``y``) diff --git a/docs/source/operations/projections/gins8.rst b/docs/source/operations/projections/gins8.rst index 5f85e225..f6adb092 100644 --- a/docs/source/operations/projections/gins8.rst +++ b/docs/source/operations/projections/gins8.rst @@ -5,6 +5,6 @@ Ginsburg VIII (TsNIIGAiK) ******************************************************************************** .. image:: ./images/gins8.png - :scale: 100% + :scale: 50% :alt: Ginsburg VIII (TsNIIGAiK) diff --git a/docs/source/operations/projections/gn_sinu.rst b/docs/source/operations/projections/gn_sinu.rst index c24c3f38..c1017c27 100644 --- a/docs/source/operations/projections/gn_sinu.rst +++ b/docs/source/operations/projections/gn_sinu.rst @@ -5,6 +5,6 @@ General Sinusoidal Series ******************************************************************************** .. image:: ./images/gn_sinu.png - :scale: 100% + :scale: 50% :alt: General Sinusoidal Series diff --git a/docs/source/operations/projections/gnom.rst b/docs/source/operations/projections/gnom.rst index e365296d..08d0db5f 100644 --- a/docs/source/operations/projections/gnom.rst +++ b/docs/source/operations/projections/gnom.rst @@ -5,6 +5,6 @@ Gnomonic ******************************************************************************** .. image:: ./images/gnom.png - :scale: 100% + :scale: 50% :alt: Gnomonic diff --git a/docs/source/operations/projections/goode.rst b/docs/source/operations/projections/goode.rst index 32d5a98b..c4590bf2 100644 --- a/docs/source/operations/projections/goode.rst +++ b/docs/source/operations/projections/goode.rst @@ -5,6 +5,6 @@ Goode Homolosine ******************************************************************************** .. image:: ./images/goode.png - :scale: 100% + :scale: 50% :alt: Goode Homolosine diff --git a/docs/source/operations/projections/gs48.rst b/docs/source/operations/projections/gs48.rst index 3b083f54..bdaa367c 100644 --- a/docs/source/operations/projections/gs48.rst +++ b/docs/source/operations/projections/gs48.rst @@ -5,6 +5,6 @@ Mod. Stererographics of 48 U.S. ******************************************************************************** .. image:: ./images/gs48.png - :scale: 100% + :scale: 50% :alt: Mod. Stererographics of 48 U.S. diff --git a/docs/source/operations/projections/gs50.rst b/docs/source/operations/projections/gs50.rst index 2e8ba5a9..0d4b7e81 100644 --- a/docs/source/operations/projections/gs50.rst +++ b/docs/source/operations/projections/gs50.rst @@ -5,6 +5,6 @@ Mod. Stererographics of 50 U.S. ******************************************************************************** .. image:: ./images/gs50.png - :scale: 100% + :scale: 50% :alt: Mod. Stererographics of 50 U.S. diff --git a/docs/source/operations/projections/gstmerc.rst b/docs/source/operations/projections/gstmerc.rst index d5f1acaa..fc587ab0 100644 --- a/docs/source/operations/projections/gstmerc.rst +++ b/docs/source/operations/projections/gstmerc.rst @@ -5,6 +5,6 @@ Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) ******************************************************************************** .. image:: ./images/gstmerc.png - :scale: 100% + :scale: 50% :alt: Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) diff --git a/docs/source/operations/projections/hammer.rst b/docs/source/operations/projections/hammer.rst index 7603d704..e795b91b 100644 --- a/docs/source/operations/projections/hammer.rst +++ b/docs/source/operations/projections/hammer.rst @@ -5,6 +5,6 @@ Hammer & Eckert-Greifendorff ******************************************************************************** .. image:: ./images/hammer.png - :scale: 100% + :scale: 50% :alt: Hammer & Eckert-Greifendorff diff --git a/docs/source/operations/projections/hatano.rst b/docs/source/operations/projections/hatano.rst index c461d0f1..99e9ac3d 100644 --- a/docs/source/operations/projections/hatano.rst +++ b/docs/source/operations/projections/hatano.rst @@ -26,7 +26,7 @@ Hatano Asymmetrical Equal Area .. image:: ./images/hatano.png - :scale: 100% + :scale: 50% :alt: Hatano Asymmetrical Equal Area diff --git a/docs/source/operations/projections/healpix.rst b/docs/source/operations/projections/healpix.rst index ae1c7781..e13c5456 100644 --- a/docs/source/operations/projections/healpix.rst +++ b/docs/source/operations/projections/healpix.rst @@ -22,7 +22,6 @@ HEALPix .. image:: ../../../images/healpix.png :scale: 75% - :align: center :alt: HEALPix The HEALPix projection is area preserving and can be used with a spherical and diff --git a/docs/source/operations/projections/igh.rst b/docs/source/operations/projections/igh.rst index 0decf7b2..d74e1362 100644 --- a/docs/source/operations/projections/igh.rst +++ b/docs/source/operations/projections/igh.rst @@ -5,6 +5,6 @@ Interrupted Goode Homolosine ******************************************************************************** .. image:: ./images/igh.png - :scale: 100% + :scale: 50% :alt: Interrupted Goode Homolosine diff --git a/docs/source/operations/projections/imw_p.rst b/docs/source/operations/projections/imw_p.rst index 556b2cf4..1fd3ded0 100644 --- a/docs/source/operations/projections/imw_p.rst +++ b/docs/source/operations/projections/imw_p.rst @@ -5,6 +5,6 @@ International Map of the World Polyconic ******************************************************************************** .. image:: ./images/imw_p.png - :scale: 100% + :scale: 50% :alt: International Map of the World Polyconic diff --git a/docs/source/operations/projections/isea.rst b/docs/source/operations/projections/isea.rst index d6af3943..1b6457af 100644 --- a/docs/source/operations/projections/isea.rst +++ b/docs/source/operations/projections/isea.rst @@ -5,6 +5,6 @@ Icosahedral Snyder Equal Area ******************************************************************************** .. image:: ./images/isea.png - :scale: 100% + :scale: 50% :alt: Icosahedral Snyder Equal Area diff --git a/docs/source/operations/projections/kav5.rst b/docs/source/operations/projections/kav5.rst index e0cc9890..2ec5d1c1 100644 --- a/docs/source/operations/projections/kav5.rst +++ b/docs/source/operations/projections/kav5.rst @@ -5,6 +5,6 @@ Kavraisky V ******************************************************************************** .. image:: ./images/kav5.png - :scale: 100% + :scale: 50% :alt: Kavraisky V diff --git a/docs/source/operations/projections/kav7.rst b/docs/source/operations/projections/kav7.rst index 1ada3048..8371e6ea 100644 --- a/docs/source/operations/projections/kav7.rst +++ b/docs/source/operations/projections/kav7.rst @@ -5,6 +5,6 @@ Kavraisky VII ******************************************************************************** .. image:: ./images/kav7.png - :scale: 100% + :scale: 50% :alt: Kavraisky VII diff --git a/docs/source/operations/projections/krovak.rst b/docs/source/operations/projections/krovak.rst index 3ebb4216..6c774825 100644 --- a/docs/source/operations/projections/krovak.rst +++ b/docs/source/operations/projections/krovak.rst @@ -5,6 +5,6 @@ Krovak ******************************************************************************** .. image:: ./images/krovak.png - :scale: 100% + :scale: 50% :alt: Krovak diff --git a/docs/source/operations/projections/labrd.rst b/docs/source/operations/projections/labrd.rst index 0efa3e17..5be58db5 100644 --- a/docs/source/operations/projections/labrd.rst +++ b/docs/source/operations/projections/labrd.rst @@ -5,6 +5,6 @@ Laborde ******************************************************************************** .. image:: ./images/labrd.png - :scale: 100% + :scale: 50% :alt: Laborde diff --git a/docs/source/operations/projections/laea.rst b/docs/source/operations/projections/laea.rst index ee28a0d0..2377f294 100644 --- a/docs/source/operations/projections/laea.rst +++ b/docs/source/operations/projections/laea.rst @@ -5,6 +5,6 @@ Lambert Azimuthal Equal Area ******************************************************************************** .. image:: ./images/laea.png - :scale: 100% + :scale: 50% :alt: Lambert Azimuthal Equal Area diff --git a/docs/source/operations/projections/lagrng.rst b/docs/source/operations/projections/lagrng.rst index 6e4d68c2..de9e5640 100644 --- a/docs/source/operations/projections/lagrng.rst +++ b/docs/source/operations/projections/lagrng.rst @@ -5,6 +5,6 @@ Lagrange ******************************************************************************** .. image:: ./images/lagrng.png - :scale: 100% + :scale: 50% :alt: Lagrange diff --git a/docs/source/operations/projections/larr.rst b/docs/source/operations/projections/larr.rst index 23791ea7..9529f83f 100644 --- a/docs/source/operations/projections/larr.rst +++ b/docs/source/operations/projections/larr.rst @@ -5,6 +5,6 @@ Larrivee ******************************************************************************** .. image:: ./images/larr.png - :scale: 100% + :scale: 50% :alt: Larrivee diff --git a/docs/source/operations/projections/lask.rst b/docs/source/operations/projections/lask.rst index cbd68334..d34dc8a0 100644 --- a/docs/source/operations/projections/lask.rst +++ b/docs/source/operations/projections/lask.rst @@ -5,6 +5,6 @@ Laskowski ******************************************************************************** .. image:: ./images/lask.png - :scale: 100% + :scale: 50% :alt: Laskowski diff --git a/docs/source/operations/projections/lcc.rst b/docs/source/operations/projections/lcc.rst index 56a7daee..a3075e76 100644 --- a/docs/source/operations/projections/lcc.rst +++ b/docs/source/operations/projections/lcc.rst @@ -5,6 +5,6 @@ Lambert Conformal Conic ******************************************************************************** .. image:: ./images/lcc.png - :scale: 100% + :scale: 50% :alt: Lambert Conformal Conic diff --git a/docs/source/operations/projections/lcca.rst b/docs/source/operations/projections/lcca.rst index ab76334d..ca87e67e 100644 --- a/docs/source/operations/projections/lcca.rst +++ b/docs/source/operations/projections/lcca.rst @@ -5,6 +5,6 @@ Lambert Conformal Conic Alternative ******************************************************************************** .. image:: ./images/lcca.png - :scale: 100% + :scale: 50% :alt: Lambert Conformal Conic Alternative diff --git a/docs/source/operations/projections/leac.rst b/docs/source/operations/projections/leac.rst index bafccafa..2957798e 100644 --- a/docs/source/operations/projections/leac.rst +++ b/docs/source/operations/projections/leac.rst @@ -5,6 +5,6 @@ Lambert Equal Area Conic ******************************************************************************** .. image:: ./images/leac.png - :scale: 100% + :scale: 50% :alt: Lambert Equal Area Conic diff --git a/docs/source/operations/projections/lee_os.rst b/docs/source/operations/projections/lee_os.rst index 3ba6fccd..711dc754 100644 --- a/docs/source/operations/projections/lee_os.rst +++ b/docs/source/operations/projections/lee_os.rst @@ -5,6 +5,6 @@ Lee Oblated Stereographic ******************************************************************************** .. image:: ./images/lee_os.png - :scale: 100% + :scale: 50% :alt: Lee Oblated Stereographic diff --git a/docs/source/operations/projections/loxim.rst b/docs/source/operations/projections/loxim.rst index 5766ef97..e50ba472 100644 --- a/docs/source/operations/projections/loxim.rst +++ b/docs/source/operations/projections/loxim.rst @@ -5,6 +5,6 @@ Loximuthal ******************************************************************************** .. image:: ./images/loxim.png - :scale: 100% + :scale: 50% :alt: Loximuthal diff --git a/docs/source/operations/projections/lsat.rst b/docs/source/operations/projections/lsat.rst index bc0257e5..fb64bdb2 100644 --- a/docs/source/operations/projections/lsat.rst +++ b/docs/source/operations/projections/lsat.rst @@ -5,6 +5,6 @@ Space oblique for LANDSAT ******************************************************************************** .. image:: ./images/lsat.png - :scale: 100% + :scale: 50% :alt: Space oblique for LANDSAT diff --git a/docs/source/operations/projections/mbt_fps.rst b/docs/source/operations/projections/mbt_fps.rst index 5be6634a..55ebcf6c 100644 --- a/docs/source/operations/projections/mbt_fps.rst +++ b/docs/source/operations/projections/mbt_fps.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Pole Sine (No. 2) ******************************************************************************** .. image:: ./images/mbt_fps.png - :scale: 100% + :scale: 50% :alt: McBryde-Thomas Flat-Pole Sine (No. 2) diff --git a/docs/source/operations/projections/mbt_s.rst b/docs/source/operations/projections/mbt_s.rst index 3731e019..9a355ec8 100644 --- a/docs/source/operations/projections/mbt_s.rst +++ b/docs/source/operations/projections/mbt_s.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Polar Sine (No. 1) ******************************************************************************** .. image:: ./images/mbt_s.png - :scale: 100% + :scale: 50% :alt: McBryde-Thomas Flat-Polar Sine (No. 1) diff --git a/docs/source/operations/projections/mbtfpp.rst b/docs/source/operations/projections/mbtfpp.rst index b8dc4c65..9be309d9 100644 --- a/docs/source/operations/projections/mbtfpp.rst +++ b/docs/source/operations/projections/mbtfpp.rst @@ -5,6 +5,6 @@ McBride-Thomas Flat-Polar Parabolic ******************************************************************************** .. image:: ./images/mbtfpp.png - :scale: 100% + :scale: 50% :alt: McBride-Thomas Flat-Polar Parabolic diff --git a/docs/source/operations/projections/mbtfpq.rst b/docs/source/operations/projections/mbtfpq.rst index 47461256..295e814d 100644 --- a/docs/source/operations/projections/mbtfpq.rst +++ b/docs/source/operations/projections/mbtfpq.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Polar Quartic ******************************************************************************** .. image:: ./images/mbtfpq.png - :scale: 100% + :scale: 50% :alt: McBryde-Thomas Flat-Polar Quartic diff --git a/docs/source/operations/projections/mbtfps.rst b/docs/source/operations/projections/mbtfps.rst index bae81f49..b9365361 100644 --- a/docs/source/operations/projections/mbtfps.rst +++ b/docs/source/operations/projections/mbtfps.rst @@ -5,6 +5,6 @@ McBryde-Thomas Flat-Polar Sinusoidal ******************************************************************************** .. image:: ./images/mbtfps.png - :scale: 100% + :scale: 50% :alt: McBryde-Thomas Flat-Polar Sinusoidal diff --git a/docs/source/operations/projections/merc.rst b/docs/source/operations/projections/merc.rst index 301d7cfb..2d419c02 100644 --- a/docs/source/operations/projections/merc.rst +++ b/docs/source/operations/projections/merc.rst @@ -26,7 +26,7 @@ The projection is conformal which makes it suitable for navigational purposes. +---------------------+----------------------------------------------------------+ .. image:: ./images/merc.png - :scale: 100% + :scale: 50% :alt: Mercator diff --git a/docs/source/operations/projections/mil_os.rst b/docs/source/operations/projections/mil_os.rst index 1e0de842..5547e43c 100644 --- a/docs/source/operations/projections/mil_os.rst +++ b/docs/source/operations/projections/mil_os.rst @@ -5,6 +5,6 @@ Miller Oblated Stereographic ******************************************************************************** .. image:: ./images/mil_os.png - :scale: 100% + :scale: 50% :alt: Miller Oblated Stereographic diff --git a/docs/source/operations/projections/mill.rst b/docs/source/operations/projections/mill.rst index 88f0382a..718d4b9b 100644 --- a/docs/source/operations/projections/mill.rst +++ b/docs/source/operations/projections/mill.rst @@ -25,7 +25,7 @@ The latitude is scaled by a factor of :math:`\frac{4}{5}`, projected according t .. image:: ./images/mill.png - :scale: 100% + :scale: 50% :alt: Miller Cylindrical Usage diff --git a/docs/source/operations/projections/moll.rst b/docs/source/operations/projections/moll.rst index 44be38ab..1bd3d005 100644 --- a/docs/source/operations/projections/moll.rst +++ b/docs/source/operations/projections/moll.rst @@ -5,6 +5,6 @@ Mollweide ******************************************************************************** .. image:: ./images/moll.png - :scale: 100% + :scale: 50% :alt: Mollweide diff --git a/docs/source/operations/projections/murd1.rst b/docs/source/operations/projections/murd1.rst index f20aae8c..71cbf155 100644 --- a/docs/source/operations/projections/murd1.rst +++ b/docs/source/operations/projections/murd1.rst @@ -5,6 +5,6 @@ Murdoch I ******************************************************************************** .. image:: ./images/murd1.png - :scale: 100% + :scale: 50% :alt: Murdoch I diff --git a/docs/source/operations/projections/murd2.rst b/docs/source/operations/projections/murd2.rst index 4c9b0714..b55cde35 100644 --- a/docs/source/operations/projections/murd2.rst +++ b/docs/source/operations/projections/murd2.rst @@ -5,6 +5,6 @@ Murdoch II ******************************************************************************** .. image:: ./images/murd2.png - :scale: 100% + :scale: 50% :alt: Murdoch II diff --git a/docs/source/operations/projections/murd3.rst b/docs/source/operations/projections/murd3.rst index 94fb86e3..70cc9276 100644 --- a/docs/source/operations/projections/murd3.rst +++ b/docs/source/operations/projections/murd3.rst @@ -5,6 +5,6 @@ Murdoch III ******************************************************************************** .. image:: ./images/murd3.png - :scale: 100% + :scale: 50% :alt: Murdoch III diff --git a/docs/source/operations/projections/natearth.rst b/docs/source/operations/projections/natearth.rst index d3c4e683..4d304fab 100644 --- a/docs/source/operations/projections/natearth.rst +++ b/docs/source/operations/projections/natearth.rst @@ -22,7 +22,7 @@ Natural Earth .. image:: ./images/natearth.png - :scale: 100% + :scale: 50% :alt: Natural Earth diff --git a/docs/source/operations/projections/nell.rst b/docs/source/operations/projections/nell.rst index 16e1eb71..c6a3771c 100644 --- a/docs/source/operations/projections/nell.rst +++ b/docs/source/operations/projections/nell.rst @@ -5,6 +5,6 @@ Nell ******************************************************************************** .. image:: ./images/nell.png - :scale: 100% + :scale: 50% :alt: Nell diff --git a/docs/source/operations/projections/nell_h.rst b/docs/source/operations/projections/nell_h.rst index 53a3451a..6a3b26ba 100644 --- a/docs/source/operations/projections/nell_h.rst +++ b/docs/source/operations/projections/nell_h.rst @@ -5,6 +5,6 @@ Nell-Hammer ******************************************************************************** .. image:: ./images/nell_h.png - :scale: 100% + :scale: 50% :alt: Nell-Hammer diff --git a/docs/source/operations/projections/nicol.rst b/docs/source/operations/projections/nicol.rst index 0b3f17cc..995cedb5 100644 --- a/docs/source/operations/projections/nicol.rst +++ b/docs/source/operations/projections/nicol.rst @@ -5,6 +5,6 @@ Nicolosi Globular ******************************************************************************** .. image:: ./images/nicol.png - :scale: 100% + :scale: 50% :alt: Nicolosi Globular diff --git a/docs/source/operations/projections/nsper.rst b/docs/source/operations/projections/nsper.rst index d0a7d690..d7611587 100644 --- a/docs/source/operations/projections/nsper.rst +++ b/docs/source/operations/projections/nsper.rst @@ -25,7 +25,7 @@ The near-sided perspective projection simulates a view from a height .. image:: ./images/nsper.png - :scale: 100% + :scale: 50% :alt: Near-sided perspective Parameters diff --git a/docs/source/operations/projections/nzmg.rst b/docs/source/operations/projections/nzmg.rst index f25c5e9d..926655d8 100644 --- a/docs/source/operations/projections/nzmg.rst +++ b/docs/source/operations/projections/nzmg.rst @@ -5,6 +5,6 @@ New Zealand Map Grid ******************************************************************************** .. image:: ./images/nzmg.png - :scale: 100% + :scale: 50% :alt: New Zealand Map Grid diff --git a/docs/source/operations/projections/ob_tran.rst b/docs/source/operations/projections/ob_tran.rst index c0110bf2..3c996336 100644 --- a/docs/source/operations/projections/ob_tran.rst +++ b/docs/source/operations/projections/ob_tran.rst @@ -5,6 +5,6 @@ General Oblique Transformation ******************************************************************************** .. image:: ./images/ob_tran.png - :scale: 100% + :scale: 50% :alt: General Oblique Transformation diff --git a/docs/source/operations/projections/ocea.rst b/docs/source/operations/projections/ocea.rst index d4fd0d20..40005d9e 100644 --- a/docs/source/operations/projections/ocea.rst +++ b/docs/source/operations/projections/ocea.rst @@ -5,6 +5,6 @@ Oblique Cylindrical Equal Area ******************************************************************************** .. image:: ./images/ocea.png - :scale: 100% + :scale: 50% :alt: Oblique Cylindrical Equal Area diff --git a/docs/source/operations/projections/oea.rst b/docs/source/operations/projections/oea.rst index bbc88af3..379dc157 100644 --- a/docs/source/operations/projections/oea.rst +++ b/docs/source/operations/projections/oea.rst @@ -5,6 +5,6 @@ Oblated Equal Area ******************************************************************************** .. image:: ./images/oea.png - :scale: 100% + :scale: 50% :alt: Oblated Equal Area diff --git a/docs/source/operations/projections/omerc.rst b/docs/source/operations/projections/omerc.rst index 682e9975..114b9fa3 100644 --- a/docs/source/operations/projections/omerc.rst +++ b/docs/source/operations/projections/omerc.rst @@ -5,6 +5,6 @@ Oblique Mercator ******************************************************************************** .. image:: ./images/omerc.png - :scale: 100% + :scale: 50% :alt: Oblique Mercator diff --git a/docs/source/operations/projections/ortel.rst b/docs/source/operations/projections/ortel.rst index a91d2e67..03f132ef 100644 --- a/docs/source/operations/projections/ortel.rst +++ b/docs/source/operations/projections/ortel.rst @@ -5,6 +5,6 @@ Ortelius Oval ******************************************************************************** .. image:: ./images/ortel.png - :scale: 100% + :scale: 50% :alt: Ortelius Oval diff --git a/docs/source/operations/projections/ortho.rst b/docs/source/operations/projections/ortho.rst index fe27a11c..5e96e2a2 100644 --- a/docs/source/operations/projections/ortho.rst +++ b/docs/source/operations/projections/ortho.rst @@ -25,7 +25,7 @@ around a given latitude and longitude. +---------------------+--------------------------------------------------------+ .. image:: ./images/ortho.png - :scale: 100% + :scale: 50% :alt: Orthographic Parameters diff --git a/docs/source/operations/projections/pconic.rst b/docs/source/operations/projections/pconic.rst index c11c3b74..6bc0018e 100644 --- a/docs/source/operations/projections/pconic.rst +++ b/docs/source/operations/projections/pconic.rst @@ -5,6 +5,6 @@ Perspective Conic ******************************************************************************** .. image:: ./images/pconic.png - :scale: 100% + :scale: 50% :alt: Perspective Conic diff --git a/docs/source/operations/projections/poly.rst b/docs/source/operations/projections/poly.rst index 31796a94..e252feb5 100644 --- a/docs/source/operations/projections/poly.rst +++ b/docs/source/operations/projections/poly.rst @@ -5,6 +5,6 @@ Polyconic (American) ******************************************************************************** .. image:: ./images/poly.png - :scale: 100% + :scale: 50% :alt: Polyconic (American) diff --git a/docs/source/operations/projections/putp1.rst b/docs/source/operations/projections/putp1.rst index b12da0ec..68971a46 100644 --- a/docs/source/operations/projections/putp1.rst +++ b/docs/source/operations/projections/putp1.rst @@ -5,6 +5,6 @@ Putnins P1 ******************************************************************************** .. image:: ./images/putp1.png - :scale: 100% + :scale: 50% :alt: Putnins P1 diff --git a/docs/source/operations/projections/putp2.rst b/docs/source/operations/projections/putp2.rst index 9aa96fea..01ea8073 100644 --- a/docs/source/operations/projections/putp2.rst +++ b/docs/source/operations/projections/putp2.rst @@ -5,6 +5,6 @@ Putnins P2 ******************************************************************************** .. image:: ./images/putp2.png - :scale: 100% + :scale: 50% :alt: Putnins P2 diff --git a/docs/source/operations/projections/putp3.rst b/docs/source/operations/projections/putp3.rst index f589335a..3aa6b9e6 100644 --- a/docs/source/operations/projections/putp3.rst +++ b/docs/source/operations/projections/putp3.rst @@ -5,6 +5,6 @@ Putnins P3 ******************************************************************************** .. image:: ./images/putp3.png - :scale: 100% + :scale: 50% :alt: Putnins P3 diff --git a/docs/source/operations/projections/putp3p.rst b/docs/source/operations/projections/putp3p.rst index f47622e5..5b87512e 100644 --- a/docs/source/operations/projections/putp3p.rst +++ b/docs/source/operations/projections/putp3p.rst @@ -5,6 +5,6 @@ Putnins P3' ******************************************************************************** .. image:: ./images/putp3p.png - :scale: 100% + :scale: 50% :alt: Putnins P3' diff --git a/docs/source/operations/projections/putp4p.rst b/docs/source/operations/projections/putp4p.rst index ce73e1ee..b211ad9b 100644 --- a/docs/source/operations/projections/putp4p.rst +++ b/docs/source/operations/projections/putp4p.rst @@ -5,6 +5,6 @@ Putnins P4' ******************************************************************************** .. image:: ./images/putp4p.png - :scale: 100% + :scale: 50% :alt: Putnins P4' diff --git a/docs/source/operations/projections/putp5.rst b/docs/source/operations/projections/putp5.rst index 65ed1509..5b60a961 100644 --- a/docs/source/operations/projections/putp5.rst +++ b/docs/source/operations/projections/putp5.rst @@ -5,6 +5,6 @@ Putnins P5 ******************************************************************************** .. image:: ./images/putp5.png - :scale: 100% + :scale: 50% :alt: Putnins P5 diff --git a/docs/source/operations/projections/putp5p.rst b/docs/source/operations/projections/putp5p.rst index 2014ff9b..f586b889 100644 --- a/docs/source/operations/projections/putp5p.rst +++ b/docs/source/operations/projections/putp5p.rst @@ -5,6 +5,6 @@ Putnins P5' ******************************************************************************** .. image:: ./images/putp5p.png - :scale: 100% + :scale: 50% :alt: Putnins P5' diff --git a/docs/source/operations/projections/putp6.rst b/docs/source/operations/projections/putp6.rst index 68d36ca1..94683ace 100644 --- a/docs/source/operations/projections/putp6.rst +++ b/docs/source/operations/projections/putp6.rst @@ -5,6 +5,6 @@ Putnins P6 ******************************************************************************** .. image:: ./images/putp6.png - :scale: 100% + :scale: 50% :alt: Putnins P6 diff --git a/docs/source/operations/projections/putp6p.rst b/docs/source/operations/projections/putp6p.rst index 2a01ddd1..8c3add71 100644 --- a/docs/source/operations/projections/putp6p.rst +++ b/docs/source/operations/projections/putp6p.rst @@ -5,6 +5,6 @@ Putnins P6' ******************************************************************************** .. image:: ./images/putp6p.png - :scale: 100% + :scale: 50% :alt: Putnins P6' diff --git a/docs/source/operations/projections/qsc.rst b/docs/source/operations/projections/qsc.rst index 6cfb76cb..56d4ea3f 100644 --- a/docs/source/operations/projections/qsc.rst +++ b/docs/source/operations/projections/qsc.rst @@ -114,32 +114,32 @@ The resulting images can be laid out in a grid like below. .. |topside| image:: ../../../images/qsc_topside.jpg - :scale: 100% + :scale: 50% :align: middle :alt: Top side .. |leftside| image:: ../../../images/qsc_leftside.jpg - :scale: 100% + :scale: 50% :align: middle :alt: Left side .. |frontside| image:: ../../../images/qsc_frontside.jpg - :scale: 100% + :scale: 50% :align: middle :alt: Front side .. |rightside| image:: ../../../images/qsc_rightside.jpg - :scale: 100% + :scale: 50% :align: middle :alt: Right side .. |backside| image:: ../../../images/qsc_backside.jpg - :scale: 100% + :scale: 50% :align: middle :alt: Back side .. |bottomside| image:: ../../../images/qsc_bottomside.jpg - :scale: 100% + :scale: 50% :align: middle :alt: Bottom side diff --git a/docs/source/operations/projections/qua_aut.rst b/docs/source/operations/projections/qua_aut.rst index 514b465a..d3a0aece 100644 --- a/docs/source/operations/projections/qua_aut.rst +++ b/docs/source/operations/projections/qua_aut.rst @@ -5,6 +5,6 @@ Quartic Authalic ******************************************************************************** .. image:: ./images/qua_aut.png - :scale: 100% + :scale: 50% :alt: Quartic Authalic diff --git a/docs/source/operations/projections/robin.rst b/docs/source/operations/projections/robin.rst index a5ad9cf1..3e58be46 100644 --- a/docs/source/operations/projections/robin.rst +++ b/docs/source/operations/projections/robin.rst @@ -5,6 +5,6 @@ Robinson ******************************************************************************** .. image:: ./images/robin.png - :scale: 100% + :scale: 50% :alt: Robinson diff --git a/docs/source/operations/projections/rouss.rst b/docs/source/operations/projections/rouss.rst index a6e95ee5..e27fb1cf 100644 --- a/docs/source/operations/projections/rouss.rst +++ b/docs/source/operations/projections/rouss.rst @@ -5,6 +5,6 @@ Roussilhe Stereographic ******************************************************************************** .. image:: ./images/rouss.png - :scale: 100% + :scale: 50% :alt: Roussilhe Stereographic diff --git a/docs/source/operations/projections/rpoly.rst b/docs/source/operations/projections/rpoly.rst index 0e9f4ed6..80e0d640 100644 --- a/docs/source/operations/projections/rpoly.rst +++ b/docs/source/operations/projections/rpoly.rst @@ -5,6 +5,6 @@ Rectangular Polyconic ******************************************************************************** .. image:: ./images/rpoly.png - :scale: 100% + :scale: 50% :alt: Rectangular Polyconic diff --git a/docs/source/operations/projections/sinu.rst b/docs/source/operations/projections/sinu.rst index 762696fd..a7ebd232 100644 --- a/docs/source/operations/projections/sinu.rst +++ b/docs/source/operations/projections/sinu.rst @@ -5,7 +5,7 @@ Sinusoidal (Sanson-Flamsteed) ******************************************************************************** .. image:: ./images/sinu.png - :scale: 100% + :scale: 50% :alt: Sinusoidal (Sanson-Flamsteed) MacBryde and Thomas developed generalized formulas for sever of the diff --git a/docs/source/operations/projections/somerc.rst b/docs/source/operations/projections/somerc.rst index 7584e63b..c572622b 100644 --- a/docs/source/operations/projections/somerc.rst +++ b/docs/source/operations/projections/somerc.rst @@ -5,6 +5,6 @@ Swiss. Obl. Mercator ******************************************************************************** .. image:: ./images/somerc.png - :scale: 100% + :scale: 50% :alt: Swiss. Obl. Mercator diff --git a/docs/source/operations/projections/stere.rst b/docs/source/operations/projections/stere.rst index 01943c3a..d4958ec9 100644 --- a/docs/source/operations/projections/stere.rst +++ b/docs/source/operations/projections/stere.rst @@ -5,6 +5,6 @@ Stereographic ******************************************************************************** .. image:: ./images/stere.png - :scale: 100% + :scale: 50% :alt: Stereographic diff --git a/docs/source/operations/projections/sterea.rst b/docs/source/operations/projections/sterea.rst index f331cf3b..4f2f8727 100644 --- a/docs/source/operations/projections/sterea.rst +++ b/docs/source/operations/projections/sterea.rst @@ -5,6 +5,6 @@ Oblique Stereographic Alternative ******************************************************************************** .. image:: ./images/sterea.png - :scale: 100% + :scale: 50% :alt: Oblique Stereographic Alternative diff --git a/docs/source/operations/projections/tcc.rst b/docs/source/operations/projections/tcc.rst index 6475fef6..586dd3b8 100644 --- a/docs/source/operations/projections/tcc.rst +++ b/docs/source/operations/projections/tcc.rst @@ -5,6 +5,6 @@ Transverse Central Cylindrical ******************************************************************************** .. image:: ./images/tcc.png - :scale: 100% + :scale: 50% :alt: Transverse Central Cylindrical diff --git a/docs/source/operations/projections/tcea.rst b/docs/source/operations/projections/tcea.rst index 7516388e..cf5549a3 100644 --- a/docs/source/operations/projections/tcea.rst +++ b/docs/source/operations/projections/tcea.rst @@ -5,6 +5,6 @@ Transverse Cylindrical Equal Area ******************************************************************************** .. image:: ./images/tcea.png - :scale: 100% + :scale: 50% :alt: Transverse Cylindrical Equal Area diff --git a/docs/source/operations/projections/tissot.rst b/docs/source/operations/projections/tissot.rst index 73e3a185..7ec1a741 100644 --- a/docs/source/operations/projections/tissot.rst +++ b/docs/source/operations/projections/tissot.rst @@ -5,6 +5,6 @@ Tissot ******************************************************************************** .. image:: ./images/tissot.png - :scale: 100% + :scale: 50% :alt: Tissot diff --git a/docs/source/operations/projections/tmerc.rst b/docs/source/operations/projections/tmerc.rst index 20279dbc..cd864d13 100644 --- a/docs/source/operations/projections/tmerc.rst +++ b/docs/source/operations/projections/tmerc.rst @@ -26,7 +26,7 @@ The transverse Mercator projection in its various forms is the most widely used .. image:: ./images/tmerc.png - :scale: 100% + :scale: 50% :alt: Transverse Mercator Usage diff --git a/docs/source/operations/projections/tpeqd.rst b/docs/source/operations/projections/tpeqd.rst index 884b0620..e6d7ef29 100644 --- a/docs/source/operations/projections/tpeqd.rst +++ b/docs/source/operations/projections/tpeqd.rst @@ -5,6 +5,6 @@ Two Point Equidistant ******************************************************************************** .. image:: ./images/tpeqd.png - :scale: 100% + :scale: 50% :alt: Two Point Equidistant diff --git a/docs/source/operations/projections/tpers.rst b/docs/source/operations/projections/tpers.rst index 79ef02cb..1d36b07c 100644 --- a/docs/source/operations/projections/tpers.rst +++ b/docs/source/operations/projections/tpers.rst @@ -22,7 +22,7 @@ Tilted perspective .. image:: ./images/tpers.png - :scale: 100% + :scale: 50% :alt: Tilted perspective diff --git a/docs/source/operations/projections/ups.rst b/docs/source/operations/projections/ups.rst index be99c946..7a9ab50b 100644 --- a/docs/source/operations/projections/ups.rst +++ b/docs/source/operations/projections/ups.rst @@ -5,6 +5,6 @@ Universal Polar Stereographic ******************************************************************************** .. image:: ./images/ups.png - :scale: 100% + :scale: 50% :alt: Universal Polar Stereographic diff --git a/docs/source/operations/projections/urm5.rst b/docs/source/operations/projections/urm5.rst index fe84259b..91d06308 100644 --- a/docs/source/operations/projections/urm5.rst +++ b/docs/source/operations/projections/urm5.rst @@ -5,6 +5,6 @@ Urmaev V ******************************************************************************** .. image:: ./images/urm5.png - :scale: 100% + :scale: 50% :alt: Urmaev V diff --git a/docs/source/operations/projections/urmfps.rst b/docs/source/operations/projections/urmfps.rst index eca1d328..515ced84 100644 --- a/docs/source/operations/projections/urmfps.rst +++ b/docs/source/operations/projections/urmfps.rst @@ -5,6 +5,6 @@ Urmaev Flat-Polar Sinusoidal ******************************************************************************** .. image:: ./images/urmfps.png - :scale: 100% + :scale: 50% :alt: Urmaev Flat-Polar Sinusoidal diff --git a/docs/source/operations/projections/utm.rst b/docs/source/operations/projections/utm.rst index d26b57e1..7fb66cb8 100644 --- a/docs/source/operations/projections/utm.rst +++ b/docs/source/operations/projections/utm.rst @@ -5,6 +5,6 @@ Universal Transverse Mercator (UTM) ******************************************************************************** .. image:: ./images/utm.png - :scale: 100% + :scale: 50% :alt: Universal Transverse Mercator (UTM) diff --git a/docs/source/operations/projections/vandg.rst b/docs/source/operations/projections/vandg.rst index 9acbe720..cdc772bb 100644 --- a/docs/source/operations/projections/vandg.rst +++ b/docs/source/operations/projections/vandg.rst @@ -5,6 +5,6 @@ van der Grinten (I) ******************************************************************************** .. image:: ./images/vandg.png - :scale: 100% + :scale: 50% :alt: van der Grinten (I) diff --git a/docs/source/operations/projections/vandg2.rst b/docs/source/operations/projections/vandg2.rst index cc8f11ca..556929e2 100644 --- a/docs/source/operations/projections/vandg2.rst +++ b/docs/source/operations/projections/vandg2.rst @@ -5,6 +5,6 @@ van der Grinten II ******************************************************************************** .. image:: ./images/vandg2.png - :scale: 100% + :scale: 50% :alt: van der Grinten II diff --git a/docs/source/operations/projections/vandg3.rst b/docs/source/operations/projections/vandg3.rst index 4c2cb860..d767c4d5 100644 --- a/docs/source/operations/projections/vandg3.rst +++ b/docs/source/operations/projections/vandg3.rst @@ -5,6 +5,6 @@ van der Grinten III ******************************************************************************** .. image:: ./images/vandg3.png - :scale: 100% + :scale: 50% :alt: van der Grinten III diff --git a/docs/source/operations/projections/vandg4.rst b/docs/source/operations/projections/vandg4.rst index 8b350710..097ba1d8 100644 --- a/docs/source/operations/projections/vandg4.rst +++ b/docs/source/operations/projections/vandg4.rst @@ -5,6 +5,6 @@ van der Grinten IV ******************************************************************************** .. image:: ./images/vandg4.png - :scale: 100% + :scale: 50% :alt: van der Grinten IV diff --git a/docs/source/operations/projections/vitk1.rst b/docs/source/operations/projections/vitk1.rst index 6470ef55..b9081547 100644 --- a/docs/source/operations/projections/vitk1.rst +++ b/docs/source/operations/projections/vitk1.rst @@ -5,6 +5,6 @@ Vitkovsky I ******************************************************************************** .. image:: ./images/vitk1.png - :scale: 100% + :scale: 50% :alt: Vitkovsky I diff --git a/docs/source/operations/projections/wag1.rst b/docs/source/operations/projections/wag1.rst index d085391c..dd1ed39e 100644 --- a/docs/source/operations/projections/wag1.rst +++ b/docs/source/operations/projections/wag1.rst @@ -5,6 +5,6 @@ Wagner I (Kavraisky VI) ******************************************************************************** .. image:: ./images/wag1.png - :scale: 100% + :scale: 50% :alt: Wagner I (Kavraisky VI) diff --git a/docs/source/operations/projections/wag2.rst b/docs/source/operations/projections/wag2.rst index 1f0a2682..9c7b0edc 100644 --- a/docs/source/operations/projections/wag2.rst +++ b/docs/source/operations/projections/wag2.rst @@ -5,7 +5,7 @@ Wagner II ******************************************************************************** .. image:: ./images/wag2.png - :scale: 100% + :scale: 50% :alt: Wagner II diff --git a/docs/source/operations/projections/wag3.rst b/docs/source/operations/projections/wag3.rst index 43e89471..fb70a0a6 100644 --- a/docs/source/operations/projections/wag3.rst +++ b/docs/source/operations/projections/wag3.rst @@ -5,7 +5,7 @@ Wagner III ******************************************************************************** .. image:: ./images/wag3.png - :scale: 100% + :scale: 50% :alt: Wagner III diff --git a/docs/source/operations/projections/wag4.rst b/docs/source/operations/projections/wag4.rst index a68e55c4..7b8dac96 100644 --- a/docs/source/operations/projections/wag4.rst +++ b/docs/source/operations/projections/wag4.rst @@ -5,6 +5,6 @@ Wagner IV ******************************************************************************** .. image:: ./images/wag4.png - :scale: 100% + :scale: 50% :alt: Wagner IV diff --git a/docs/source/operations/projections/wag5.rst b/docs/source/operations/projections/wag5.rst index c6753c43..f880290b 100644 --- a/docs/source/operations/projections/wag5.rst +++ b/docs/source/operations/projections/wag5.rst @@ -5,6 +5,6 @@ Wagner V ******************************************************************************** .. image:: ./images/wag5.png - :scale: 100% + :scale: 50% :alt: Wagner V diff --git a/docs/source/operations/projections/wag6.rst b/docs/source/operations/projections/wag6.rst index cf714133..f74749a5 100644 --- a/docs/source/operations/projections/wag6.rst +++ b/docs/source/operations/projections/wag6.rst @@ -5,6 +5,6 @@ Wagner VI ******************************************************************************** .. image:: ./images/wag6.png - :scale: 100% + :scale: 50% :alt: Wagner VI diff --git a/docs/source/operations/projections/wag7.rst b/docs/source/operations/projections/wag7.rst index cb3fc06f..be1401b8 100644 --- a/docs/source/operations/projections/wag7.rst +++ b/docs/source/operations/projections/wag7.rst @@ -5,6 +5,6 @@ Wagner VII ******************************************************************************** .. image:: ./images/wag7.png - :scale: 100% + :scale: 50% :alt: Wagner VII diff --git a/docs/source/operations/projections/weren.rst b/docs/source/operations/projections/weren.rst index 01fdb290..de7c5abf 100644 --- a/docs/source/operations/projections/weren.rst +++ b/docs/source/operations/projections/weren.rst @@ -5,6 +5,6 @@ Werenskiold I ******************************************************************************** .. image:: ./images/weren.png - :scale: 100% + :scale: 50% :alt: Werenskiold I diff --git a/docs/source/operations/projections/wink1.rst b/docs/source/operations/projections/wink1.rst index 5f7c877b..00346765 100644 --- a/docs/source/operations/projections/wink1.rst +++ b/docs/source/operations/projections/wink1.rst @@ -5,6 +5,6 @@ Winkel I ******************************************************************************** .. image:: ./images/wink1.png - :scale: 100% + :scale: 50% :alt: Winkel I diff --git a/docs/source/operations/projections/wink2.rst b/docs/source/operations/projections/wink2.rst index 41f100c1..7e9b48a7 100644 --- a/docs/source/operations/projections/wink2.rst +++ b/docs/source/operations/projections/wink2.rst @@ -5,6 +5,6 @@ Winkel II ******************************************************************************** .. image:: ./images/wink2.png - :scale: 100% + :scale: 50% :alt: Winkel II diff --git a/docs/source/operations/projections/wintri.rst b/docs/source/operations/projections/wintri.rst index 270cb69c..bfd5032f 100644 --- a/docs/source/operations/projections/wintri.rst +++ b/docs/source/operations/projections/wintri.rst @@ -5,6 +5,6 @@ Winkel Tripel ******************************************************************************** .. image:: ./images/wintri.png - :scale: 100% + :scale: 50% :alt: Winkel Tripel -- cgit v1.2.3 From 08c91d2c3231b5603602b748be4f9a2e842ffafa Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Tue, 15 May 2018 00:02:49 -0700 Subject: IWYU: Partial PJ_aitoff.c..PJ_goode.c --- src/PJ_aitoff.c | 7 ++++--- src/PJ_august.c | 5 +++-- src/PJ_crast.c | 5 +++-- src/PJ_denoy.c | 5 +++-- src/PJ_eck1.c | 4 ++-- src/PJ_eck2.c | 5 +++-- src/PJ_eck3.c | 4 +++- src/PJ_eck4.c | 6 ++++-- src/PJ_eck5.c | 4 +++- src/PJ_eqc.c | 5 +++-- src/PJ_eqdc.c | 5 +++-- src/PJ_fahey.c | 4 +++- src/PJ_fouc_s.c | 5 +++-- src/PJ_gall.c | 5 +++-- src/PJ_geoc.c | 4 +++- src/PJ_geos.c | 5 +++-- src/PJ_gn_sinu.c | 4 +++- src/PJ_gnom.c | 4 +++- src/PJ_goode.c | 5 +++-- 19 files changed, 58 insertions(+), 33 deletions(-) diff --git a/src/PJ_aitoff.c b/src/PJ_aitoff.c index 89035f3a..82c981d5 100644 --- a/src/PJ_aitoff.c +++ b/src/PJ_aitoff.c @@ -29,8 +29,11 @@ *****************************************************************************/ #define PJ_LIB__ -#include "proj.h" + #include +#include + +#include "proj.h" #include "projects.h" @@ -192,5 +195,3 @@ PJ *PROJECTION(wintri) { Q->cosphi1 = 0.636619772367581343; return setup(P); } - - diff --git a/src/PJ_august.c b/src/PJ_august.c index ba9ea5cd..4c197114 100644 --- a/src/PJ_august.c +++ b/src/PJ_august.c @@ -1,6 +1,8 @@ #define PJ_LIB__ -#include "projects.h" +#include + +#include "projects.h" PROJ_HEAD(august, "August Epicycloidal") "\n\tMisc Sph, no inv."; #define M 1.333333333333333 @@ -30,4 +32,3 @@ PJ *PROJECTION(august) { P->es = 0.; return P; } - diff --git a/src/PJ_crast.c b/src/PJ_crast.c index dec22faf..6db617d0 100644 --- a/src/PJ_crast.c +++ b/src/PJ_crast.c @@ -1,5 +1,7 @@ #define PJ_LIB__ -# include "projects.h" +#include + +#include "projects.h" PROJ_HEAD(crast, "Craster Parabolic (Putnins P4)") "\n\tPCyl., Sph."; @@ -36,4 +38,3 @@ PJ *PROJECTION(crast) { return P; } - diff --git a/src/PJ_denoy.c b/src/PJ_denoy.c index a5fc2fe7..64de1f9f 100644 --- a/src/PJ_denoy.c +++ b/src/PJ_denoy.c @@ -1,5 +1,7 @@ #define PJ_LIB__ -#include "projects.h" +#include + +#include "projects.h" PROJ_HEAD(denoy, "Denoyer Semi-Elliptical") "\n\tPCyl., no inv., Sph."; @@ -28,4 +30,3 @@ PJ *PROJECTION(denoy) { return P; } - diff --git a/src/PJ_eck1.c b/src/PJ_eck1.c index 4a9ac06b..069aa185 100644 --- a/src/PJ_eck1.c +++ b/src/PJ_eck1.c @@ -1,4 +1,6 @@ #define PJ_LIB__ +#include + #include "projects.h" PROJ_HEAD(eck1, "Eckert I") "\n\tPCyl., Sph."; @@ -37,5 +39,3 @@ PJ *PROJECTION(eck1) { return P ; } - - diff --git a/src/PJ_eck2.c b/src/PJ_eck2.c index b87f3d97..e9ef1229 100644 --- a/src/PJ_eck2.c +++ b/src/PJ_eck2.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" @@ -51,5 +54,3 @@ PJ *PROJECTION(eck2) { return P; } - - diff --git a/src/PJ_eck3.c b/src/PJ_eck3.c index 21353be2..674f6919 100644 --- a/src/PJ_eck3.c +++ b/src/PJ_eck3.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(eck3, "Eckert III") "\n\tPCyl, Sph."; @@ -105,4 +108,3 @@ PJ *PROJECTION(putp1) { return setup(P); } - diff --git a/src/PJ_eck4.c b/src/PJ_eck4.c index 7cd24720..367d9cc9 100644 --- a/src/PJ_eck4.c +++ b/src/PJ_eck4.c @@ -1,5 +1,8 @@ #define PJ_LIB__ -#include "projects.h" + +#include + +#include "projects.h" PROJ_HEAD(eck4, "Eckert IV") "\n\tPCyl, Sph."; @@ -58,4 +61,3 @@ PJ *PROJECTION(eck4) { return P; } - diff --git a/src/PJ_eck5.c b/src/PJ_eck5.c index 34a258ee..275430d8 100644 --- a/src/PJ_eck5.c +++ b/src/PJ_eck5.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(eck5, "Eckert V") "\n\tPCyl, Sph."; @@ -35,4 +38,3 @@ PJ *PROJECTION(eck5) { return P; } - diff --git a/src/PJ_eqc.c b/src/PJ_eqc.c index 9c80f82f..86845aa3 100644 --- a/src/PJ_eqc.c +++ b/src/PJ_eqc.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -47,5 +50,3 @@ PJ *PROJECTION(eqc) { return P; } - - diff --git a/src/PJ_eqdc.c b/src/PJ_eqdc.c index 5f65e7d0..8caca87a 100644 --- a/src/PJ_eqdc.c +++ b/src/PJ_eqdc.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" #include "proj_math.h" @@ -115,5 +118,3 @@ PJ *PROJECTION(eqdc) { return P; } - - diff --git a/src/PJ_fahey.c b/src/PJ_fahey.c index 90ed691f..18be5ea0 100644 --- a/src/PJ_fahey.c +++ b/src/PJ_fahey.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(fahey, "Fahey") "\n\tPcyl, Sph."; @@ -36,4 +39,3 @@ PJ *PROJECTION(fahey) { return P; } - diff --git a/src/PJ_fouc_s.c b/src/PJ_fouc_s.c index 87526265..10bd1765 100644 --- a/src/PJ_fouc_s.c +++ b/src/PJ_fouc_s.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -65,5 +68,3 @@ PJ *PROJECTION(fouc_s) { P->fwd = s_forward; return P; } - - diff --git a/src/PJ_gall.c b/src/PJ_gall.c index ca8a1bcb..a8697482 100644 --- a/src/PJ_gall.c +++ b/src/PJ_gall.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(gall, "Gall (Gall Stereographic)") "\n\tCyl, Sph"; @@ -39,5 +42,3 @@ PJ *PROJECTION(gall) { return P; } - - diff --git a/src/PJ_geoc.c b/src/PJ_geoc.c index e7a7abf1..bed0db49 100644 --- a/src/PJ_geoc.c +++ b/src/PJ_geoc.c @@ -27,8 +27,10 @@ *****************************************************************************/ #define PJ_LIB__ + +#include + #include "proj.h" -#include #include "projects.h" PROJ_HEAD(geoc, "Geocentric Latitude"); diff --git a/src/PJ_geos.c b/src/PJ_geos.c index 774a34a9..0eb25610 100644 --- a/src/PJ_geos.c +++ b/src/PJ_geos.c @@ -29,6 +29,9 @@ #define PJ_LIB__ #include +#include +#include + #include "proj.h" #include "projects.h" #include "proj_math.h" @@ -231,5 +234,3 @@ PJ *PROJECTION(geos) { return P; } - - diff --git a/src/PJ_gn_sinu.c b/src/PJ_gn_sinu.c index 36f438e7..21cba308 100644 --- a/src/PJ_gn_sinu.c +++ b/src/PJ_gn_sinu.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -182,4 +185,3 @@ PJ *PROJECTION(gn_sinu) { return P; } - diff --git a/src/PJ_gnom.c b/src/PJ_gnom.c index b4bab0e2..9c2c7106 100644 --- a/src/PJ_gnom.c +++ b/src/PJ_gnom.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" #include "proj_math.h" @@ -138,4 +141,3 @@ PJ *PROJECTION(gnom) { return P; } - diff --git a/src/PJ_goode.c b/src/PJ_goode.c index 65761c4b..4f299b54 100644 --- a/src/PJ_goode.c +++ b/src/PJ_goode.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -77,5 +80,3 @@ PJ *PROJECTION(goode) { return P; } - - -- cgit v1.2.3 From 4080bd2477c76a528394e752ee7796fdf87db07e Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Tue, 15 May 2018 07:25:25 -0700 Subject: IWYU: Partial PJ_gstmerc.c..PJ_molodensky.c --- src/PJ_gstmerc.c | 4 +++- src/PJ_hammer.c | 4 +++- src/PJ_hatano.c | 4 +++- src/PJ_healpix.c | 15 ++++++++------- src/PJ_helmert.c | 6 ++++-- src/PJ_hgridshift.c | 4 +++- src/PJ_horner.c | 13 ++++++++----- src/PJ_igh.c | 5 +++-- src/PJ_imw_p.c | 4 +++- src/PJ_isea.c | 3 ++- src/PJ_krovak.c | 5 +++-- src/PJ_labrd.c | 4 +++- src/PJ_lagrng.c | 4 +++- src/PJ_larr.c | 4 +++- src/PJ_lcca.c | 4 +++- src/PJ_loxim.c | 4 +++- src/PJ_lsat.c | 4 +++- src/PJ_mbt_fps.c | 4 +++- src/PJ_mbtfpp.c | 4 +++- src/PJ_mbtfpq.c | 4 +++- src/PJ_merc.c | 5 ++++- src/PJ_mill.c | 4 +++- src/PJ_misrsom.c | 4 +++- src/PJ_moll.c | 4 +++- src/PJ_molodensky.c | 4 +++- 25 files changed, 86 insertions(+), 38 deletions(-) diff --git a/src/PJ_gstmerc.c b/src/PJ_gstmerc.c index 81ec4e17..5b5109b0 100644 --- a/src/PJ_gstmerc.c +++ b/src/PJ_gstmerc.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(gstmerc, "Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)") @@ -67,4 +70,3 @@ PJ *PROJECTION(gstmerc) { return P; } - diff --git a/src/PJ_hammer.c b/src/PJ_hammer.c index e7546ac0..f3e0d64e 100644 --- a/src/PJ_hammer.c +++ b/src/PJ_hammer.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -70,4 +73,3 @@ PJ *PROJECTION(hammer) { return P; } - diff --git a/src/PJ_hatano.c b/src/PJ_hatano.c index 985bf0cc..4e852888 100644 --- a/src/PJ_hatano.c +++ b/src/PJ_hatano.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" @@ -78,4 +81,3 @@ PJ *PROJECTION(hatano) { return P; } - diff --git a/src/PJ_healpix.c b/src/PJ_healpix.c index c3eae14f..d76ca33d 100644 --- a/src/PJ_healpix.c +++ b/src/PJ_healpix.c @@ -28,16 +28,18 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. *****************************************************************************/ -# define PJ_LIB__ -# include -# include "proj_internal.h" -# include "proj.h" -# include "projects.h" +#define PJ_LIB__ + +#include +#include + +#include "proj_internal.h" +#include "proj.h" +#include "projects.h" PROJ_HEAD(healpix, "HEALPix") "\n\tSph., Ellps."; PROJ_HEAD(rhealpix, "rHEALPix") "\n\tSph., Ellps.\n\tnorth_square= south_square="; -# include /* Matrix for counterclockwise rotation by pi/2: */ # define R1 {{ 0,-1},{ 1, 0}} /* Matrix for counterclockwise rotation by pi: */ @@ -668,4 +670,3 @@ PJ *PROJECTION(rhealpix) { return P; } - diff --git a/src/PJ_helmert.c b/src/PJ_helmert.c index 59864136..8ba955bb 100644 --- a/src/PJ_helmert.c +++ b/src/PJ_helmert.c @@ -43,11 +43,14 @@ Last update: 2017-05-15 ***********************************************************************/ #define PJ_LIB__ -#include + #include +#include + #include "proj_internal.h" #include "projects.h" #include "geocent.h" + PROJ_HEAD(helmert, "3(6)-, 4(8)- and 7(14)-parameter Helmert shift"); static XYZ helmert_forward_3d (LPZ lpz, PJ *P); @@ -607,4 +610,3 @@ PJ *TRANSFORMATION(helmert, 0) { return P; } - diff --git a/src/PJ_hgridshift.c b/src/PJ_hgridshift.c index 54440822..3932ef51 100644 --- a/src/PJ_hgridshift.c +++ b/src/PJ_hgridshift.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj_internal.h" #include "projects.h" @@ -72,4 +75,3 @@ PJ *TRANSFORMATION(hgridshift,0) { return P; } - diff --git a/src/PJ_horner.c b/src/PJ_horner.c index 24e1cbe9..50e13850 100644 --- a/src/PJ_horner.c +++ b/src/PJ_horner.c @@ -76,13 +76,17 @@ *****************************************************************************/ #define PJ_LIB__ + +#include +#include +#include +#include +#include + #include "proj_internal.h" #include "projects.h" -#include -#include -#include -PROJ_HEAD(horner, "Horner polynomial evaluation"); +PROJ_HEAD(horner, "Horner polynomial evaluation"); /* make horner.h interface with proj's memory management */ #define horner_dealloc(x) pj_dealloc(x) @@ -503,4 +507,3 @@ PJ *PROJECTION(horner) { return P; } - diff --git a/src/PJ_igh.c b/src/PJ_igh.c index bb97a8b5..23614ac5 100644 --- a/src/PJ_igh.c +++ b/src/PJ_igh.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(igh, "Interrupted Goode Homolosine") "\n\tPCyl, Sph."; @@ -220,5 +223,3 @@ PJ *PROJECTION(igh) { return P; } - - diff --git a/src/PJ_imw_p.c b/src/PJ_imw_p.c index c7939d3e..4c1b5e45 100644 --- a/src/PJ_imw_p.c +++ b/src/PJ_imw_p.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -208,4 +211,3 @@ PJ *PROJECTION(imw_p) { return P; } - diff --git a/src/PJ_isea.c b/src/PJ_isea.c index 53302a5c..b982d11e 100644 --- a/src/PJ_isea.c +++ b/src/PJ_isea.c @@ -3,10 +3,11 @@ * and is in the public domain. */ +#include #include #include #include -#include +#include #ifndef M_PI # define M_PI 3.14159265358979323846 diff --git a/src/PJ_krovak.c b/src/PJ_krovak.c index ef00d715..9b269c88 100644 --- a/src/PJ_krovak.c +++ b/src/PJ_krovak.c @@ -75,9 +75,11 @@ * *****************************************************************************/ - #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(krovak, "Krovak") "\n\tPCyl., Ellps."; @@ -218,4 +220,3 @@ PJ *PROJECTION(krovak) { return P; } - diff --git a/src/PJ_labrd.c b/src/PJ_labrd.c index 16c45a0d..502adf0f 100644 --- a/src/PJ_labrd.c +++ b/src/PJ_labrd.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(labrd, "Laborde") "\n\tCyl, Sph\n\tSpecial for Madagascar"; @@ -127,4 +130,3 @@ PJ *PROJECTION(labrd) { return P; } - diff --git a/src/PJ_lagrng.c b/src/PJ_lagrng.c index cf6d97d6..d2b53b09 100644 --- a/src/PJ_lagrng.c +++ b/src/PJ_lagrng.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -60,4 +63,3 @@ PJ *PROJECTION(lagrng) { return P; } - diff --git a/src/PJ_larr.c b/src/PJ_larr.c index a8d1af56..e4e39dc9 100644 --- a/src/PJ_larr.c +++ b/src/PJ_larr.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(larr, "Larrivee") "\n\tMisc Sph, no inv."; @@ -23,4 +26,3 @@ PJ *PROJECTION(larr) { return P; } - diff --git a/src/PJ_lcca.c b/src/PJ_lcca.c index efae5c7c..f0f256b1 100644 --- a/src/PJ_lcca.c +++ b/src/PJ_lcca.c @@ -46,7 +46,10 @@ *****************************************************************************/ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -157,4 +160,3 @@ PJ *PROJECTION(lcca) { return P; } - diff --git a/src/PJ_loxim.c b/src/PJ_loxim.c index 36b05b86..512bfc23 100644 --- a/src/PJ_loxim.c +++ b/src/PJ_loxim.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -70,4 +73,3 @@ PJ *PROJECTION(loxim) { return P; } - diff --git a/src/PJ_lsat.c b/src/PJ_lsat.c index 7e1567e1..810a1cba 100644 --- a/src/PJ_lsat.c +++ b/src/PJ_lsat.c @@ -1,6 +1,9 @@ /* based upon Snyder and Linck, USGS-NMD */ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -205,4 +208,3 @@ PJ *PROJECTION(lsat) { return P; } - diff --git a/src/PJ_mbt_fps.c b/src/PJ_mbt_fps.c index 2fccf3aa..b689014f 100644 --- a/src/PJ_mbt_fps.c +++ b/src/PJ_mbt_fps.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(mbt_fps, "McBryde-Thomas Flat-Pole Sine (No. 2)") "\n\tCyl., Sph."; @@ -52,4 +55,3 @@ PJ *PROJECTION(mbt_fps) { return P; } - diff --git a/src/PJ_mbtfpp.c b/src/PJ_mbtfpp.c index 9b90444b..5e5b2d50 100644 --- a/src/PJ_mbtfpp.c +++ b/src/PJ_mbtfpp.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" @@ -60,4 +63,3 @@ PJ *PROJECTION(mbtfpp) { return P; } - diff --git a/src/PJ_mbtfpq.c b/src/PJ_mbtfpq.c index cff7fbdd..75c71708 100644 --- a/src/PJ_mbtfpq.c +++ b/src/PJ_mbtfpq.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" @@ -69,4 +72,3 @@ PJ *PROJECTION(mbtfpq) { return P; } - diff --git a/src/PJ_merc.c b/src/PJ_merc.c index 9123eae1..b75f9b11 100644 --- a/src/PJ_merc.c +++ b/src/PJ_merc.c @@ -1,9 +1,12 @@ #define PJ_LIB__ + +#include +#include + #include "proj_internal.h" #include "proj.h" #include "proj_math.h" #include "projects.h" -#include PROJ_HEAD(merc, "Mercator") "\n\tCyl, Sph&Ell\n\tlat_ts="; PROJ_HEAD(webmerc, "Web Mercator / Pseudo Mercator") "\n\tCyl, Sph\n\t"; diff --git a/src/PJ_mill.c b/src/PJ_mill.c index fdb0b2ad..3ea9636f 100644 --- a/src/PJ_mill.c +++ b/src/PJ_mill.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(mill, "Miller Cylindrical") "\n\tCyl, Sph"; @@ -32,4 +35,3 @@ PJ *PROJECTION(mill) { return P; } - diff --git a/src/PJ_misrsom.c b/src/PJ_misrsom.c index b9b97117..0308fc42 100644 --- a/src/PJ_misrsom.c +++ b/src/PJ_misrsom.c @@ -21,7 +21,10 @@ *****************************************************************************/ /* based upon Snyder and Linck, USGS-NMD */ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -212,4 +215,3 @@ PJ *PROJECTION(misrsom) { return P; } - diff --git a/src/PJ_moll.c b/src/PJ_moll.c index 66e6315a..7c0e6f85 100644 --- a/src/PJ_moll.c +++ b/src/PJ_moll.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(moll, "Mollweide") "\n\tPCyl., Sph."; @@ -105,4 +108,3 @@ PJ *PROJECTION(wag5) { return P; } - diff --git a/src/PJ_molodensky.c b/src/PJ_molodensky.c index 92969d67..2db51038 100644 --- a/src/PJ_molodensky.c +++ b/src/PJ_molodensky.c @@ -43,7 +43,10 @@ * ***********************************************************************/ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "proj_internal.h" #include "projects.h" @@ -311,4 +314,3 @@ PJ *TRANSFORMATION(molodensky,1) { return P; } - -- cgit v1.2.3 From 1e8824517900d37232468b9e3d7f3724e7ffa786 Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Tue, 15 May 2018 13:42:20 -0700 Subject: IWYU: Partial PJ_natearth.c..rtodms.c --- src/PJ_natearth.c | 4 +++- src/PJ_natearth2.c | 4 +++- src/PJ_nell.c | 4 +++- src/PJ_nell_h.c | 4 +++- src/PJ_nocol.c | 4 +++- src/PJ_nzmg.c | 4 +++- src/PJ_ob_tran.c | 6 ++++-- src/PJ_ocea.c | 4 +++- src/PJ_omerc.c | 4 +++- src/PJ_patterson.c | 4 +++- src/PJ_pipeline.c | 8 ++++++-- src/PJ_poly.c | 4 +++- src/PJ_putp2.c | 4 +++- src/PJ_putp4p.c | 4 +++- src/PJ_putp5.c | 4 +++- src/PJ_putp6.c | 4 +++- src/PJ_qsc.c | 4 +++- src/PJ_rpoly.c | 4 +++- src/PJ_sch.c | 4 +++- src/PJ_somerc.c | 4 +++- src/PJ_sts.c | 4 +++- src/PJ_tcc.c | 4 +++- src/PJ_tcea.c | 6 ++++-- src/PJ_times.c | 4 +++- src/PJ_tmerc.c | 4 +++- src/PJ_unitconvert.c | 6 +++++- src/PJ_urm5.c | 4 +++- src/PJ_urmfps.c | 4 +++- src/PJ_vandg2.c | 4 +++- src/PJ_vandg4.c | 4 +++- src/PJ_vgridshift.c | 4 +++- src/PJ_wag2.c | 6 +++++- src/PJ_wag3.c | 6 ++++-- src/PJ_wag7.c | 6 ++++-- src/PJ_wink1.c | 6 ++++-- src/PJ_wink2.c | 6 ++++-- src/aasincos.c | 40 ++++++++++++++++++++++------------------ src/cs2cs.c | 11 ++++++----- src/dmstor.c | 8 ++++++-- src/emess.c | 6 ++++-- src/geod_set.c | 5 ++++- src/gie.c | 1 + src/nad_cvt.c | 5 +++++ src/nad_init.c | 7 +++++-- src/pj_apply_gridshift.c | 4 +++- src/pj_apply_vgridshift.c | 3 ++- src/pj_auth.c | 6 ++++++ src/pj_ctx.c | 6 ++++-- src/pj_datum_set.c | 3 ++- src/pj_datums.c | 2 ++ src/pj_deriv.c | 3 +++ src/pj_ell_set.c | 5 ++++- src/pj_ellps.c | 2 ++ src/pj_fileapi.c | 6 +++++- src/pj_fwd.c | 2 ++ src/pj_gauss.c | 4 ++++ src/pj_gc_reader.c | 8 +++++--- src/pj_gridcatalog.c | 7 +++++-- src/pj_gridinfo.c | 10 +++++++--- src/pj_gridlist.c | 5 +++-- src/pj_init.c | 12 +++++++----- src/pj_initcache.c | 5 +++-- src/pj_internal.c | 8 ++++++-- src/pj_inv.c | 1 + src/pj_log.c | 7 +++++-- src/pj_malloc.c | 7 +++++-- src/pj_mlfn.c | 3 +++ src/pj_open_lib.c | 10 +++++++--- src/pj_param.c | 3 +++ src/pj_pr_list.c | 6 +++++- src/pj_strerrno.c | 4 +++- src/pj_strtod.c | 10 +++++----- src/pj_transform.c | 5 +++-- src/pj_units.c | 2 ++ src/pj_utils.c | 5 +++-- src/proj_4D_api.c | 8 ++++++-- src/proj_api.h | 19 ++++++++++--------- src/proj_etmerc.c | 3 +-- src/proj_internal.h | 2 ++ src/proj_mdist.c | 5 +++++ src/proj_rouss.c | 4 +++- src/rtodms.c | 7 ++++++- 82 files changed, 327 insertions(+), 132 deletions(-) diff --git a/src/PJ_natearth.c b/src/PJ_natearth.c index 10abb23c..df015222 100644 --- a/src/PJ_natearth.c +++ b/src/PJ_natearth.c @@ -13,6 +13,9 @@ and designed in collaboration with Tom Patterson. Port to PROJ.4 by Bernhard Jenny, 6 June 2011 */ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(natearth, "Natural Earth") "\n\tPCyl., Sph."; @@ -95,4 +98,3 @@ PJ *PROJECTION(natearth) { return P; } - diff --git a/src/PJ_natearth2.c b/src/PJ_natearth2.c index dbdc8fed..0498f186 100644 --- a/src/PJ_natearth2.c +++ b/src/PJ_natearth2.c @@ -6,6 +6,9 @@ and Atmospheric Sciences, Oregon State University. Port to PROJ.4 by Bojan Savric, 4 April 2016 */ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(natearth2, "Natural Earth 2") "\n\tPCyl., Sph."; @@ -92,4 +95,3 @@ PJ *PROJECTION(natearth2) { return P; } - diff --git a/src/PJ_nell.c b/src/PJ_nell.c index 51f9f99a..751c01c8 100644 --- a/src/PJ_nell.c +++ b/src/PJ_nell.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(nell, "Nell") "\n\tPCyl., Sph."; @@ -46,4 +49,3 @@ PJ *PROJECTION(nell) { return P; } - diff --git a/src/PJ_nell_h.c b/src/PJ_nell_h.c index 24957786..db9e9de0 100644 --- a/src/PJ_nell_h.c +++ b/src/PJ_nell_h.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(nell_h, "Nell-Hammer") "\n\tPCyl., Sph."; @@ -48,4 +51,3 @@ PJ *PROJECTION(nell_h) { return P; } - diff --git a/src/PJ_nocol.c b/src/PJ_nocol.c index 13688a9f..93e128ea 100644 --- a/src/PJ_nocol.c +++ b/src/PJ_nocol.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(nicol, "Nicolosi Globular") "\n\tMisc Sph, no inv."; @@ -49,4 +52,3 @@ PJ *PROJECTION(nicol) { return P; } - diff --git a/src/PJ_nzmg.c b/src/PJ_nzmg.c index b30deabf..bf0862fb 100644 --- a/src/PJ_nzmg.c +++ b/src/PJ_nzmg.c @@ -26,6 +26,9 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(nzmg, "New Zealand Map Grid") "\n\tfixed Earth"; @@ -118,4 +121,3 @@ PJ *PROJECTION(nzmg) { return P; } - diff --git a/src/PJ_ob_tran.c b/src/PJ_ob_tran.c index 8b13eb65..f5a05cf9 100644 --- a/src/PJ_ob_tran.c +++ b/src/PJ_ob_tran.c @@ -1,8 +1,11 @@ #define PJ_LIB__ #include +#include +#include +#include + #include "proj.h" #include "projects.h" -#include struct pj_opaque { struct PJconsts *link; @@ -238,4 +241,3 @@ PJ *PROJECTION(ob_tran) { return P; } - diff --git a/src/PJ_ocea.c b/src/PJ_ocea.c index 4bd120e1..7a9353a6 100644 --- a/src/PJ_ocea.c +++ b/src/PJ_ocea.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(ocea, "Oblique Cylindrical Equal Area") "\n\tCyl, Sph" @@ -95,4 +98,3 @@ PJ *PROJECTION(ocea) { return P; } - diff --git a/src/PJ_omerc.c b/src/PJ_omerc.c index 32bf5c14..70c12e27 100644 --- a/src/PJ_omerc.c +++ b/src/PJ_omerc.c @@ -22,7 +22,10 @@ ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -222,4 +225,3 @@ PJ *PROJECTION(omerc) { return P; } - diff --git a/src/PJ_patterson.c b/src/PJ_patterson.c index e58b49bd..a15c730f 100644 --- a/src/PJ_patterson.c +++ b/src/PJ_patterson.c @@ -39,6 +39,9 @@ */ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(patterson, "Patterson Cylindrical") "\n\tCyl."; @@ -112,4 +115,3 @@ PJ *PROJECTION(patterson) { return P; } - diff --git a/src/PJ_pipeline.c b/src/PJ_pipeline.c index 4f42faed..d623423b 100644 --- a/src/PJ_pipeline.c +++ b/src/PJ_pipeline.c @@ -95,13 +95,17 @@ Thomas Knudsen, thokn@sdfe.dk, 2016-05-20 ********************************************************************************/ #define PJ_LIB__ + +#include +#include +#include +#include + #include "geodesic.h" #include "proj.h" #include "proj_internal.h" #include "projects.h" -#include -#include PROJ_HEAD(pipeline, "Transformation pipeline manager"); /* Projection specific elements for the PJ object */ diff --git a/src/PJ_poly.c b/src/PJ_poly.c index 7cf8bce1..03fa84a4 100644 --- a/src/PJ_poly.c +++ b/src/PJ_poly.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -163,4 +166,3 @@ PJ *PROJECTION(poly) { return P; } - diff --git a/src/PJ_putp2.c b/src/PJ_putp2.c index 51cf263d..0b4397e5 100644 --- a/src/PJ_putp2.c +++ b/src/PJ_putp2.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(putp2, "Putnins P2") "\n\tPCyl., Sph."; @@ -56,4 +59,3 @@ PJ *PROJECTION(putp2) { return P; } - diff --git a/src/PJ_putp4p.c b/src/PJ_putp4p.c index 958f9681..b716060a 100644 --- a/src/PJ_putp4p.c +++ b/src/PJ_putp4p.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" struct pj_opaque { @@ -69,4 +72,3 @@ PJ *PROJECTION(weren) { return P; } - diff --git a/src/PJ_putp5.c b/src/PJ_putp5.c index 14bfea23..6836f71d 100644 --- a/src/PJ_putp5.c +++ b/src/PJ_putp5.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" struct pj_opaque { @@ -68,4 +71,3 @@ PJ *PROJECTION(putp5p) { return P; } - diff --git a/src/PJ_putp6.c b/src/PJ_putp6.c index 938cef09..68c10701 100644 --- a/src/PJ_putp6.c +++ b/src/PJ_putp6.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" struct pj_opaque { @@ -90,4 +93,3 @@ PJ *PROJECTION(putp6p) { return P; } - diff --git a/src/PJ_qsc.c b/src/PJ_qsc.c index 0f5d2299..4b463b46 100644 --- a/src/PJ_qsc.c +++ b/src/PJ_qsc.c @@ -39,7 +39,10 @@ */ #define PJ_LIB__ + #include +#include + #include "projects.h" /* The six cube faces. */ @@ -397,4 +400,3 @@ PJ *PROJECTION(qsc) { return P; } - diff --git a/src/PJ_rpoly.c b/src/PJ_rpoly.c index d7241719..57c4fc92 100644 --- a/src/PJ_rpoly.c +++ b/src/PJ_rpoly.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" struct pj_opaque { @@ -51,4 +54,3 @@ PJ *PROJECTION(rpoly) { return P; } - diff --git a/src/PJ_sch.c b/src/PJ_sch.c index e9e67ff8..64e5cdb8 100644 --- a/src/PJ_sch.c +++ b/src/PJ_sch.c @@ -31,7 +31,10 @@ ****************************************************************************/ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" #include "geocent.h" @@ -225,4 +228,3 @@ PJ *PROJECTION(sch) { return setup(P); } - diff --git a/src/PJ_somerc.c b/src/PJ_somerc.c index 02df5868..c6c3ff21 100644 --- a/src/PJ_somerc.c +++ b/src/PJ_somerc.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -87,4 +90,3 @@ PJ *PROJECTION(somerc) { P->fwd = e_forward; return P; } - diff --git a/src/PJ_sts.c b/src/PJ_sts.c index d8866b66..8409d86a 100644 --- a/src/PJ_sts.c +++ b/src/PJ_sts.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" PROJ_HEAD(kav5, "Kavraisky V") "\n\tPCyl., Sph."; @@ -102,4 +105,3 @@ PJ *PROJECTION(mbt_s) { P->opaque = Q; return setup(P, 1.48875, 1.36509, 0); } - diff --git a/src/PJ_tcc.c b/src/PJ_tcc.c index c355a602..14255325 100644 --- a/src/PJ_tcc.c +++ b/src/PJ_tcc.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj.h" #include "projects.h" @@ -29,4 +32,3 @@ PJ *PROJECTION(tcc) { return P; } - diff --git a/src/PJ_tcea.c b/src/PJ_tcea.c index 415b42de..d30f3df0 100644 --- a/src/PJ_tcea.c +++ b/src/PJ_tcea.c @@ -1,5 +1,8 @@ #define PJ_LIB__ -#include "projects.h" + +#include + +#include "projects.h" PROJ_HEAD(tcea, "Transverse Cylindrical Equal Area") "\n\tCyl, Sph"; @@ -31,4 +34,3 @@ PJ *PROJECTION(tcea) { P->es = 0.; return P; } - diff --git a/src/PJ_times.c b/src/PJ_times.c index 18fe7233..e8b4499f 100644 --- a/src/PJ_times.c +++ b/src/PJ_times.c @@ -30,6 +30,9 @@ *****************************************************************************/ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(times, "Times") "\n\tCyl, Sph"; @@ -74,4 +77,3 @@ PJ *PROJECTION(times) { return P; } - diff --git a/src/PJ_tmerc.c b/src/PJ_tmerc.c index f0f34c93..069cdc2c 100644 --- a/src/PJ_tmerc.c +++ b/src/PJ_tmerc.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -203,4 +206,3 @@ PJ *PROJECTION(tmerc) { return setup(P); } - diff --git a/src/PJ_unitconvert.c b/src/PJ_unitconvert.c index a076b76c..5c25a16b 100644 --- a/src/PJ_unitconvert.c +++ b/src/PJ_unitconvert.c @@ -64,8 +64,12 @@ Last update: 2017-05-16 ***********************************************************************/ #define PJ_LIB__ -#include + #include +#include +#include +#include + #include "proj_internal.h" #include "projects.h" diff --git a/src/PJ_urm5.c b/src/PJ_urm5.c index 091fe9d6..416cb866 100644 --- a/src/PJ_urm5.c +++ b/src/PJ_urm5.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -49,4 +52,3 @@ PJ *PROJECTION(urm5) { return P; } - diff --git a/src/PJ_urmfps.c b/src/PJ_urmfps.c index bbceab51..5749059b 100644 --- a/src/PJ_urmfps.c +++ b/src/PJ_urmfps.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -69,4 +72,3 @@ PJ *PROJECTION(wag1) { P->opaque->n = 0.8660254037844386467637231707; return setup(P); } - diff --git a/src/PJ_vandg2.c b/src/PJ_vandg2.c index 81f28a74..20b7601a 100644 --- a/src/PJ_vandg2.c +++ b/src/PJ_vandg2.c @@ -1,5 +1,8 @@ #define PJ_LIB__ + #include +#include + #include "projects.h" struct pj_opaque { @@ -69,4 +72,3 @@ PJ *PROJECTION(vandg3) { return P; } - diff --git a/src/PJ_vandg4.c b/src/PJ_vandg4.c index afffe41f..770594f1 100644 --- a/src/PJ_vandg4.c +++ b/src/PJ_vandg4.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "projects.h" PROJ_HEAD(vandg4, "van der Grinten IV") "\n\tMisc Sph, no inv."; @@ -50,4 +53,3 @@ PJ *PROJECTION(vandg4) { return P; } - diff --git a/src/PJ_vgridshift.c b/src/PJ_vgridshift.c index bb8b4d4d..205806b2 100644 --- a/src/PJ_vgridshift.c +++ b/src/PJ_vgridshift.c @@ -1,4 +1,7 @@ #define PJ_LIB__ + +#include + #include "proj_internal.h" #include "projects.h" @@ -74,4 +77,3 @@ PJ *TRANSFORMATION(vgridshift,0) { return P; } - diff --git a/src/PJ_wag2.c b/src/PJ_wag2.c index 059494d7..d12cade1 100644 --- a/src/PJ_wag2.c +++ b/src/PJ_wag2.c @@ -1,6 +1,11 @@ #define PJ_LIB__ + +#include + #include "projects.h" + PROJ_HEAD(wag2, "Wagner II") "\n\tPCyl., Sph."; + #define C_x 0.92483 #define C_y 1.38725 #define C_p1 0.88022 @@ -31,4 +36,3 @@ PJ *PROJECTION(wag2) { P->fwd = s_forward; return P; } - diff --git a/src/PJ_wag3.c b/src/PJ_wag3.c index 5db1e50f..6ae9ad28 100644 --- a/src/PJ_wag3.c +++ b/src/PJ_wag3.c @@ -1,6 +1,9 @@ #define PJ_LIB__ -#include "projects.h" + #include +#include + +#include "projects.h" PROJ_HEAD(wag3, "Wagner III") "\n\tPCyl., Sph.\n\tlat_ts="; @@ -43,4 +46,3 @@ PJ *PROJECTION(wag3) { return P; } - diff --git a/src/PJ_wag7.c b/src/PJ_wag7.c index a820b2cd..3cd332ad 100644 --- a/src/PJ_wag7.c +++ b/src/PJ_wag7.c @@ -1,5 +1,8 @@ #define PJ_LIB__ -#include "projects.h" + +#include + +#include "projects.h" PROJ_HEAD(wag7, "Wagner VII") "\n\tMisc Sph, no inv."; @@ -25,4 +28,3 @@ PJ *PROJECTION(wag7) { P->es = 0.; return P; } - diff --git a/src/PJ_wink1.c b/src/PJ_wink1.c index f64f97d2..10392fe9 100644 --- a/src/PJ_wink1.c +++ b/src/PJ_wink1.c @@ -1,6 +1,9 @@ #define PJ_LIB__ -#include "projects.h" + #include +#include + +#include "projects.h" PROJ_HEAD(wink1, "Winkel I") "\n\tPCyl., Sph.\n\tlat_ts="; @@ -39,4 +42,3 @@ PJ *PROJECTION(wink1) { return P; } - diff --git a/src/PJ_wink2.c b/src/PJ_wink2.c index d715074e..d02ca567 100644 --- a/src/PJ_wink2.c +++ b/src/PJ_wink2.c @@ -1,6 +1,9 @@ #define PJ_LIB__ -#include "projects.h" + #include +#include + +#include "projects.h" PROJ_HEAD(wink2, "Winkel II") "\n\tPCyl., Sph., no inv.\n\tlat_1="; @@ -47,4 +50,3 @@ PJ *PROJECTION(wink2) { return P; } - diff --git a/src/aasincos.c b/src/aasincos.c index c3915613..4f9ea25f 100644 --- a/src/aasincos.c +++ b/src/aasincos.c @@ -1,34 +1,38 @@ /* arc sin, cosine, tan2 and sqrt that will NOT fail */ + +#include + #include "projects.h" + #define ONE_TOL 1.00000000000001 #define ATOL 1e-50 - double + double aasin(projCtx ctx,double v) { - double av; - - if ((av = fabs(v)) >= 1.) { - if (av > ONE_TOL) + double av; + + if ((av = fabs(v)) >= 1.) { + if (av > ONE_TOL) pj_ctx_set_errno( ctx, PJD_ERR_ACOS_ASIN_ARG_TOO_LARGE ); - return (v < 0. ? -M_HALFPI : M_HALFPI); - } - return asin(v); + return (v < 0. ? -M_HALFPI : M_HALFPI); + } + return asin(v); } - double + double aacos(projCtx ctx, double v) { - double av; + double av; - if ((av = fabs(v)) >= 1.) { - if (av > ONE_TOL) + if ((av = fabs(v)) >= 1.) { + if (av > ONE_TOL) pj_ctx_set_errno( ctx, PJD_ERR_ACOS_ASIN_ARG_TOO_LARGE ); - return (v < 0. ? M_PI : 0.); - } - return acos(v); + return (v < 0. ? M_PI : 0.); + } + return acos(v); } - double + double asqrt(double v) { return ((v <= 0) ? 0. : sqrt(v)); } - double + double aatan2(double n, double d) { - return ((fabs(n) < ATOL && fabs(d) < ATOL) ? 0. : atan2(n,d)); + return ((fabs(n) < ATOL && fabs(d) < ATOL) ? 0. : atan2(n,d)); } diff --git a/src/cs2cs.c b/src/cs2cs.c index de3259d2..167eafa3 100644 --- a/src/cs2cs.c +++ b/src/cs2cs.c @@ -26,15 +26,16 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ -#include "proj.h" -#include "projects.h" +#include +#include +#include #include #include -#include #include -#include + +#include "proj.h" +#include "projects.h" #include "emess.h" -#include #define MAX_LINE 1000 #define MAX_PARGS 100 diff --git a/src/dmstor.c b/src/dmstor.c index 23871a85..d3496cd9 100644 --- a/src/dmstor.c +++ b/src/dmstor.c @@ -1,7 +1,11 @@ /* Convert DMS string to radians */ -#include "projects.h" -#include + #include +#include +#include +#include + +#include "projects.h" static double proj_strtod(char *nptr, char **endptr); diff --git a/src/emess.c b/src/emess.c index a645bac9..330b8412 100644 --- a/src/emess.c +++ b/src/emess.c @@ -9,14 +9,16 @@ # endif #endif +#include +#include #include #include -#include -#include #include + #include "proj_api.h" #define EMESS_ROUTINE #include "emess.h" + void emess(int code, const char *fmt, ...) { va_list args; diff --git a/src/geod_set.c b/src/geod_set.c index 571a7d20..479f18da 100644 --- a/src/geod_set.c +++ b/src/geod_set.c @@ -1,11 +1,14 @@ - #define _IN_GEOD_SET +#include +#include #include + #include "proj.h" #include "projects.h" #include "geod_interface.h" #include "emess.h" + void geod_set(int argc, char **argv) { paralist *start = 0, *curr; diff --git a/src/gie.c b/src/gie.c index 17f2cca0..e0effaa4 100644 --- a/src/gie.c +++ b/src/gie.c @@ -108,6 +108,7 @@ Thomas Knudsen, thokn@sdfe.dk, 2017-10-01/2017-10-08 #include #include #include +#include #include #include #include diff --git a/src/nad_cvt.c b/src/nad_cvt.c index d4330d54..ec4a2b47 100644 --- a/src/nad_cvt.c +++ b/src/nad_cvt.c @@ -1,6 +1,11 @@ #define PJ_LIB__ + +#include +#include + #include "projects.h" #include "proj_math.h" + #define MAX_ITERATIONS 10 #define TOL 1e-12 diff --git a/src/nad_init.c b/src/nad_init.c index 844dcad2..8b024ac7 100644 --- a/src/nad_init.c +++ b/src/nad_init.c @@ -27,11 +27,14 @@ #define PJ_LIB__ -#include "projects.h" -#include #include +#include +#include +#include #include +#include "projects.h" + /************************************************************************/ /* swap_words() */ /* */ diff --git a/src/pj_apply_gridshift.c b/src/pj_apply_gridshift.c index 424dfb11..31e0124e 100644 --- a/src/pj_apply_gridshift.c +++ b/src/pj_apply_gridshift.c @@ -30,8 +30,10 @@ #define PJ_LIB__ -#include #include +#include +#include + #include "proj_internal.h" #include "projects.h" diff --git a/src/pj_apply_vgridshift.c b/src/pj_apply_vgridshift.c index e7106b25..58605df8 100644 --- a/src/pj_apply_vgridshift.c +++ b/src/pj_apply_vgridshift.c @@ -28,7 +28,9 @@ #define PJ_LIB__ +#include #include + #include "proj_math.h" #include "proj_internal.h" #include "projects.h" @@ -292,4 +294,3 @@ double proj_vgrid_value(PJ *P, LP lp){ return value; } - diff --git a/src/pj_auth.c b/src/pj_auth.c index ed716fde..d6024671 100644 --- a/src/pj_auth.c +++ b/src/pj_auth.c @@ -1,5 +1,10 @@ /* determine latitude from authalic latitude */ + +#include +#include + #include "projects.h" + # define P00 .33333333333333333333 /* 1 / 3 */ # define P01 .17222222222222222222 /* 31 / 180 */ # define P02 .10257936507936507937 /* 517 / 5040 */ @@ -7,6 +12,7 @@ # define P11 .06640211640211640212 /* 251 / 3780 */ # define P20 .01677689594356261023 /* 761 / 45360 */ #define APA_SIZE 3 + double * pj_authset(double es) { double t, *APA; diff --git a/src/pj_ctx.c b/src/pj_ctx.c index 1b2aea27..d77bc88a 100644 --- a/src/pj_ctx.c +++ b/src/pj_ctx.c @@ -25,9 +25,11 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ -#include "projects.h" -#include #include +#include +#include + +#include "projects.h" static projCtx_t default_context; static volatile int default_context_initialized = 0; diff --git a/src/pj_datum_set.c b/src/pj_datum_set.c index e527ff84..466b56c5 100644 --- a/src/pj_datum_set.c +++ b/src/pj_datum_set.c @@ -26,9 +26,10 @@ *****************************************************************************/ #include -#include "projects.h" #include +#include "projects.h" + /* SEC_TO_RAD = Pi/180/3600 */ #define SEC_TO_RAD 4.84813681109535993589914102357e-6 diff --git a/src/pj_datums.c b/src/pj_datums.c index 4bb23f24..2011d1bb 100644 --- a/src/pj_datums.c +++ b/src/pj_datums.c @@ -25,6 +25,8 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ +#include + #include "proj.h" #define PJ_DATUMS__ diff --git a/src/pj_deriv.c b/src/pj_deriv.c index 7c1fcded..2c91e0cc 100644 --- a/src/pj_deriv.c +++ b/src/pj_deriv.c @@ -1,5 +1,8 @@ /* dervative of (*P->fwd) projection */ #define PJ_LIB__ + +#include + #include "projects.h" int pj_deriv(LP lp, double h, const PJ *P, struct DERIVS *der) { diff --git a/src/pj_ell_set.c b/src/pj_ell_set.c index fc655289..fd27bd9d 100644 --- a/src/pj_ell_set.c +++ b/src/pj_ell_set.c @@ -1,6 +1,9 @@ /* set ellipsoid parameters a and es */ + +#include +#include #include -#include + #include "proj.h" #include "proj_internal.h" #include "projects.h" diff --git a/src/pj_ellps.c b/src/pj_ellps.c index 4005d1ce..2bc1e2bb 100644 --- a/src/pj_ellps.c +++ b/src/pj_ellps.c @@ -1,5 +1,7 @@ /* definition of standard geoids */ +#include + #include "proj.h" #define PJ_ELLPS__ diff --git a/src/pj_fileapi.c b/src/pj_fileapi.c index d7d3f00b..b08a8b95 100644 --- a/src/pj_fileapi.c +++ b/src/pj_fileapi.c @@ -27,9 +27,13 @@ *****************************************************************************/ #include -#include "projects.h" +#include +#include +#include #include +#include "projects.h" + static PAFile stdio_fopen(projCtx ctx, const char *filename, const char *access); static size_t stdio_fread(void *buffer, size_t size, size_t nmemb, diff --git a/src/pj_fwd.c b/src/pj_fwd.c index 347f8334..fe04f733 100644 --- a/src/pj_fwd.c +++ b/src/pj_fwd.c @@ -27,7 +27,9 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. *****************************************************************************/ + #include +#include #include "proj_internal.h" #include "projects.h" diff --git a/src/pj_gauss.c b/src/pj_gauss.c index 108ac059..4520bb39 100644 --- a/src/pj_gauss.c +++ b/src/pj_gauss.c @@ -24,6 +24,10 @@ ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #define PJ_LIB__ + +#include +#include + #include "projects.h" #define MAX_ITER 20 diff --git a/src/pj_gc_reader.c b/src/pj_gc_reader.c index c38cbf17..493fc075 100644 --- a/src/pj_gc_reader.c +++ b/src/pj_gc_reader.c @@ -27,10 +27,12 @@ #define PJ_LIB__ +#include #include -#include "projects.h" +#include #include -#include + +#include "projects.h" static int gc_readentry(projCtx ctx, PAFile fid, PJ_GridCatalogEntry *entry); @@ -46,7 +48,7 @@ PJ_GridCatalog *pj_gc_readcatalog( projCtx ctx, const char *catalog_name ) PJ_GridCatalog *catalog; int entry_max; char line[302]; - + fid = pj_open_lib( ctx, catalog_name, "r" ); if (fid == NULL) return NULL; diff --git a/src/pj_gridcatalog.c b/src/pj_gridcatalog.c index 45876ead..ea9c4aa1 100644 --- a/src/pj_gridcatalog.c +++ b/src/pj_gridcatalog.c @@ -27,9 +27,12 @@ #define PJ_LIB__ -#include "projects.h" -#include #include +#include +#include +#include + +#include "projects.h" static PJ_GridCatalog *grid_catalog_list = NULL; diff --git a/src/pj_gridinfo.c b/src/pj_gridinfo.c index 442b3fe6..f201f39e 100644 --- a/src/pj_gridinfo.c +++ b/src/pj_gridinfo.c @@ -28,11 +28,15 @@ #define PJ_LIB__ +#include +#include +#include +#include +#include +#include + #include "proj_internal.h" #include "projects.h" -#include -#include -#include /************************************************************************/ /* swap_words() */ diff --git a/src/pj_gridlist.c b/src/pj_gridlist.c index 9daabbe1..332de8dd 100644 --- a/src/pj_gridlist.c +++ b/src/pj_gridlist.c @@ -29,9 +29,10 @@ #define PJ_LIB__ #include -#include "projects.h" +#include #include -#include + +#include "projects.h" static PJ_GRIDINFO *grid_list = NULL; #define PJ_MAX_PATH_LENGTH 1024 diff --git a/src/pj_init.c b/src/pj_init.c index bdaf64f7..c5e92105 100644 --- a/src/pj_init.c +++ b/src/pj_init.c @@ -27,14 +27,16 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ - - #define PJ_LIB__ -#include "geodesic.h" + +#include +#include +#include +#include #include #include -#include -#include + +#include "geodesic.h" #include "proj.h" #include "proj_internal.h" #include "proj_math.h" diff --git a/src/pj_initcache.c b/src/pj_initcache.c index a0593138..3c347e4b 100644 --- a/src/pj_initcache.c +++ b/src/pj_initcache.c @@ -25,9 +25,10 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ -#include "projects.h" #include +#include "projects.h" + static int cache_count = 0; static int cache_alloc = 0; static char **cache_key = NULL; @@ -51,7 +52,7 @@ paralist *pj_clone_paralist( const paralist *list) newitem->used = 0; newitem->next = 0; strcpy( newitem->param, list->param ); - + if( list_copy == NULL ) list_copy = newitem; else diff --git a/src/pj_internal.c b/src/pj_internal.c index a6093c40..58ea9b48 100644 --- a/src/pj_internal.c +++ b/src/pj_internal.c @@ -28,10 +28,14 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. *****************************************************************************/ + #include -#include -#include #include +#include +#include +#include +#include +#include #include "geodesic.h" #include "proj_internal.h" diff --git a/src/pj_inv.c b/src/pj_inv.c index 327fef9f..72e06fe0 100644 --- a/src/pj_inv.c +++ b/src/pj_inv.c @@ -28,6 +28,7 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ #include +#include #include "proj_internal.h" #include "projects.h" diff --git a/src/pj_log.c b/src/pj_log.c index 19151800..6654691c 100644 --- a/src/pj_log.c +++ b/src/pj_log.c @@ -25,10 +25,13 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ +#include +#include +#include +#include + #include "proj.h" #include "projects.h" -#include -#include /************************************************************************/ /* pj_stderr_logger() */ diff --git a/src/pj_malloc.c b/src/pj_malloc.c index 2d670ae2..c45da85d 100644 --- a/src/pj_malloc.c +++ b/src/pj_malloc.c @@ -34,15 +34,18 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ - /* allocate and deallocate memory */ /* These routines are used so that applications can readily replace ** projection system memory allocation/deallocation call with custom ** application procedures. */ +#include +#include +#include +#include + #include "proj.h" #include "projects.h" -#include /**********************************************************************/ void *pj_malloc(size_t size) { diff --git a/src/pj_mlfn.c b/src/pj_mlfn.c index 24e7b63a..02e05c3a 100644 --- a/src/pj_mlfn.c +++ b/src/pj_mlfn.c @@ -1,4 +1,7 @@ +#include + #include "projects.h" + /* meridional distance for ellipsoid and inverse ** 8th degree - accurate to < 1e-5 meters when used in conjunction ** with typical major axis values. diff --git a/src/pj_open_lib.c b/src/pj_open_lib.c index 8ecbbd79..6b908360 100644 --- a/src/pj_open_lib.c +++ b/src/pj_open_lib.c @@ -29,11 +29,15 @@ *****************************************************************************/ #define PJ_LIB__ -#include "proj_internal.h" -#include "projects.h" + +#include +#include #include +#include #include -#include + +#include "proj_internal.h" +#include "projects.h" static const char *(*pj_finder)(const char *) = NULL; static int path_count = 0; diff --git a/src/pj_param.c b/src/pj_param.c index b52ac940..6cee4d1f 100644 --- a/src/pj_param.c +++ b/src/pj_param.c @@ -1,6 +1,9 @@ /* put parameters in linked list and retrieve */ + #include +#include #include +#include #include #include "projects.h" diff --git a/src/pj_pr_list.c b/src/pj_pr_list.c index baf8125f..4e71e471 100644 --- a/src/pj_pr_list.c +++ b/src/pj_pr_list.c @@ -1,7 +1,11 @@ /* print projection's list of parameters */ -#include "projects.h" + +#include #include #include + +#include "projects.h" + #define LINE_LEN 72 static int pr_list(PJ *P, int not_used) { diff --git a/src/pj_strerrno.c b/src/pj_strerrno.c index d881ae7b..e06ea58b 100644 --- a/src/pj_strerrno.c +++ b/src/pj_strerrno.c @@ -1,7 +1,9 @@ /* list of projection system pj_errno values */ + +#include #include -#include #include + #include "proj.h" #include "projects.h" diff --git a/src/pj_strtod.c b/src/pj_strtod.c index 1cf94c9b..45159d11 100644 --- a/src/pj_strtod.c +++ b/src/pj_strtod.c @@ -27,6 +27,11 @@ * DEALINGS IN THE SOFTWARE. ****************************************************************************/ +#include +#include +#include +#include + #include "projects.h" /* Windows nmake build doesn't have a proj_config.h, but HAVE_LOCALECONV */ @@ -35,10 +40,6 @@ #include "proj_config.h" #endif -#include -#include -#include - #define PJ_STRTOD_WORK_BUFFER_SIZE 64 /************************************************************************/ @@ -193,4 +194,3 @@ double pj_strtod( const char *nptr, char **endptr ) errno = nError; return dfValue; } - diff --git a/src/pj_transform.c b/src/pj_transform.c index 3d7bd5c8..5863b39e 100644 --- a/src/pj_transform.c +++ b/src/pj_transform.c @@ -27,9 +27,10 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ -#include "projects.h" -#include #include +#include + +#include "projects.h" #include "geocent.h" diff --git a/src/pj_units.c b/src/pj_units.c index 84b8894e..59ff1ebe 100644 --- a/src/pj_units.c +++ b/src/pj_units.c @@ -1,5 +1,7 @@ /* definition of standard cartesian units */ +#include + #include "proj.h" #define PJ_UNITS__ diff --git a/src/pj_utils.c b/src/pj_utils.c index 5a1faf72..3f18cc7e 100644 --- a/src/pj_utils.c +++ b/src/pj_utils.c @@ -28,9 +28,10 @@ #define PJ_LIB__ -#include "projects.h" +#include #include -#include + +#include "projects.h" /************************************************************************/ /* pj_is_latlong() */ diff --git a/src/proj_4D_api.c b/src/proj_4D_api.c index 70110746..bd27cc17 100644 --- a/src/proj_4D_api.c +++ b/src/proj_4D_api.c @@ -26,8 +26,13 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. *****************************************************************************/ -#include + #include +#include +#include +#include +#include + #include "proj.h" #include "proj_internal.h" #include "proj_math.h" @@ -1080,4 +1085,3 @@ PJ_FACTORS proj_factors(PJ *P, PJ_COORD lp) { return factors; } - diff --git a/src/proj_api.h b/src/proj_api.h index 5bba5887..36187441 100644 --- a/src/proj_api.h +++ b/src/proj_api.h @@ -25,16 +25,16 @@ * DEALINGS IN THE SOFTWARE. *****************************************************************************/ - /* +/* * This version number should be updated with every release! * * This file is expected to be removed from the PROJ distribution * when a few minor-version releases has been made. * */ - #ifndef PJ_VERSION - #define PJ_VERSION 500 - #endif +#ifndef PJ_VERSION +#define PJ_VERSION 500 +#endif /* If we're not asked for PJ_VERSION only, give them everything */ @@ -43,16 +43,17 @@ #ifndef PROJ_API_H #define PROJ_API_H -#ifdef __cplusplus -extern "C" { -#endif - - /* standard inclusions */ #include +#include #include +#ifdef __cplusplus +extern "C" { +#endif + + /* pj_init() and similar functions can be used with a non-C locale */ /* Can be detected too at runtime if the symbol pj_atof exists */ #define PJ_LOCALE_SAFE 1 diff --git a/src/proj_etmerc.c b/src/proj_etmerc.c index 9a89e2b0..06da604d 100644 --- a/src/proj_etmerc.c +++ b/src/proj_etmerc.c @@ -38,10 +38,10 @@ * */ - #define PJ_LIB__ #include + #include "proj.h" #include "projects.h" #include "proj_math.h" @@ -349,4 +349,3 @@ PJ *PROJECTION(utm) { return setup (P); } - diff --git a/src/proj_internal.h b/src/proj_internal.h index 30a4a89e..bd289419 100644 --- a/src/proj_internal.h +++ b/src/proj_internal.h @@ -31,7 +31,9 @@ #define _USE_MATH_DEFINES #endif #endif + #include /* For M_PI */ +#include #include "proj.h" diff --git a/src/proj_mdist.c b/src/proj_mdist.c index 02d9ebee..777f704d 100644 --- a/src/proj_mdist.c +++ b/src/proj_mdist.c @@ -28,7 +28,12 @@ ** Precision commensurate with double precision. */ #define PJ_LIB__ + +#include +#include + #include "projects.h" + #define MAX_ITER 20 #define TOL 1e-14 diff --git a/src/proj_rouss.c b/src/proj_rouss.c index bbf6ff0f..ca4476bb 100644 --- a/src/proj_rouss.c +++ b/src/proj_rouss.c @@ -24,7 +24,10 @@ ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #define PJ_LIB__ + #include +#include + #include "proj.h" #include "projects.h" @@ -151,4 +154,3 @@ PJ *PROJECTION(rouss) { return P; } - diff --git a/src/rtodms.c b/src/rtodms.c index 77d438b7..f0e2f675 100644 --- a/src/rtodms.c +++ b/src/rtodms.c @@ -1,7 +1,12 @@ /* Convert radian argument to DMS ascii format */ -#include "projects.h" + +#include +#include #include #include + +#include "projects.h" + /* ** RES is fractional second figures ** RES60 = 60 * RES -- cgit v1.2.3 From e9e9e72c9d36eac00e65bb137242d039891c78f5 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sat, 19 May 2018 13:03:22 +0200 Subject: Vertical grid shift: do not interpolate node values at nodata value (fixes #1002) --- appveyor.yml | 3 ++ nad/tests/test_nodata.gtx | Bin 0 -> 104 bytes src/pj_apply_vgridshift.c | 65 ++++++++++++++++++++++++++++++---------- test/gie/4D-API_cs2cs-style.gie | 12 ++++++++ 4 files changed, 65 insertions(+), 15 deletions(-) create mode 100644 nad/tests/test_nodata.gtx diff --git a/appveyor.yml b/appveyor.yml index a6284f9e..f54155c5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -47,6 +47,7 @@ build_script: - if "%BUILD_TYPE%" == "nmake" if "%platform%" == "x64" nmake /f makefile.vc multistresstest.exe # Disabled for now as it scales badly # - if "%BUILD_TYPE%" == "nmake" if "%platform%" == "x64" multistresstest.exe + - if "%BUILD_TYPE%" == "nmake" if "%platform%" == "x64" cd .. - if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x64" SET VS_FULL=%VS_VERSION% Win64 - if "%BUILD_TYPE%" == "cmake" if "%platform%" == "x86" SET VS_FULL=%VS_VERSION% - if "%BUILD_TYPE%" == "cmake" echo "%VS_FULL%" @@ -57,6 +58,8 @@ test_script: - echo test_script - if "%BUILD_TYPE%" == "cmake" set PROJ_LIB=C:\projects\proj-4\nad - if "%BUILD_TYPE%" == "nmake" set PROJ_LIB=C:\PROJ\SHARE + - if "%BUILD_TYPE%" == "nmake" mkdir %PROJ_LIB%\tests + - if "%BUILD_TYPE%" == "nmake" copy nad\tests\*.* %PROJ_LIB%\tests - cd %PROJ_LIB% - curl -O http://download.osgeo.org/proj/proj-datumgrid-1.7.zip - 7z e -aoa -y proj-datumgrid-1.7.zip diff --git a/nad/tests/test_nodata.gtx b/nad/tests/test_nodata.gtx new file mode 100644 index 00000000..e439e5f4 Binary files /dev/null and b/nad/tests/test_nodata.gtx differ diff --git a/src/pj_apply_vgridshift.c b/src/pj_apply_vgridshift.c index 58605df8..ca932674 100644 --- a/src/pj_apply_vgridshift.c +++ b/src/pj_apply_vgridshift.c @@ -35,6 +35,15 @@ #include "proj_internal.h" #include "projects.h" +static int is_nodata(float value) +{ + /* nodata? */ + /* GTX official nodata value if -88.88880f, but some grids also */ + /* use other big values for nodata (e.g naptrans2008.gtx has */ + /* nodata values like -2147479936), so test them too */ + return value > 1000 || value < -1000 || value == -88.88880f; +} + static double read_vgrid_value( PJ *defn, LP input, int *gridlist_count_p, PJ_GRIDINFO **tables, struct CTABLE *ct) { int itable = 0; double value = HUGE_VAL; @@ -112,23 +121,49 @@ static double read_vgrid_value( PJ *defn, LP input, int *gridlist_count_p, PJ_GR grid_iy2 = ct->lim.phi - 1; cvs = (float *) ct->cvs; - value = cvs[grid_ix + grid_iy * ct->lim.lam] - * (1.0-grid_x) * (1.0-grid_y) - + cvs[grid_ix2 + grid_iy * ct->lim.lam] - * (grid_x) * (1.0-grid_y) - + cvs[grid_ix + grid_iy2 * ct->lim.lam] - * (1.0-grid_x) * (grid_y) - + cvs[grid_ix2 + grid_iy2 * ct->lim.lam] - * (grid_x) * (grid_y); + { + float value_a = cvs[grid_ix + grid_iy * ct->lim.lam]; + float value_b = cvs[grid_ix2 + grid_iy * ct->lim.lam]; + float value_c = cvs[grid_ix + grid_iy2 * ct->lim.lam]; + float value_d = cvs[grid_ix2 + grid_iy2 * ct->lim.lam]; + double total_weight = 0.0; + int n_weights = 0; + value = 0.0f; + if( !is_nodata(value_a) ) + { + double weight = (1.0-grid_x) * (1.0-grid_y); + value += value_a * weight; + total_weight += weight; + n_weights ++; + } + if( !is_nodata(value_b) ) + { + double weight = (grid_x) * (1.0-grid_y); + value += value_b * weight; + total_weight += weight; + n_weights ++; + } + if( !is_nodata(value_c) ) + { + double weight = (1.0-grid_x) * (grid_y); + value += value_c * weight; + total_weight += weight; + n_weights ++; + } + if( !is_nodata(value_d) ) + { + double weight = (grid_x) * (grid_y); + value += value_d * weight; + total_weight += weight; + n_weights ++; + } + if( n_weights == 0 ) + value = HUGE_VAL; + else if( n_weights != 4 ) + value /= total_weight; + } } - /* nodata? */ - /* GTX official nodata value if -88.88880f, but some grids also */ - /* use other big values for nodata (e.g naptrans2008.gtx has */ - /* nodata values like -2147479936), so test them too */ - if( value > 1000 || value < -1000 || value == -88.88880f ) - value = HUGE_VAL; - return value; } diff --git a/test/gie/4D-API_cs2cs-style.gie b/test/gie/4D-API_cs2cs-style.gie index 6eed4faa..4f756ed1 100644 --- a/test/gie/4D-API_cs2cs-style.gie +++ b/test/gie/4D-API_cs2cs-style.gie @@ -1,3 +1,5 @@ + +------------------------------------------------------------------------------- =============================================================================== Test the 4D API handling of cs2cs style transformation options. @@ -278,4 +280,14 @@ expect 1335.8339 7522.963 ------------------------------------------------------------------------------- +------------------------------------------------------------------------------- +Test bugfix of https://github.com/OSGeo/proj.4/issues/1002 +(do not interpolate nodata values) +------------------------------------------------------------------------------- +operation +proj=latlong +ellps=WGS84 +geoidgrids=tests/test_nodata.gtx +------------------------------------------------------------------------------- +accept 4.05 52.1 0 +expect 4.05 52.1 -10 +------------------------------------------------------------------------------- + -- cgit v1.2.3 From 905b15d4682876e306f0eb97014baa09eb1a3402 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sat, 19 May 2018 14:10:08 +0200 Subject: Undef isnan if already defined before redefining it (typically with MSVC) --- src/proj_math.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/proj_math.h b/src/proj_math.h index 1bb0a94f..84c9b0da 100644 --- a/src/proj_math.h +++ b/src/proj_math.h @@ -44,6 +44,9 @@ int pj_isnan(double x); #define hypot pj_hypot #define log1p pj_log1p #define asinh pj_asinh +#ifdef isnan +#undef isnan +#endif #define isnan pj_isnan #endif /* !(defined(HAVE_C99_MATH) && HAVE_C99_MATH) */ -- cgit v1.2.3 From 9f9b4505be5cb2006f363e1c0616e586b9d66a3d Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Sat, 19 May 2018 11:40:59 -0700 Subject: Partial clean isea defines and includes - Move includes to the top - Move #defines to the top after includes - Get M_PI and DEG90 from projects.h --- src/PJ_isea.c | 78 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 38 insertions(+), 40 deletions(-) diff --git a/src/PJ_isea.c b/src/PJ_isea.c index b982d11e..769b1837 100644 --- a/src/PJ_isea.c +++ b/src/PJ_isea.c @@ -3,15 +3,49 @@ * and is in the public domain. */ +#include #include #include #include #include #include -#ifndef M_PI -# define M_PI 3.14159265358979323846 -#endif +#define PJ_LIB__ +#include "proj.h" +#include "projects.h" + +#define DEG36 0.62831853071795864768 +#define DEG72 1.25663706143591729537 +#define DEG90 M_PI_2 +#define DEG108 1.88495559215387594306 +#define DEG120 2.09439510239319549229 +#define DEG144 2.51327412287183459075 +#define DEG180 M_PI + +/* sqrt(5)/M_PI */ +#define ISEA_SCALE 0.8301572857837594396028083 + +/* 26.565051177 degrees */ +#define V_LAT 0.46364760899944494524 + +/* 52.62263186 */ +#define E_RAD 0.91843818702186776133 + +/* 10.81231696 */ +#define F_RAD 0.18871053072122403508 + +/* R tan(g) sin(60) */ +#define TABLE_G 0.6615845383 + +/* H = 0.25 R tan g = */ +#define TABLE_H 0.1909830056 + +/* in radians */ +#define ISEA_STD_LAT 1.01722196792335072101 +#define ISEA_STD_LON .19634954084936207740 + +#define RAD2DEG (180.0/M_PI) +#define DEG2RAD (M_PI/180.0) struct hex { int iso; @@ -145,22 +179,6 @@ static const struct snyder_constants constants[] = { {37.37736814, 36.0, 30.0, 17.27, 1.163, 0.860, 13.14, 1.584, 1.0}, }; -#define DEG120 2.09439510239319549229 -#define DEG72 1.25663706143591729537 -#define DEG90 1.57079632679489661922 -#define DEG144 2.51327412287183459075 -#define DEG36 0.62831853071795864768 -#define DEG108 1.88495559215387594306 -#define DEG180 M_PI -/* sqrt(5)/M_PI */ -#define ISEA_SCALE 0.8301572857837594396028083 - -/* 26.565051177 degrees */ -#define V_LAT 0.46364760899944494524 - -#define RAD2DEG (180.0/M_PI) -#define DEG2RAD (M_PI/180.0) - static struct isea_geo vertex[] = { {0.0, DEG90}, {DEG180, V_LAT}, @@ -180,12 +198,6 @@ static struct isea_geo vertex[] = { static int tri_v1[] = {0, 0, 0, 0, 0, 0, 6, 7, 8, 9, 10, 2, 3, 4, 5, 1, 11, 11, 11, 11, 11}; -/* 52.62263186 */ -#define E_RAD 0.91843818702186776133 - -/* 10.81231696 */ -#define F_RAD 0.18871053072122403508 - /* triangle Centers */ static const struct isea_geo icostriangles[] = { {0.0, 0.0}, @@ -229,12 +241,6 @@ static double az_adjustment(int triangle) return adj; } -/* R tan(g) sin(60) */ -#define TABLE_G 0.6615845383 - -/* H = 0.25 R tan g = */ -#define TABLE_H 0.1909830056 - static struct isea_pt isea_triangle_xy(int triangle) { struct isea_pt c; @@ -549,10 +555,6 @@ static struct isea_geo isea_ctran(struct isea_geo * np, struct isea_geo * pt, return npt; } -/* in radians */ -#define ISEA_STD_LAT 1.01722196792335072101 -#define ISEA_STD_LON .19634954084936207740 - /* fuller's at 5.2454 west, 2.3009 N, adjacent at 7.46658 deg */ static int isea_grid_init(struct isea_dgg * g) @@ -965,15 +967,11 @@ static struct isea_pt isea_forward(struct isea_dgg *g, struct isea_geo *in) return out; } + /* * Proj 4 integration code follows */ -#define PJ_LIB__ -#include -#include "proj.h" -#include "projects.h" - PROJ_HEAD(isea, "Icosahedral Snyder Equal Area") "\n\tSph"; struct pj_opaque { -- cgit v1.2.3 From 89aeb3d4ccf8683fb10b1a5bea0a5293d2e31817 Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Sat, 19 May 2018 11:52:05 -0700 Subject: Add documentation for Include What You Use (IWYU) (#1006) Docs requested in discussion of #1000 --- docs/source/community/code_contributions.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/source/community/code_contributions.rst b/docs/source/community/code_contributions.rst index ef144399..c3e835c8 100644 --- a/docs/source/community/code_contributions.rst +++ b/docs/source/community/code_contributions.rst @@ -151,3 +151,19 @@ Typo detection and fixes ~~~~~~~~~~~~~~~~~~~~~~~~ Run ``scripts/fix_typos.sh`` + +Include What You Use (IWYU) +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Managing C includes is a pain. IWYU makes updating headers a bit +easier. IWYU scans the code for functions that are called and makes +sure that the headers for all those functions are present and in +sorted order. However, you cannot blindly apply IWYU to PROJ. It +does not understand ifdefs, other platforms, or the order requirements +of PROJ internal headers. So the way to use it is to run it on a copy +of the source and merge in only the changes that make sense. +Additions of standard headers should always be safe to merge. The +rest require careful evaluation. See the IWYU documentation for +motivation and details. + +`IWYU docs `_ -- cgit v1.2.3 From 8d42763d3536eb67085b0968790da1fea0012641 Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Sun, 20 May 2018 07:47:50 -0700 Subject: isea: Use PJ_TODEG and PJ_TORAD (#991) --- src/PJ_isea.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/PJ_isea.c b/src/PJ_isea.c index 769b1837..4e0eda32 100644 --- a/src/PJ_isea.c +++ b/src/PJ_isea.c @@ -11,6 +11,7 @@ #include #define PJ_LIB__ +#include "proj_internal.h" #include "proj.h" #include "projects.h" @@ -44,9 +45,6 @@ #define ISEA_STD_LAT 1.01722196792335072101 #define ISEA_STD_LON .19634954084936207740 -#define RAD2DEG (180.0/M_PI) -#define DEG2RAD (M_PI/180.0) - struct hex { int iso; int x, y, z; @@ -336,9 +334,9 @@ static int isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) /* TODO put these constants in as radians to begin with */ c = constants[SNYDER_POLY_ICOSAHEDRON]; - theta = c.theta * DEG2RAD; - g = c.g * DEG2RAD; - G = c.G * DEG2RAD; + theta = PJ_TORAD(c.theta); + g = PJ_TORAD(c.g); + G = PJ_TORAD(c.G); for (i = 1; i <= 20; i++) { double z; @@ -458,7 +456,7 @@ static int isea_snyder_forward(struct isea_geo * ll, struct isea_pt * out) */ fprintf(stderr, "impossible transform: %f %f is not on any triangle\n", - ll->lon * RAD2DEG, ll->lat * RAD2DEG); + PJ_TODEG(ll->lon), PJ_TODEG(ll->lat)); exit(EXIT_FAILURE); -- cgit v1.2.3 From 37ebb8f9f0cc5083d22f84433fb2de0fdde8be00 Mon Sep 17 00:00:00 2001 From: Kurt Schwehr Date: Tue, 22 May 2018 14:03:01 -0700 Subject: Horner degree must be a positive integer (#1005) Found with autofuzz --- src/PJ_horner.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PJ_horner.c b/src/PJ_horner.c index 50e13850..09554a7f 100644 --- a/src/PJ_horner.c +++ b/src/PJ_horner.c @@ -454,9 +454,9 @@ PJ *PROJECTION(horner) { /* Polynomial degree specified? */ if (pj_param (P->ctx, P->params, "tdeg").i) { /* degree specified? */ degree = pj_param(P->ctx, P->params, "ideg").i; - if (degree > 10000) { - /* What is a reasonable maximum for the degree? */ - proj_log_debug (P, "Horner: Degree too large: %d", degree); + if (degree < 0 || degree > 10000) { + /* What are reasonable minimum and maximums for degree? */ + proj_log_debug (P, "Horner: Degree is unreasonable: %d", degree); return horner_freeup (P, PJD_ERR_INVALID_ARG); } } else { -- cgit v1.2.3