diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2018-11-30 16:15:36 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-11-30 16:15:36 +0100 |
| commit | b6a5c445e202e61c64b0986679a6e0a83724c322 (patch) | |
| tree | 70fdd74c8b59741922f5ed54bf2f35ff0a57ce90 /src/proj_experimental.h | |
| parent | 2d1deb2da9eab38febb4d4ce92faffa5d25a1e58 (diff) | |
| download | PROJ-b6a5c445e202e61c64b0986679a6e0a83724c322.tar.gz PROJ-b6a5c445e202e61c64b0986679a6e0a83724c322.zip | |
API: move all advanced PJ_OBJ creation functions in a dedicated proj_experimental.h header
Diffstat (limited to 'src/proj_experimental.h')
| -rw-r--r-- | src/proj_experimental.h | 831 |
1 files changed, 831 insertions, 0 deletions
diff --git a/src/proj_experimental.h b/src/proj_experimental.h new file mode 100644 index 00000000..1dc16f99 --- /dev/null +++ b/src/proj_experimental.h @@ -0,0 +1,831 @@ +/****************************************************************************** + * + * Project: PROJ + * Purpose: Experimental C API + * Author: Even Rouault <even dot rouault at spatialys dot com> + * + ****************************************************************************** + * Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot com> + * + * 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. + ****************************************************************************/ + +#include "proj.h" + +#ifndef PROJ_EXPERIMENTAL_H +#define PROJ_EXPERIMENTAL_H +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \file proj_experimental.h + * + * Experimental C API. + * + * \warning + * This API has been considered now to be experimental, and may change or + * be removed in the future. It addresses for now the needs of the GDAL + * project to be able to construct CRS objects in a programmatic way, piece + * by piece, instead of whole conversion from PROJ string or WKT string. + */ + +/* ------------------------------------------------------------------------- */ +/* Binding in C of advanced methods from the C++ API */ +/* */ +/* Manual construction of CRS objects. */ +/* ------------------------------------------------------------------------- */ + +/** + * \defgroup advanced_cpp_binding Binding in C of advanced methods from the C++ API + * @{ + */ + +/** Type of unit of measure. */ +typedef enum +{ + /** Angular unit of measure */ + PJ_UT_ANGULAR, + /** Linear unit of measure */ + PJ_UT_LINEAR, + /** Scale unit of measure */ + PJ_UT_SCALE, + /** Time unit of measure */ + PJ_UT_TIME, + /** Parametric unit of measure */ + PJ_UT_PARAMETRIC +} PJ_UNIT_TYPE; + +/** Axis description. */ +typedef struct +{ + /** Axis name. */ + char* name; + /** Axis abbreviation. */ + char* abbreviation; + /** Axis direction. */ + char* direction; + /** Axis unit name. */ + char* unit_name; + /** Conversion factor to SI of the unit. */ + double unit_conv_factor; + /** Type of unit */ + PJ_UNIT_TYPE unit_type; +} PJ_AXIS_DESCRIPTION; + +PJ_OBJ PROJ_DLL *proj_obj_create_cs(PJ_CONTEXT *ctx, + PJ_COORDINATE_SYSTEM_TYPE type, + int axis_count, + const PJ_AXIS_DESCRIPTION* axis); + +/** Type of Cartesian 2D coordinate system. */ +typedef enum +{ + /* Easting-Norting */ + PJ_CART2D_EASTING_NORTHING, + /* Northing-Easting */ + PJ_CART2D_NORTHING_EASTING, +} PJ_CARTESIAN_CS_2D_TYPE; + +PJ_OBJ PROJ_DLL *proj_obj_create_cartesian_2D_cs(PJ_CONTEXT *ctx, + PJ_CARTESIAN_CS_2D_TYPE type, + const char* unit_name, + double unit_conv_factor); + + +/** Type of Cartesian 2D coordinate system. */ +typedef enum +{ + /* Longitude-Latitude */ + PJ_ELLPS2D_LONGITUDE_LATITUDE, + /* Latitude-Longitude */ + PJ_ELLPS2D_LATITUDE_LONGITUDE, +} PJ_ELLIPSOIDAL_CS_2D_TYPE; + +PJ_OBJ PROJ_DLL *proj_obj_create_ellipsoidal_2D_cs(PJ_CONTEXT *ctx, + PJ_ELLIPSOIDAL_CS_2D_TYPE type, + const char* unit_name, + double unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs( + PJ_CONTEXT *ctx, + const char *crs_name, + const char *datum_name, + const char *ellps_name, + double semi_major_metre, double inv_flattening, + const char *prime_meridian_name, + double prime_meridian_offset, + const char *pm_angular_units, + double pm_units_conv, + PJ_OBJ* ellipsoidal_cs); + +PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs_from_datum( + PJ_CONTEXT *ctx, + const char *crs_name, + PJ_OBJ* datum, + PJ_OBJ* ellipsoidal_cs); + +PJ_OBJ PROJ_DLL *proj_obj_create_geocentric_crs( + PJ_CONTEXT *ctx, + const char *crs_name, + const char *datum_name, + const char *ellps_name, + double semi_major_metre, double inv_flattening, + const char *prime_meridian_name, + double prime_meridian_offset, + const char *angular_units, + double angular_units_conv, + const char *linear_units, + double linear_units_conv); + +PJ_OBJ PROJ_DLL *proj_obj_create_geocentric_crs_from_datum( + PJ_CONTEXT *ctx, + const char *crs_name, + const PJ_OBJ* datum, + const char *linear_units, + double linear_units_conv); + +PJ_OBJ PROJ_DLL *proj_obj_alter_name(PJ_CONTEXT *ctx, + const PJ_OBJ* obj, const char* name); + +PJ_OBJ PROJ_DLL *proj_obj_crs_alter_geodetic_crs(PJ_CONTEXT *ctx, + const PJ_OBJ* obj, + const PJ_OBJ* new_geod_crs); + +PJ_OBJ PROJ_DLL *proj_obj_crs_alter_cs_angular_unit(PJ_CONTEXT *ctx, + const PJ_OBJ* obj, + const char *angular_units, + double angular_units_conv); + +PJ_OBJ PROJ_DLL *proj_obj_crs_alter_cs_linear_unit(PJ_CONTEXT *ctx, + const PJ_OBJ* obj, + const char *linear_units, + double linear_units_conv); + +PJ_OBJ PROJ_DLL *proj_obj_crs_alter_parameters_linear_unit(PJ_CONTEXT *ctx, + const PJ_OBJ* obj, + const char *linear_units, + double linear_units_conv, + int convert_to_new_unit); + +PJ_OBJ PROJ_DLL *proj_obj_create_engineering_crs(PJ_CONTEXT *ctx, + const char *crsName); + +/** Description of a parameter value for a Conversion. */ +typedef struct +{ + /** Parameter name. */ + const char* name; + /** Parameter authority name. */ + const char* auth_name; + /** Parameter code. */ + const char* code; + /** Parameter value. */ + double value; + /** Name of unit in which parameter value is expressed. */ + const char* unit_name; + /** Conversion factor to SI of the unit. */ + double unit_conv_factor; + /** Type of unit */ + PJ_UNIT_TYPE unit_type; +} PJ_PARAM_DESCRIPTION; + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion(PJ_CONTEXT *ctx, + const char* name, + const char* auth_name, + const char* code, + const char* method_name, + const char* method_auth_name, + const char* method_code, + int param_count, + const PJ_PARAM_DESCRIPTION* params); + +PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs(PJ_CONTEXT *ctx, + const char* crs_name, + const PJ_OBJ* geodetic_crs, + const PJ_OBJ* conversion, + const PJ_OBJ* coordinate_system); + +PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs(PJ_CONTEXT *ctx, + const PJ_OBJ *base_crs, + const PJ_OBJ *hub_crs, + const PJ_OBJ *transformation); + +PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs_to_WGS84(PJ_CONTEXT *ctx, + const PJ_OBJ *crs); + +/* BEGIN: Generated by scripts/create_c_api_projections.py*/ +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_utm( + PJ_CONTEXT *ctx, + int zone, + int north); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_transverse_mercator( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gauss_schreiber_transverse_mercator( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_transverse_mercator_south_oriented( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_two_point_equidistant( + PJ_CONTEXT *ctx, + double latitude_first_point, + double longitude_first_point, + double latitude_second_point, + double longitude_secon_point, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_tunisia_mapping_grid( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_albers_equal_area( + PJ_CONTEXT *ctx, + double latitude_false_origin, + double longitude_false_origin, + double latitude_first_parallel, + double latitude_second_parallel, + double easting_false_origin, + double northing_false_origin, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_1sp( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp( + PJ_CONTEXT *ctx, + double latitude_false_origin, + double longitude_false_origin, + double latitude_first_parallel, + double latitude_second_parallel, + double easting_false_origin, + double northing_false_origin, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp_michigan( + PJ_CONTEXT *ctx, + double latitude_false_origin, + double longitude_false_origin, + double latitude_first_parallel, + double latitude_second_parallel, + double easting_false_origin, + double northing_false_origin, + double ellipsoid_scaling_factor, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp_belgium( + PJ_CONTEXT *ctx, + double latitude_false_origin, + double longitude_false_origin, + double latitude_first_parallel, + double latitude_second_parallel, + double easting_false_origin, + double northing_false_origin, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_azimuthal_equidistant( + PJ_CONTEXT *ctx, + double latitude_nat_origin, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_guam_projection( + PJ_CONTEXT *ctx, + double latitude_nat_origin, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_bonne( + PJ_CONTEXT *ctx, + double latitude_nat_origin, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_cylindrical_equal_area_spherical( + PJ_CONTEXT *ctx, + double latitude_first_parallel, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_cylindrical_equal_area( + PJ_CONTEXT *ctx, + double latitude_first_parallel, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_cassini_soldner( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_conic( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double latitude_first_parallel, + double latitude_second_parallel, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_i( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_ii( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_iii( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_iv( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_v( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_vi( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_cylindrical( + PJ_CONTEXT *ctx, + double latitude_first_parallel, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_cylindrical_spherical( + PJ_CONTEXT *ctx, + double latitude_first_parallel, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gall( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_goode_homolosine( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_interrupted_goode_homolosine( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_geostationary_satellite_sweep_x( + PJ_CONTEXT *ctx, + double center_long, + double height, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_geostationary_satellite_sweep_y( + PJ_CONTEXT *ctx, + double center_long, + double height, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gnomonic( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_variant_a( + PJ_CONTEXT *ctx, + double latitude_projection_centre, + double longitude_projection_centre, + double azimuth_initial_line, + double angle_from_rectified_to_skrew_grid, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_variant_b( + PJ_CONTEXT *ctx, + double latitude_projection_centre, + double longitude_projection_centre, + double azimuth_initial_line, + double angle_from_rectified_to_skrew_grid, + double scale, + double easting_projection_centre, + double northing_projection_centre, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_two_point_natural_origin( + PJ_CONTEXT *ctx, + double latitude_projection_centre, + double latitude_point1, + double longitude_point1, + double latitude_point2, + double longitude_point2, + double scale, + double easting_projection_centre, + double northing_projection_centre, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_international_map_world_polyconic( + PJ_CONTEXT *ctx, + double center_long, + double latitude_first_parallel, + double latitude_second_parallel, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_krovak_north_oriented( + PJ_CONTEXT *ctx, + double latitude_projection_centre, + double longitude_of_origin, + double colatitude_cone_axis, + double latitude_pseudo_standard_parallel, + double scale_factor_pseudo_standard_parallel, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_krovak( + PJ_CONTEXT *ctx, + double latitude_projection_centre, + double longitude_of_origin, + double colatitude_cone_axis, + double latitude_pseudo_standard_parallel, + double scale_factor_pseudo_standard_parallel, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_azimuthal_equal_area( + PJ_CONTEXT *ctx, + double latitude_nat_origin, + double longitude_nat_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_miller_cylindrical( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mercator_variant_a( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mercator_variant_b( + PJ_CONTEXT *ctx, + double latitude_first_parallel, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_popular_visualisation_pseudo_mercator( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mollweide( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_new_zealand_mapping_grid( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_oblique_stereographic( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_orthographic( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_american_polyconic( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_polar_stereographic_variant_a( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_polar_stereographic_variant_b( + PJ_CONTEXT *ctx, + double latitude_standard_parallel, + double longitude_of_origin, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_robinson( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_sinusoidal( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_stereographic( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double scale, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_van_der_grinten( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_i( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_ii( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_iii( + PJ_CONTEXT *ctx, + double latitude_true_scale, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_iv( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_v( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_vi( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_vii( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_quadrilateralized_spherical_cube( + PJ_CONTEXT *ctx, + double center_lat, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_spherical_cross_track_height( + PJ_CONTEXT *ctx, + double peg_point_lat, + double peg_point_long, + double peg_point_heading, + double peg_point_height, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equal_earth( + PJ_CONTEXT *ctx, + double center_long, + double false_easting, + double false_northing, + const char* ang_unit_name, double ang_unit_conv_factor, + const char* linear_unit_name, double linear_unit_conv_factor); + +/* END: Generated by scripts/create_c_api_projections.py*/ + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* ndef PROJ_EXPERIMENTAL_H */ |
