@cpp.js/package-proj 1.0.0-beta.24 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/cppjs.config.js +11 -51
  4. package/package.json +8 -16
  5. package/dist/prebuilt/Android-arm64-v8a/include/geodesic.h +0 -837
  6. package/dist/prebuilt/Android-arm64-v8a/include/proj/common.hpp +0 -489
  7. package/dist/prebuilt/Android-arm64-v8a/include/proj/coordinateoperation.hpp +0 -2147
  8. package/dist/prebuilt/Android-arm64-v8a/include/proj/coordinates.hpp +0 -115
  9. package/dist/prebuilt/Android-arm64-v8a/include/proj/coordinatesystem.hpp +0 -892
  10. package/dist/prebuilt/Android-arm64-v8a/include/proj/crs.hpp +0 -1595
  11. package/dist/prebuilt/Android-arm64-v8a/include/proj/datum.hpp +0 -860
  12. package/dist/prebuilt/Android-arm64-v8a/include/proj/io.hpp +0 -1397
  13. package/dist/prebuilt/Android-arm64-v8a/include/proj/metadata.hpp +0 -470
  14. package/dist/prebuilt/Android-arm64-v8a/include/proj/nn.hpp +0 -385
  15. package/dist/prebuilt/Android-arm64-v8a/include/proj/util.hpp +0 -781
  16. package/dist/prebuilt/Android-arm64-v8a/include/proj.h +0 -2231
  17. package/dist/prebuilt/Android-arm64-v8a/include/proj_constants.h +0 -879
  18. package/dist/prebuilt/Android-arm64-v8a/include/proj_experimental.h +0 -52
  19. package/dist/prebuilt/Android-arm64-v8a/include/proj_symbol_rename.h +0 -434
  20. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-config-version.cmake +0 -52
  21. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-config.cmake +0 -79
  22. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-targets-release.cmake +0 -19
  23. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj-targets.cmake +0 -106
  24. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj4-targets-release.cmake +0 -19
  25. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj/proj4-targets.cmake +0 -106
  26. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj-targets-release.cmake +0 -19
  27. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj-targets.cmake +0 -106
  28. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-config-version.cmake +0 -52
  29. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-config.cmake +0 -79
  30. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-targets-release.cmake +0 -19
  31. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/proj4/proj4-targets.cmake +0 -106
  32. package/dist/prebuilt/Android-arm64-v8a/lib/libproj.so +0 -0
  33. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/proj.pc +0 -14
  34. package/dist/prebuilt/Android-arm64-v8a/share/doc/proj/AUTHORS.md +0 -33
  35. package/dist/prebuilt/Android-arm64-v8a/share/doc/proj/COPYING +0 -34
  36. package/dist/prebuilt/Android-arm64-v8a/share/doc/proj/NEWS.md +0 -3084
  37. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/cct.1 +0 -370
  38. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/cs2cs.1 +0 -537
  39. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/geod.1 +0 -263
  40. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/gie.1 +0 -524
  41. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/proj.1 +0 -326
  42. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/projinfo.1 +0 -856
  43. package/dist/prebuilt/Android-arm64-v8a/share/man/man1/projsync.1 +0 -227
  44. package/dist/prebuilt/Android-arm64-v8a/share/proj/CH +0 -22
  45. package/dist/prebuilt/Android-arm64-v8a/share/proj/GL27 +0 -23
  46. package/dist/prebuilt/Android-arm64-v8a/share/proj/ITRF2000 +0 -24
  47. package/dist/prebuilt/Android-arm64-v8a/share/proj/ITRF2008 +0 -94
  48. package/dist/prebuilt/Android-arm64-v8a/share/proj/ITRF2014 +0 -55
  49. package/dist/prebuilt/Android-arm64-v8a/share/proj/ITRF2020 +0 -91
  50. package/dist/prebuilt/Android-arm64-v8a/share/proj/deformation_model.schema.json +0 -582
  51. package/dist/prebuilt/Android-arm64-v8a/share/proj/nad.lst +0 -142
  52. package/dist/prebuilt/Android-arm64-v8a/share/proj/nad27 +0 -810
  53. package/dist/prebuilt/Android-arm64-v8a/share/proj/nad83 +0 -745
  54. package/dist/prebuilt/Android-arm64-v8a/share/proj/other.extra +0 -53
  55. package/dist/prebuilt/Android-arm64-v8a/share/proj/proj.db +0 -0
  56. package/dist/prebuilt/Android-arm64-v8a/share/proj/proj.ini +0 -51
  57. package/dist/prebuilt/Android-arm64-v8a/share/proj/projjson.schema.json +0 -1174
  58. package/dist/prebuilt/Android-arm64-v8a/share/proj/triangulation.schema.json +0 -214
  59. package/dist/prebuilt/Android-arm64-v8a/share/proj/world +0 -214
  60. package/dist/prebuilt/Android-x86_64/include/geodesic.h +0 -837
  61. package/dist/prebuilt/Android-x86_64/include/proj/common.hpp +0 -489
  62. package/dist/prebuilt/Android-x86_64/include/proj/coordinateoperation.hpp +0 -2147
  63. package/dist/prebuilt/Android-x86_64/include/proj/coordinates.hpp +0 -115
  64. package/dist/prebuilt/Android-x86_64/include/proj/coordinatesystem.hpp +0 -892
  65. package/dist/prebuilt/Android-x86_64/include/proj/crs.hpp +0 -1595
  66. package/dist/prebuilt/Android-x86_64/include/proj/datum.hpp +0 -860
  67. package/dist/prebuilt/Android-x86_64/include/proj/io.hpp +0 -1397
  68. package/dist/prebuilt/Android-x86_64/include/proj/metadata.hpp +0 -470
  69. package/dist/prebuilt/Android-x86_64/include/proj/nn.hpp +0 -385
  70. package/dist/prebuilt/Android-x86_64/include/proj/util.hpp +0 -781
  71. package/dist/prebuilt/Android-x86_64/include/proj.h +0 -2231
  72. package/dist/prebuilt/Android-x86_64/include/proj_constants.h +0 -879
  73. package/dist/prebuilt/Android-x86_64/include/proj_experimental.h +0 -52
  74. package/dist/prebuilt/Android-x86_64/include/proj_symbol_rename.h +0 -434
  75. package/dist/prebuilt/Android-x86_64/lib/cmake/proj/proj-config-version.cmake +0 -52
  76. package/dist/prebuilt/Android-x86_64/lib/cmake/proj/proj-config.cmake +0 -79
  77. package/dist/prebuilt/Android-x86_64/lib/cmake/proj/proj-targets-release.cmake +0 -19
  78. package/dist/prebuilt/Android-x86_64/lib/cmake/proj/proj-targets.cmake +0 -106
  79. package/dist/prebuilt/Android-x86_64/lib/cmake/proj/proj4-targets-release.cmake +0 -19
  80. package/dist/prebuilt/Android-x86_64/lib/cmake/proj/proj4-targets.cmake +0 -106
  81. package/dist/prebuilt/Android-x86_64/lib/cmake/proj4/proj-targets-release.cmake +0 -19
  82. package/dist/prebuilt/Android-x86_64/lib/cmake/proj4/proj-targets.cmake +0 -106
  83. package/dist/prebuilt/Android-x86_64/lib/cmake/proj4/proj4-config-version.cmake +0 -52
  84. package/dist/prebuilt/Android-x86_64/lib/cmake/proj4/proj4-config.cmake +0 -79
  85. package/dist/prebuilt/Android-x86_64/lib/cmake/proj4/proj4-targets-release.cmake +0 -19
  86. package/dist/prebuilt/Android-x86_64/lib/cmake/proj4/proj4-targets.cmake +0 -106
  87. package/dist/prebuilt/Android-x86_64/lib/libproj.so +0 -0
  88. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/proj.pc +0 -14
  89. package/dist/prebuilt/Android-x86_64/share/doc/proj/AUTHORS.md +0 -33
  90. package/dist/prebuilt/Android-x86_64/share/doc/proj/COPYING +0 -34
  91. package/dist/prebuilt/Android-x86_64/share/doc/proj/NEWS.md +0 -3084
  92. package/dist/prebuilt/Android-x86_64/share/man/man1/cct.1 +0 -370
  93. package/dist/prebuilt/Android-x86_64/share/man/man1/cs2cs.1 +0 -537
  94. package/dist/prebuilt/Android-x86_64/share/man/man1/geod.1 +0 -263
  95. package/dist/prebuilt/Android-x86_64/share/man/man1/gie.1 +0 -524
  96. package/dist/prebuilt/Android-x86_64/share/man/man1/proj.1 +0 -326
  97. package/dist/prebuilt/Android-x86_64/share/man/man1/projinfo.1 +0 -856
  98. package/dist/prebuilt/Android-x86_64/share/man/man1/projsync.1 +0 -227
  99. package/dist/prebuilt/Android-x86_64/share/proj/CH +0 -22
  100. package/dist/prebuilt/Android-x86_64/share/proj/GL27 +0 -23
  101. package/dist/prebuilt/Android-x86_64/share/proj/ITRF2000 +0 -24
  102. package/dist/prebuilt/Android-x86_64/share/proj/ITRF2008 +0 -94
  103. package/dist/prebuilt/Android-x86_64/share/proj/ITRF2014 +0 -55
  104. package/dist/prebuilt/Android-x86_64/share/proj/ITRF2020 +0 -91
  105. package/dist/prebuilt/Android-x86_64/share/proj/deformation_model.schema.json +0 -582
  106. package/dist/prebuilt/Android-x86_64/share/proj/nad.lst +0 -142
  107. package/dist/prebuilt/Android-x86_64/share/proj/nad27 +0 -810
  108. package/dist/prebuilt/Android-x86_64/share/proj/nad83 +0 -745
  109. package/dist/prebuilt/Android-x86_64/share/proj/other.extra +0 -53
  110. package/dist/prebuilt/Android-x86_64/share/proj/proj.db +0 -0
  111. package/dist/prebuilt/Android-x86_64/share/proj/proj.ini +0 -51
  112. package/dist/prebuilt/Android-x86_64/share/proj/projjson.schema.json +0 -1174
  113. package/dist/prebuilt/Android-x86_64/share/proj/triangulation.schema.json +0 -214
  114. package/dist/prebuilt/Android-x86_64/share/proj/world +0 -214
  115. package/dist/prebuilt/CMakeLists.txt +0 -44
  116. package/dist/prebuilt/Emscripten-x86_64/include/geodesic.h +0 -837
  117. package/dist/prebuilt/Emscripten-x86_64/include/proj/common.hpp +0 -489
  118. package/dist/prebuilt/Emscripten-x86_64/include/proj/coordinateoperation.hpp +0 -2147
  119. package/dist/prebuilt/Emscripten-x86_64/include/proj/coordinates.hpp +0 -115
  120. package/dist/prebuilt/Emscripten-x86_64/include/proj/coordinatesystem.hpp +0 -892
  121. package/dist/prebuilt/Emscripten-x86_64/include/proj/crs.hpp +0 -1595
  122. package/dist/prebuilt/Emscripten-x86_64/include/proj/datum.hpp +0 -860
  123. package/dist/prebuilt/Emscripten-x86_64/include/proj/io.hpp +0 -1397
  124. package/dist/prebuilt/Emscripten-x86_64/include/proj/metadata.hpp +0 -470
  125. package/dist/prebuilt/Emscripten-x86_64/include/proj/nn.hpp +0 -385
  126. package/dist/prebuilt/Emscripten-x86_64/include/proj/util.hpp +0 -781
  127. package/dist/prebuilt/Emscripten-x86_64/include/proj.h +0 -2231
  128. package/dist/prebuilt/Emscripten-x86_64/include/proj_constants.h +0 -879
  129. package/dist/prebuilt/Emscripten-x86_64/include/proj_experimental.h +0 -52
  130. package/dist/prebuilt/Emscripten-x86_64/include/proj_symbol_rename.h +0 -434
  131. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-config-version.cmake +0 -52
  132. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-config.cmake +0 -79
  133. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-targets-release.cmake +0 -19
  134. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj-targets.cmake +0 -107
  135. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj4-targets-release.cmake +0 -19
  136. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj/proj4-targets.cmake +0 -107
  137. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj-targets-release.cmake +0 -19
  138. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj-targets.cmake +0 -107
  139. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-config-version.cmake +0 -52
  140. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-config.cmake +0 -79
  141. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-targets-release.cmake +0 -19
  142. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/proj4/proj4-targets.cmake +0 -107
  143. package/dist/prebuilt/Emscripten-x86_64/lib/libproj.a +0 -0
  144. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/proj.pc +0 -14
  145. package/dist/prebuilt/Emscripten-x86_64/share/doc/proj/AUTHORS.md +0 -33
  146. package/dist/prebuilt/Emscripten-x86_64/share/doc/proj/COPYING +0 -34
  147. package/dist/prebuilt/Emscripten-x86_64/share/doc/proj/NEWS.md +0 -3084
  148. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/cct.1 +0 -370
  149. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/cs2cs.1 +0 -537
  150. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/geod.1 +0 -263
  151. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/gie.1 +0 -524
  152. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/proj.1 +0 -326
  153. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/projinfo.1 +0 -856
  154. package/dist/prebuilt/Emscripten-x86_64/share/man/man1/projsync.1 +0 -227
  155. package/dist/prebuilt/Emscripten-x86_64/share/proj/CH +0 -22
  156. package/dist/prebuilt/Emscripten-x86_64/share/proj/GL27 +0 -23
  157. package/dist/prebuilt/Emscripten-x86_64/share/proj/ITRF2000 +0 -24
  158. package/dist/prebuilt/Emscripten-x86_64/share/proj/ITRF2008 +0 -94
  159. package/dist/prebuilt/Emscripten-x86_64/share/proj/ITRF2014 +0 -55
  160. package/dist/prebuilt/Emscripten-x86_64/share/proj/ITRF2020 +0 -91
  161. package/dist/prebuilt/Emscripten-x86_64/share/proj/deformation_model.schema.json +0 -582
  162. package/dist/prebuilt/Emscripten-x86_64/share/proj/nad.lst +0 -142
  163. package/dist/prebuilt/Emscripten-x86_64/share/proj/nad27 +0 -810
  164. package/dist/prebuilt/Emscripten-x86_64/share/proj/nad83 +0 -745
  165. package/dist/prebuilt/Emscripten-x86_64/share/proj/other.extra +0 -53
  166. package/dist/prebuilt/Emscripten-x86_64/share/proj/proj.db +0 -0
  167. package/dist/prebuilt/Emscripten-x86_64/share/proj/proj.ini +0 -51
  168. package/dist/prebuilt/Emscripten-x86_64/share/proj/projjson.schema.json +0 -1174
  169. package/dist/prebuilt/Emscripten-x86_64/share/proj/triangulation.schema.json +0 -214
  170. package/dist/prebuilt/Emscripten-x86_64/share/proj/world +0 -214
  171. package/dist/prebuilt/iOS-iphoneos/include/geodesic.h +0 -837
  172. package/dist/prebuilt/iOS-iphoneos/include/proj/common.hpp +0 -489
  173. package/dist/prebuilt/iOS-iphoneos/include/proj/coordinateoperation.hpp +0 -2147
  174. package/dist/prebuilt/iOS-iphoneos/include/proj/coordinates.hpp +0 -115
  175. package/dist/prebuilt/iOS-iphoneos/include/proj/coordinatesystem.hpp +0 -892
  176. package/dist/prebuilt/iOS-iphoneos/include/proj/crs.hpp +0 -1595
  177. package/dist/prebuilt/iOS-iphoneos/include/proj/datum.hpp +0 -860
  178. package/dist/prebuilt/iOS-iphoneos/include/proj/io.hpp +0 -1397
  179. package/dist/prebuilt/iOS-iphoneos/include/proj/metadata.hpp +0 -470
  180. package/dist/prebuilt/iOS-iphoneos/include/proj/nn.hpp +0 -385
  181. package/dist/prebuilt/iOS-iphoneos/include/proj/util.hpp +0 -781
  182. package/dist/prebuilt/iOS-iphoneos/include/proj.h +0 -2231
  183. package/dist/prebuilt/iOS-iphoneos/include/proj_constants.h +0 -879
  184. package/dist/prebuilt/iOS-iphoneos/include/proj_experimental.h +0 -52
  185. package/dist/prebuilt/iOS-iphoneos/include/proj_symbol_rename.h +0 -434
  186. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-config-version.cmake +0 -52
  187. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-config.cmake +0 -79
  188. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-targets-release.cmake +0 -19
  189. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj-targets.cmake +0 -108
  190. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj4-targets-release.cmake +0 -19
  191. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj/proj4-targets.cmake +0 -108
  192. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj-targets-release.cmake +0 -19
  193. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj-targets.cmake +0 -108
  194. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-config-version.cmake +0 -52
  195. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-config.cmake +0 -79
  196. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-targets-release.cmake +0 -19
  197. package/dist/prebuilt/iOS-iphoneos/lib/cmake/proj4/proj4-targets.cmake +0 -108
  198. package/dist/prebuilt/iOS-iphoneos/lib/libproj.a +0 -0
  199. package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/proj.pc +0 -14
  200. package/dist/prebuilt/iOS-iphoneos/share/doc/proj/AUTHORS.md +0 -33
  201. package/dist/prebuilt/iOS-iphoneos/share/doc/proj/COPYING +0 -34
  202. package/dist/prebuilt/iOS-iphoneos/share/doc/proj/NEWS.md +0 -3084
  203. package/dist/prebuilt/iOS-iphoneos/share/man/man1/cct.1 +0 -370
  204. package/dist/prebuilt/iOS-iphoneos/share/man/man1/cs2cs.1 +0 -537
  205. package/dist/prebuilt/iOS-iphoneos/share/man/man1/geod.1 +0 -263
  206. package/dist/prebuilt/iOS-iphoneos/share/man/man1/gie.1 +0 -524
  207. package/dist/prebuilt/iOS-iphoneos/share/man/man1/proj.1 +0 -326
  208. package/dist/prebuilt/iOS-iphoneos/share/man/man1/projinfo.1 +0 -856
  209. package/dist/prebuilt/iOS-iphoneos/share/man/man1/projsync.1 +0 -227
  210. package/dist/prebuilt/iOS-iphoneos/share/proj/CH +0 -22
  211. package/dist/prebuilt/iOS-iphoneos/share/proj/GL27 +0 -23
  212. package/dist/prebuilt/iOS-iphoneos/share/proj/ITRF2000 +0 -24
  213. package/dist/prebuilt/iOS-iphoneos/share/proj/ITRF2008 +0 -94
  214. package/dist/prebuilt/iOS-iphoneos/share/proj/ITRF2014 +0 -55
  215. package/dist/prebuilt/iOS-iphoneos/share/proj/ITRF2020 +0 -91
  216. package/dist/prebuilt/iOS-iphoneos/share/proj/deformation_model.schema.json +0 -582
  217. package/dist/prebuilt/iOS-iphoneos/share/proj/nad.lst +0 -142
  218. package/dist/prebuilt/iOS-iphoneos/share/proj/nad27 +0 -810
  219. package/dist/prebuilt/iOS-iphoneos/share/proj/nad83 +0 -745
  220. package/dist/prebuilt/iOS-iphoneos/share/proj/other.extra +0 -53
  221. package/dist/prebuilt/iOS-iphoneos/share/proj/proj.db +0 -0
  222. package/dist/prebuilt/iOS-iphoneos/share/proj/proj.ini +0 -51
  223. package/dist/prebuilt/iOS-iphoneos/share/proj/projjson.schema.json +0 -1174
  224. package/dist/prebuilt/iOS-iphoneos/share/proj/triangulation.schema.json +0 -214
  225. package/dist/prebuilt/iOS-iphoneos/share/proj/world +0 -214
  226. package/dist/prebuilt/iOS-iphonesimulator/include/geodesic.h +0 -837
  227. package/dist/prebuilt/iOS-iphonesimulator/include/proj/common.hpp +0 -489
  228. package/dist/prebuilt/iOS-iphonesimulator/include/proj/coordinateoperation.hpp +0 -2147
  229. package/dist/prebuilt/iOS-iphonesimulator/include/proj/coordinates.hpp +0 -115
  230. package/dist/prebuilt/iOS-iphonesimulator/include/proj/coordinatesystem.hpp +0 -892
  231. package/dist/prebuilt/iOS-iphonesimulator/include/proj/crs.hpp +0 -1595
  232. package/dist/prebuilt/iOS-iphonesimulator/include/proj/datum.hpp +0 -860
  233. package/dist/prebuilt/iOS-iphonesimulator/include/proj/io.hpp +0 -1397
  234. package/dist/prebuilt/iOS-iphonesimulator/include/proj/metadata.hpp +0 -470
  235. package/dist/prebuilt/iOS-iphonesimulator/include/proj/nn.hpp +0 -385
  236. package/dist/prebuilt/iOS-iphonesimulator/include/proj/util.hpp +0 -781
  237. package/dist/prebuilt/iOS-iphonesimulator/include/proj.h +0 -2231
  238. package/dist/prebuilt/iOS-iphonesimulator/include/proj_constants.h +0 -879
  239. package/dist/prebuilt/iOS-iphonesimulator/include/proj_experimental.h +0 -52
  240. package/dist/prebuilt/iOS-iphonesimulator/include/proj_symbol_rename.h +0 -434
  241. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-config-version.cmake +0 -52
  242. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-config.cmake +0 -79
  243. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-targets-release.cmake +0 -19
  244. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj-targets.cmake +0 -108
  245. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj4-targets-release.cmake +0 -19
  246. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj/proj4-targets.cmake +0 -108
  247. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj-targets-release.cmake +0 -19
  248. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj-targets.cmake +0 -108
  249. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-config-version.cmake +0 -52
  250. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-config.cmake +0 -79
  251. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-targets-release.cmake +0 -19
  252. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/proj4/proj4-targets.cmake +0 -108
  253. package/dist/prebuilt/iOS-iphonesimulator/lib/libproj.a +0 -0
  254. package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/proj.pc +0 -14
  255. package/dist/prebuilt/iOS-iphonesimulator/share/doc/proj/AUTHORS.md +0 -33
  256. package/dist/prebuilt/iOS-iphonesimulator/share/doc/proj/COPYING +0 -34
  257. package/dist/prebuilt/iOS-iphonesimulator/share/doc/proj/NEWS.md +0 -3084
  258. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/cct.1 +0 -370
  259. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/cs2cs.1 +0 -537
  260. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/geod.1 +0 -263
  261. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/gie.1 +0 -524
  262. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/proj.1 +0 -326
  263. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/projinfo.1 +0 -856
  264. package/dist/prebuilt/iOS-iphonesimulator/share/man/man1/projsync.1 +0 -227
  265. package/dist/prebuilt/iOS-iphonesimulator/share/proj/CH +0 -22
  266. package/dist/prebuilt/iOS-iphonesimulator/share/proj/GL27 +0 -23
  267. package/dist/prebuilt/iOS-iphonesimulator/share/proj/ITRF2000 +0 -24
  268. package/dist/prebuilt/iOS-iphonesimulator/share/proj/ITRF2008 +0 -94
  269. package/dist/prebuilt/iOS-iphonesimulator/share/proj/ITRF2014 +0 -55
  270. package/dist/prebuilt/iOS-iphonesimulator/share/proj/ITRF2020 +0 -91
  271. package/dist/prebuilt/iOS-iphonesimulator/share/proj/deformation_model.schema.json +0 -582
  272. package/dist/prebuilt/iOS-iphonesimulator/share/proj/nad.lst +0 -142
  273. package/dist/prebuilt/iOS-iphonesimulator/share/proj/nad27 +0 -810
  274. package/dist/prebuilt/iOS-iphonesimulator/share/proj/nad83 +0 -745
  275. package/dist/prebuilt/iOS-iphonesimulator/share/proj/other.extra +0 -53
  276. package/dist/prebuilt/iOS-iphonesimulator/share/proj/proj.db +0 -0
  277. package/dist/prebuilt/iOS-iphonesimulator/share/proj/proj.ini +0 -51
  278. package/dist/prebuilt/iOS-iphonesimulator/share/proj/projjson.schema.json +0 -1174
  279. package/dist/prebuilt/iOS-iphonesimulator/share/proj/triangulation.schema.json +0 -214
  280. package/dist/prebuilt/iOS-iphonesimulator/share/proj/world +0 -214
  281. package/proj.xcframework/Info.plist +0 -50
  282. package/proj.xcframework/ios-arm64_arm64e/Headers/geodesic.h +0 -837
  283. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/common.hpp +0 -489
  284. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/coordinateoperation.hpp +0 -2147
  285. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/coordinates.hpp +0 -115
  286. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/coordinatesystem.hpp +0 -892
  287. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/crs.hpp +0 -1595
  288. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/datum.hpp +0 -860
  289. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/io.hpp +0 -1397
  290. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/metadata.hpp +0 -470
  291. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/nn.hpp +0 -385
  292. package/proj.xcframework/ios-arm64_arm64e/Headers/proj/util.hpp +0 -781
  293. package/proj.xcframework/ios-arm64_arm64e/Headers/proj.h +0 -2231
  294. package/proj.xcframework/ios-arm64_arm64e/Headers/proj_constants.h +0 -879
  295. package/proj.xcframework/ios-arm64_arm64e/Headers/proj_experimental.h +0 -52
  296. package/proj.xcframework/ios-arm64_arm64e/Headers/proj_symbol_rename.h +0 -434
  297. package/proj.xcframework/ios-arm64_arm64e/libproj.a +0 -0
  298. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/geodesic.h +0 -837
  299. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/common.hpp +0 -489
  300. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/coordinateoperation.hpp +0 -2147
  301. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/coordinates.hpp +0 -115
  302. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/coordinatesystem.hpp +0 -892
  303. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/crs.hpp +0 -1595
  304. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/datum.hpp +0 -860
  305. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/io.hpp +0 -1397
  306. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/metadata.hpp +0 -470
  307. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/nn.hpp +0 -385
  308. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj/util.hpp +0 -781
  309. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj.h +0 -2231
  310. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj_constants.h +0 -879
  311. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj_experimental.h +0 -52
  312. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/proj_symbol_rename.h +0 -434
  313. package/proj.xcframework/ios-arm64_arm64e_x86_64-simulator/libproj.a +0 -0
@@ -1,2147 +0,0 @@
1
- /******************************************************************************
2
- *
3
- * Project: PROJ
4
- * Purpose: ISO19111:2019 implementation
5
- * Author: Even Rouault <even dot rouault at spatialys dot com>
6
- *
7
- ******************************************************************************
8
- * Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot com>
9
- *
10
- * Permission is hereby granted, free of charge, to any person obtaining a
11
- * copy of this software and associated documentation files (the "Software"),
12
- * to deal in the Software without restriction, including without limitation
13
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
14
- * and/or sell copies of the Software, and to permit persons to whom the
15
- * Software is furnished to do so, subject to the following conditions:
16
- *
17
- * The above copyright notice and this permission notice shall be included
18
- * in all copies or substantial portions of the Software.
19
- *
20
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
- * DEALINGS IN THE SOFTWARE.
27
- ****************************************************************************/
28
-
29
- #ifndef COORDINATEOPERATION_HH_INCLUDED
30
- #define COORDINATEOPERATION_HH_INCLUDED
31
-
32
- #include <memory>
33
- #include <string>
34
- #include <utility>
35
- #include <vector>
36
-
37
- #include "common.hpp"
38
- #include "io.hpp"
39
- #include "metadata.hpp"
40
-
41
- #include "proj.h"
42
-
43
- NS_PROJ_START
44
-
45
- namespace crs {
46
- class CRS;
47
- using CRSPtr = std::shared_ptr<CRS>;
48
- using CRSNNPtr = util::nn<CRSPtr>;
49
-
50
- class DerivedCRS;
51
- class ProjectedCRS;
52
- } // namespace crs
53
-
54
- namespace io {
55
- class JSONParser;
56
- } // namespace io
57
-
58
- namespace coordinates {
59
- class CoordinateMetadata;
60
- using CoordinateMetadataPtr = std::shared_ptr<CoordinateMetadata>;
61
- using CoordinateMetadataNNPtr = util::nn<CoordinateMetadataPtr>;
62
- } // namespace coordinates
63
-
64
- /** osgeo.proj.operation namespace
65
-
66
- \brief Coordinate operations (relationship between any two coordinate
67
- reference systems).
68
-
69
- This covers Conversion, Transformation,
70
- PointMotionOperation or ConcatenatedOperation.
71
- */
72
- namespace operation {
73
-
74
- // ---------------------------------------------------------------------------
75
-
76
- /** \brief Grid description */
77
- struct GridDescription {
78
- std::string shortName; /**< Grid short filename */
79
- std::string fullName; /**< Grid full path name (if found) */
80
- std::string packageName; /**< Package name (or empty) */
81
- std::string url; /**< Grid URL (if packageName is empty), or package
82
- URL (or empty) */
83
- bool directDownload; /**< Whether url can be fetched directly. */
84
- /** Whether the grid is released with an open license. */
85
- bool openLicense;
86
- bool available; /**< Whether GRID is available. */
87
-
88
- //! @cond Doxygen_Suppress
89
- bool operator<(const GridDescription &other) const {
90
- return shortName < other.shortName;
91
- }
92
-
93
- PROJ_DLL GridDescription();
94
- PROJ_DLL ~GridDescription();
95
- PROJ_DLL GridDescription(const GridDescription &);
96
- PROJ_DLL GridDescription(GridDescription &&) noexcept;
97
- //! @endcond
98
- };
99
-
100
- // ---------------------------------------------------------------------------
101
-
102
- class CoordinateOperation;
103
- /** Shared pointer of CoordinateOperation */
104
- using CoordinateOperationPtr = std::shared_ptr<CoordinateOperation>;
105
- /** Non-null shared pointer of CoordinateOperation */
106
- using CoordinateOperationNNPtr = util::nn<CoordinateOperationPtr>;
107
-
108
- // ---------------------------------------------------------------------------
109
-
110
- class CoordinateTransformer;
111
- /** Shared pointer of CoordinateTransformer */
112
- using CoordinateTransformerPtr = std::unique_ptr<CoordinateTransformer>;
113
- /** Non-null shared pointer of CoordinateTransformer */
114
- using CoordinateTransformerNNPtr = util::nn<CoordinateTransformerPtr>;
115
-
116
- /** \brief Coordinate transformer.
117
- *
118
- * Performs coordinate transformation of coordinate tuplies.
119
- *
120
- * @since 9.3
121
- */
122
- class PROJ_GCC_DLL CoordinateTransformer {
123
- public:
124
- //! @cond Doxygen_Suppress
125
- PROJ_DLL ~CoordinateTransformer();
126
- //! @endcond
127
-
128
- PROJ_DLL PJ_COORD transform(PJ_COORD coord);
129
-
130
- protected:
131
- PROJ_FRIEND(CoordinateOperation);
132
-
133
- PROJ_INTERNAL CoordinateTransformer();
134
-
135
- PROJ_INTERNAL static CoordinateTransformerNNPtr
136
- create(const CoordinateOperationNNPtr &op, PJ_CONTEXT *ctx);
137
-
138
- private:
139
- PROJ_OPAQUE_PRIVATE_DATA
140
- INLINED_MAKE_UNIQUE
141
- CoordinateTransformer &
142
- operator=(const CoordinateTransformer &other) = delete;
143
- };
144
-
145
- // ---------------------------------------------------------------------------
146
-
147
- class Transformation;
148
- /** Shared pointer of Transformation */
149
- using TransformationPtr = std::shared_ptr<Transformation>;
150
- /** Non-null shared pointer of Transformation */
151
- using TransformationNNPtr = util::nn<TransformationPtr>;
152
-
153
- /** \brief Abstract class for a mathematical operation on coordinates.
154
- *
155
- * A mathematical operation:
156
- * <ul>
157
- * <li>on coordinates that transforms or converts them from one coordinate
158
- * reference system to another coordinate reference system</li>
159
- * <li>or that describes the change of coordinate values within one coordinate
160
- * reference system due to the motion of the point between one coordinate epoch
161
- * and another coordinate epoch.</li>
162
- * </ul>
163
- * Many but not all coordinate operations (from CRS A to CRS B) also uniquely
164
- * define the inverse coordinate operation (from CRS B to CRS A). In some cases,
165
- * the coordinate operation method algorithm for the inverse coordinate
166
- * operation is the same as for the forward algorithm, but the signs of some
167
- * coordinate operation parameter values have to be reversed. In other cases,
168
- * different algorithms are required for the forward and inverse coordinate
169
- * operations, but the same coordinate operation parameter values are used. If
170
- * (some) entirely different parameter values are needed, a different coordinate
171
- * operation shall be defined.
172
- *
173
- * \remark Implements CoordinateOperation from \ref ISO_19111_2019
174
- */
175
- class PROJ_GCC_DLL CoordinateOperation : public common::ObjectUsage,
176
- public io::IPROJStringExportable,
177
- public io::IJSONExportable {
178
- public:
179
- //! @cond Doxygen_Suppress
180
- PROJ_DLL ~CoordinateOperation() override;
181
- //! @endcond
182
-
183
- PROJ_DLL const util::optional<std::string> &operationVersion() const;
184
- PROJ_DLL const std::vector<metadata::PositionalAccuracyNNPtr> &
185
- coordinateOperationAccuracies() const;
186
-
187
- PROJ_DLL const crs::CRSPtr sourceCRS() const;
188
- PROJ_DLL const crs::CRSPtr targetCRS() const;
189
- PROJ_DLL const crs::CRSPtr &interpolationCRS() const;
190
- PROJ_DLL const util::optional<common::DataEpoch> &
191
- sourceCoordinateEpoch() const;
192
- PROJ_DLL const util::optional<common::DataEpoch> &
193
- targetCoordinateEpoch() const;
194
-
195
- PROJ_DLL CoordinateTransformerNNPtr
196
- coordinateTransformer(PJ_CONTEXT *ctx) const;
197
-
198
- /** \brief Return the inverse of the coordinate operation.
199
- *
200
- * \throw util::UnsupportedOperationException if inverse is not available
201
- */
202
- PROJ_DLL virtual CoordinateOperationNNPtr inverse() const = 0;
203
-
204
- /** \brief Return grids needed by an operation. */
205
- PROJ_DLL virtual std::set<GridDescription>
206
- gridsNeeded(const io::DatabaseContextPtr &databaseContext,
207
- bool considerKnownGridsAsAvailable) const = 0;
208
-
209
- PROJ_DLL bool
210
- isPROJInstantiable(const io::DatabaseContextPtr &databaseContext,
211
- bool considerKnownGridsAsAvailable) const;
212
-
213
- PROJ_DLL bool hasBallparkTransformation() const;
214
-
215
- PROJ_DLL bool requiresPerCoordinateInputTime() const;
216
-
217
- PROJ_DLL static const std::string OPERATION_VERSION_KEY;
218
-
219
- PROJ_DLL CoordinateOperationNNPtr normalizeForVisualization() const;
220
-
221
- PROJ_PRIVATE :
222
- //! @cond Doxygen_Suppress
223
- PROJ_FOR_TEST CoordinateOperationNNPtr
224
- shallowClone() const;
225
- //! @endcond
226
-
227
- protected:
228
- PROJ_INTERNAL CoordinateOperation();
229
- PROJ_INTERNAL CoordinateOperation(const CoordinateOperation &other);
230
-
231
- PROJ_FRIEND(crs::DerivedCRS);
232
- PROJ_FRIEND(io::AuthorityFactory);
233
- PROJ_FRIEND(CoordinateOperationFactory);
234
- PROJ_FRIEND(ConcatenatedOperation);
235
- PROJ_FRIEND(io::WKTParser);
236
- PROJ_FRIEND(io::JSONParser);
237
- PROJ_INTERNAL void
238
- setWeakSourceTargetCRS(std::weak_ptr<crs::CRS> sourceCRSIn,
239
- std::weak_ptr<crs::CRS> targetCRSIn);
240
- PROJ_INTERNAL void setCRSs(const crs::CRSNNPtr &sourceCRSIn,
241
- const crs::CRSNNPtr &targetCRSIn,
242
- const crs::CRSPtr &interpolationCRSIn);
243
- PROJ_INTERNAL void
244
- setInterpolationCRS(const crs::CRSPtr &interpolationCRSIn);
245
- PROJ_INTERNAL void setCRSs(const CoordinateOperation *in,
246
- bool inverseSourceTarget);
247
- PROJ_INTERNAL
248
- void setAccuracies(
249
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
250
- PROJ_INTERNAL void setHasBallparkTransformation(bool b);
251
-
252
- PROJ_INTERNAL void setRequiresPerCoordinateInputTime(bool b);
253
-
254
- PROJ_INTERNAL void
255
- setSourceCoordinateEpoch(const util::optional<common::DataEpoch> &epoch);
256
- PROJ_INTERNAL void
257
- setTargetCoordinateEpoch(const util::optional<common::DataEpoch> &epoch);
258
-
259
- PROJ_INTERNAL void
260
- setProperties(const util::PropertyMap
261
- &properties); // throw(InvalidValueTypeException)
262
-
263
- PROJ_INTERNAL virtual CoordinateOperationNNPtr _shallowClone() const = 0;
264
-
265
- private:
266
- PROJ_OPAQUE_PRIVATE_DATA
267
- CoordinateOperation &operator=(const CoordinateOperation &other) = delete;
268
- };
269
-
270
- // ---------------------------------------------------------------------------
271
-
272
- /** \brief Abstract class modelling a parameter value (OperationParameter)
273
- * or group of parameters.
274
- *
275
- * \remark Implements GeneralOperationParameter from \ref ISO_19111_2019
276
- */
277
- class PROJ_GCC_DLL GeneralOperationParameter : public common::IdentifiedObject {
278
- public:
279
- //! @cond Doxygen_Suppress
280
- PROJ_DLL ~GeneralOperationParameter() override;
281
- //! @endcond
282
-
283
- //! @cond Doxygen_Suppress
284
- PROJ_INTERNAL bool _isEquivalentTo(
285
- const util::IComparable *other,
286
- util::IComparable::Criterion criterion =
287
- util::IComparable::Criterion::STRICT,
288
- const io::DatabaseContextPtr &dbContext = nullptr) const override = 0;
289
- //! @endcond
290
-
291
- protected:
292
- PROJ_INTERNAL GeneralOperationParameter();
293
- PROJ_INTERNAL
294
- GeneralOperationParameter(const GeneralOperationParameter &other);
295
-
296
- private:
297
- PROJ_OPAQUE_PRIVATE_DATA
298
- GeneralOperationParameter &
299
- operator=(const GeneralOperationParameter &other) = delete;
300
- };
301
-
302
- /** Shared pointer of GeneralOperationParameter */
303
- using GeneralOperationParameterPtr = std::shared_ptr<GeneralOperationParameter>;
304
- /** Non-null shared pointer of GeneralOperationParameter */
305
- using GeneralOperationParameterNNPtr = util::nn<GeneralOperationParameterPtr>;
306
-
307
- // ---------------------------------------------------------------------------
308
-
309
- class OperationParameter;
310
- /** Shared pointer of OperationParameter */
311
- using OperationParameterPtr = std::shared_ptr<OperationParameter>;
312
- /** Non-null shared pointer of OperationParameter */
313
- using OperationParameterNNPtr = util::nn<OperationParameterPtr>;
314
-
315
- /** \brief The definition of a parameter used by a coordinate operation method.
316
- *
317
- * Most parameter values are numeric, but other types of parameter values are
318
- * possible.
319
- *
320
- * \remark Implements OperationParameter from \ref ISO_19111_2019
321
- */
322
- class PROJ_GCC_DLL OperationParameter final : public GeneralOperationParameter {
323
- public:
324
- //! @cond Doxygen_Suppress
325
- PROJ_DLL ~OperationParameter() override;
326
- //! @endcond
327
-
328
- //! @cond Doxygen_Suppress
329
- PROJ_INTERNAL bool _isEquivalentTo(
330
- const util::IComparable *other,
331
- util::IComparable::Criterion criterion =
332
- util::IComparable::Criterion::STRICT,
333
- const io::DatabaseContextPtr &dbContext = nullptr) const override;
334
- //! @endcond
335
-
336
- // non-standard
337
- PROJ_DLL static OperationParameterNNPtr
338
- create(const util::PropertyMap &properties);
339
-
340
- PROJ_DLL int getEPSGCode() PROJ_PURE_DECL;
341
-
342
- PROJ_DLL static const char *getNameForEPSGCode(int epsg_code) noexcept;
343
-
344
- protected:
345
- PROJ_INTERNAL OperationParameter();
346
- PROJ_INTERNAL OperationParameter(const OperationParameter &other);
347
- INLINED_MAKE_SHARED
348
-
349
- private:
350
- PROJ_OPAQUE_PRIVATE_DATA
351
- OperationParameter &operator=(const OperationParameter &other) = delete;
352
-
353
- // cppcheck-suppress functionStatic
354
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
355
- const override; // throw(io::FormattingException)
356
- };
357
-
358
- // ---------------------------------------------------------------------------
359
-
360
- //! @cond Doxygen_Suppress
361
- struct MethodMapping;
362
- //! @endcond
363
-
364
- /** \brief Abstract class modelling a parameter value (OperationParameterValue)
365
- * or group of parameter values.
366
- *
367
- * \remark Implements GeneralParameterValue from \ref ISO_19111_2019
368
- */
369
- class PROJ_GCC_DLL GeneralParameterValue : public util::BaseObject,
370
- public io::IWKTExportable,
371
- public io::IJSONExportable,
372
- public util::IComparable {
373
- public:
374
- //! @cond Doxygen_Suppress
375
- PROJ_DLL ~GeneralParameterValue() override;
376
-
377
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
378
- const override = 0; // throw(io::FormattingException)
379
-
380
- PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
381
- const override = 0; // throw(FormattingException)
382
-
383
- PROJ_INTERNAL bool _isEquivalentTo(
384
- const util::IComparable *other,
385
- util::IComparable::Criterion criterion =
386
- util::IComparable::Criterion::STRICT,
387
- const io::DatabaseContextPtr &dbContext = nullptr) const override = 0;
388
- //! @endcond
389
-
390
- protected:
391
- //! @cond Doxygen_Suppress
392
- PROJ_INTERNAL GeneralParameterValue();
393
- PROJ_INTERNAL GeneralParameterValue(const GeneralParameterValue &other);
394
-
395
- friend class Conversion;
396
- friend class SingleOperation;
397
- friend class PointMotionOperation;
398
- PROJ_INTERNAL virtual void _exportToWKT(io::WKTFormatter *formatter,
399
- const MethodMapping *mapping)
400
- const = 0; // throw(io::FormattingException)
401
- //! @endcond
402
-
403
- private:
404
- PROJ_OPAQUE_PRIVATE_DATA
405
- GeneralParameterValue &
406
- operator=(const GeneralParameterValue &other) = delete;
407
- };
408
-
409
- /** Shared pointer of GeneralParameterValue */
410
- using GeneralParameterValuePtr = std::shared_ptr<GeneralParameterValue>;
411
- /** Non-null shared pointer of GeneralParameterValue */
412
- using GeneralParameterValueNNPtr = util::nn<GeneralParameterValuePtr>;
413
-
414
- // ---------------------------------------------------------------------------
415
-
416
- class ParameterValue;
417
- /** Shared pointer of ParameterValue */
418
- using ParameterValuePtr = std::shared_ptr<ParameterValue>;
419
- /** Non-null shared pointer of ParameterValue */
420
- using ParameterValueNNPtr = util::nn<ParameterValuePtr>;
421
-
422
- /** \brief The value of the coordinate operation parameter.
423
- *
424
- * Most parameter values are numeric, but other types of parameter values are
425
- * possible.
426
- *
427
- * \remark Implements ParameterValue from \ref ISO_19111_2019
428
- */
429
- class PROJ_GCC_DLL ParameterValue final : public util::BaseObject,
430
- public io::IWKTExportable,
431
- public util::IComparable {
432
- public:
433
- /** Type of the value. */
434
- enum class Type {
435
- /** Measure (i.e. value with a unit) */
436
- MEASURE,
437
- /** String */
438
- STRING,
439
- /** Integer */
440
- INTEGER,
441
- /** Boolean */
442
- BOOLEAN,
443
- /** Filename */
444
- FILENAME
445
- };
446
- //! @cond Doxygen_Suppress
447
- PROJ_DLL ~ParameterValue() override;
448
-
449
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
450
- const override; // throw(io::FormattingException)
451
- //! @endcond
452
-
453
- PROJ_DLL static ParameterValueNNPtr
454
- create(const common::Measure &measureIn);
455
- PROJ_DLL static ParameterValueNNPtr create(const char *stringValueIn);
456
- PROJ_DLL static ParameterValueNNPtr
457
- create(const std::string &stringValueIn);
458
- PROJ_DLL static ParameterValueNNPtr create(int integerValueIn);
459
- PROJ_DLL static ParameterValueNNPtr create(bool booleanValueIn);
460
- PROJ_DLL static ParameterValueNNPtr
461
- createFilename(const std::string &stringValueIn);
462
-
463
- PROJ_DLL const Type &type() PROJ_PURE_DECL;
464
- PROJ_DLL const common::Measure &value() PROJ_PURE_DECL;
465
- PROJ_DLL const std::string &stringValue() PROJ_PURE_DECL;
466
- PROJ_DLL const std::string &valueFile() PROJ_PURE_DECL;
467
- PROJ_DLL int integerValue() PROJ_PURE_DECL;
468
- PROJ_DLL bool booleanValue() PROJ_PURE_DECL;
469
-
470
- //! @cond Doxygen_Suppress
471
- PROJ_INTERNAL bool _isEquivalentTo(
472
- const util::IComparable *other,
473
- util::IComparable::Criterion criterion =
474
- util::IComparable::Criterion::STRICT,
475
- const io::DatabaseContextPtr &dbContext = nullptr) const override;
476
- //! @endcond
477
-
478
- protected:
479
- PROJ_INTERNAL explicit ParameterValue(const common::Measure &measureIn);
480
- PROJ_INTERNAL explicit ParameterValue(const std::string &stringValueIn,
481
- Type typeIn);
482
- PROJ_INTERNAL explicit ParameterValue(int integerValueIn);
483
- PROJ_INTERNAL explicit ParameterValue(bool booleanValueIn);
484
- INLINED_MAKE_SHARED
485
- private:
486
- PROJ_OPAQUE_PRIVATE_DATA
487
- ParameterValue &operator=(const ParameterValue &other) = delete;
488
- };
489
-
490
- // ---------------------------------------------------------------------------
491
-
492
- class OperationParameterValue;
493
- /** Shared pointer of OperationParameterValue */
494
- using OperationParameterValuePtr = std::shared_ptr<OperationParameterValue>;
495
- /** Non-null shared pointer of OperationParameterValue */
496
- using OperationParameterValueNNPtr = util::nn<OperationParameterValuePtr>;
497
-
498
- /** \brief A parameter value, ordered sequence of values, or reference to a
499
- * file of parameter values.
500
- *
501
- * This combines a OperationParameter with the corresponding ParameterValue.
502
- *
503
- * \remark Implements OperationParameterValue from \ref ISO_19111_2019
504
- */
505
- class PROJ_GCC_DLL OperationParameterValue final
506
- : public GeneralParameterValue {
507
- public:
508
- //! @cond Doxygen_Suppress
509
- PROJ_DLL ~OperationParameterValue() override;
510
- //! @endcond
511
-
512
- PROJ_DLL const OperationParameterNNPtr &parameter() PROJ_PURE_DECL;
513
- PROJ_DLL const ParameterValueNNPtr &parameterValue() PROJ_PURE_DECL;
514
-
515
- PROJ_DLL static OperationParameterValueNNPtr
516
- create(const OperationParameterNNPtr &parameterIn,
517
- const ParameterValueNNPtr &valueIn);
518
-
519
- PROJ_PRIVATE :
520
- //! @cond Doxygen_Suppress
521
- PROJ_INTERNAL static bool
522
- convertFromAbridged(const std::string &paramName, double &val,
523
- const common::UnitOfMeasure *&unit,
524
- int &paramEPSGCode);
525
-
526
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
527
- const override; // throw(io::FormattingException)
528
-
529
- PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
530
- const override; // throw(FormattingException)
531
-
532
- PROJ_INTERNAL bool _isEquivalentTo(
533
- const util::IComparable *other,
534
- util::IComparable::Criterion criterion =
535
- util::IComparable::Criterion::STRICT,
536
- const io::DatabaseContextPtr &dbContext = nullptr) const override;
537
- //! @endcond
538
-
539
- protected:
540
- PROJ_INTERNAL
541
- OperationParameterValue(const OperationParameterNNPtr &parameterIn,
542
- const ParameterValueNNPtr &valueIn);
543
- PROJ_INTERNAL OperationParameterValue(const OperationParameterValue &other);
544
- INLINED_MAKE_SHARED
545
-
546
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter,
547
- const MethodMapping *mapping)
548
- const override; // throw(io::FormattingException)
549
-
550
- private:
551
- PROJ_OPAQUE_PRIVATE_DATA
552
- OperationParameterValue &
553
- operator=(const OperationParameterValue &other) = delete;
554
- };
555
-
556
- // ---------------------------------------------------------------------------
557
-
558
- class OperationMethod;
559
- /** Shared pointer of OperationMethod */
560
- using OperationMethodPtr = std::shared_ptr<OperationMethod>;
561
- /** Non-null shared pointer of OperationMethod */
562
- using OperationMethodNNPtr = util::nn<OperationMethodPtr>;
563
-
564
- /** \brief The method (algorithm or procedure) used to perform the
565
- * coordinate operation.
566
- *
567
- * For a projection method, this contains the name of the projection method
568
- * and the name of the projection parameters.
569
- *
570
- * \remark Implements OperationMethod from \ref ISO_19111_2019
571
- */
572
- class PROJ_GCC_DLL OperationMethod : public common::IdentifiedObject,
573
- public io::IJSONExportable {
574
- public:
575
- //! @cond Doxygen_Suppress
576
- PROJ_DLL ~OperationMethod() override;
577
- //! @endcond
578
-
579
- PROJ_DLL const util::optional<std::string> &formula() PROJ_PURE_DECL;
580
- PROJ_DLL const util::optional<metadata::Citation> &
581
- formulaCitation() PROJ_PURE_DECL;
582
- PROJ_DLL const std::vector<GeneralOperationParameterNNPtr> &
583
- parameters() PROJ_PURE_DECL;
584
-
585
- PROJ_DLL static OperationMethodNNPtr
586
- create(const util::PropertyMap &properties,
587
- const std::vector<GeneralOperationParameterNNPtr> &parameters);
588
-
589
- PROJ_DLL static OperationMethodNNPtr
590
- create(const util::PropertyMap &properties,
591
- const std::vector<OperationParameterNNPtr> &parameters);
592
-
593
- PROJ_DLL int getEPSGCode() PROJ_PURE_DECL;
594
-
595
- //! @cond Doxygen_Suppress
596
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
597
- const override; // throw(io::FormattingException)
598
-
599
- PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
600
- const override; // throw(FormattingException)
601
-
602
- PROJ_INTERNAL bool _isEquivalentTo(
603
- const util::IComparable *other,
604
- util::IComparable::Criterion criterion =
605
- util::IComparable::Criterion::STRICT,
606
- const io::DatabaseContextPtr &dbContext = nullptr) const override;
607
- //! @endcond
608
-
609
- protected:
610
- PROJ_INTERNAL OperationMethod();
611
- PROJ_INTERNAL OperationMethod(const OperationMethod &other);
612
- INLINED_MAKE_SHARED
613
- friend class Conversion;
614
-
615
- private:
616
- PROJ_OPAQUE_PRIVATE_DATA
617
- OperationMethod &operator=(const OperationMethod &other) = delete;
618
- };
619
-
620
- // ---------------------------------------------------------------------------
621
-
622
- /** \brief Exception that can be thrown when an invalid operation is attempted
623
- * to be constructed.
624
- */
625
- class PROJ_GCC_DLL InvalidOperation : public util::Exception {
626
- public:
627
- //! @cond Doxygen_Suppress
628
- PROJ_INTERNAL explicit InvalidOperation(const char *message);
629
- PROJ_INTERNAL explicit InvalidOperation(const std::string &message);
630
- PROJ_DLL InvalidOperation(const InvalidOperation &other);
631
- PROJ_DLL ~InvalidOperation() override;
632
- //! @endcond
633
- };
634
-
635
- // ---------------------------------------------------------------------------
636
-
637
- class SingleOperation;
638
- /** Shared pointer of SingleOperation */
639
- using SingleOperationPtr = std::shared_ptr<SingleOperation>;
640
- /** Non-null shared pointer of SingleOperation */
641
- using SingleOperationNNPtr = util::nn<SingleOperationPtr>;
642
-
643
- /** \brief A single (not concatenated) coordinate operation
644
- * (CoordinateOperation)
645
- *
646
- * \remark Implements SingleOperation from \ref ISO_19111_2019
647
- */
648
- class PROJ_GCC_DLL SingleOperation : virtual public CoordinateOperation {
649
- public:
650
- //! @cond Doxygen_Suppress
651
- PROJ_DLL ~SingleOperation() override;
652
- //! @endcond
653
-
654
- PROJ_DLL const std::vector<GeneralParameterValueNNPtr> &
655
- parameterValues() PROJ_PURE_DECL;
656
- PROJ_DLL const OperationMethodNNPtr &method() PROJ_PURE_DECL;
657
-
658
- PROJ_DLL const ParameterValuePtr &
659
- parameterValue(const std::string &paramName,
660
- int epsg_code = 0) const noexcept;
661
-
662
- PROJ_DLL const ParameterValuePtr &
663
- parameterValue(int epsg_code) const noexcept;
664
-
665
- PROJ_DLL const common::Measure &
666
- parameterValueMeasure(const std::string &paramName,
667
- int epsg_code = 0) const noexcept;
668
-
669
- PROJ_DLL const common::Measure &
670
- parameterValueMeasure(int epsg_code) const noexcept;
671
-
672
- PROJ_DLL static SingleOperationNNPtr createPROJBased(
673
- const util::PropertyMap &properties, const std::string &PROJString,
674
- const crs::CRSPtr &sourceCRS, const crs::CRSPtr &targetCRS,
675
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies =
676
- std::vector<metadata::PositionalAccuracyNNPtr>());
677
-
678
- PROJ_DLL std::set<GridDescription>
679
- gridsNeeded(const io::DatabaseContextPtr &databaseContext,
680
- bool considerKnownGridsAsAvailable) const override;
681
-
682
- PROJ_DLL std::list<std::string> validateParameters() const;
683
-
684
- PROJ_DLL TransformationNNPtr substitutePROJAlternativeGridNames(
685
- io::DatabaseContextNNPtr databaseContext) const;
686
-
687
- PROJ_PRIVATE :
688
- //! @cond Doxygen_Suppress
689
-
690
- PROJ_DLL double
691
- parameterValueNumeric(
692
- int epsg_code,
693
- const common::UnitOfMeasure &targetUnit) const noexcept;
694
-
695
- PROJ_INTERNAL double parameterValueNumeric(
696
- const char *param_name,
697
- const common::UnitOfMeasure &targetUnit) const noexcept;
698
-
699
- PROJ_INTERNAL double
700
- parameterValueNumericAsSI(int epsg_code) const noexcept;
701
-
702
- PROJ_INTERNAL bool _isEquivalentTo(
703
- const util::IComparable *other,
704
- util::IComparable::Criterion criterion =
705
- util::IComparable::Criterion::STRICT,
706
- const io::DatabaseContextPtr &dbContext = nullptr) const override;
707
-
708
- PROJ_INTERNAL bool isLongitudeRotation() const;
709
-
710
- //! @endcond
711
-
712
- protected:
713
- PROJ_INTERNAL explicit SingleOperation(
714
- const OperationMethodNNPtr &methodIn);
715
- PROJ_INTERNAL SingleOperation(const SingleOperation &other);
716
-
717
- PROJ_INTERNAL void
718
- setParameterValues(const std::vector<GeneralParameterValueNNPtr> &values);
719
-
720
- PROJ_INTERNAL void
721
- exportTransformationToWKT(io::WKTFormatter *formatter) const;
722
-
723
- PROJ_INTERNAL bool
724
- exportToPROJStringGeneric(io::PROJStringFormatter *formatter) const;
725
-
726
- PROJ_INTERNAL bool _isEquivalentTo(const util::IComparable *other,
727
- util::IComparable::Criterion criterion,
728
- const io::DatabaseContextPtr &dbContext,
729
- bool inOtherDirection) const;
730
-
731
- PROJ_INTERNAL static GeneralParameterValueNNPtr
732
- createOperationParameterValueFromInterpolationCRS(int methodEPSGCode,
733
- int crsEPSGCode);
734
-
735
- PROJ_INTERNAL static void
736
- exportToPROJStringChangeVerticalUnit(io::PROJStringFormatter *formatter,
737
- double convFactor);
738
-
739
- private:
740
- PROJ_OPAQUE_PRIVATE_DATA
741
- SingleOperation &operator=(const SingleOperation &other) = delete;
742
- };
743
-
744
- // ---------------------------------------------------------------------------
745
-
746
- class Conversion;
747
- /** Shared pointer of Conversion */
748
- using ConversionPtr = std::shared_ptr<Conversion>;
749
- /** Non-null shared pointer of Conversion */
750
- using ConversionNNPtr = util::nn<ConversionPtr>;
751
-
752
- /** \brief A mathematical operation on coordinates in which the parameter
753
- * values are defined rather than empirically derived.
754
- *
755
- * Application of the coordinate conversion introduces no error into output
756
- * coordinates. The best-known example of a coordinate conversion is a map
757
- * projection. For coordinate conversions the output coordinates are referenced
758
- * to the same datum as are the input coordinates.
759
- *
760
- * Coordinate conversions forming a component of a derived CRS have a source
761
- * crs::CRS and a target crs::CRS that are NOT specified through the source and
762
- * target
763
- * associations, but through associations from crs::DerivedCRS to
764
- * crs::SingleCRS.
765
- *
766
- * \remark Implements Conversion from \ref ISO_19111_2019
767
- */
768
-
769
- /*!
770
-
771
- \section projection_parameters Projection parameters
772
-
773
- \subsection colatitude_cone_axis Co-latitude of cone axis
774
-
775
- The rotation applied to spherical coordinates for the oblique projection,
776
- measured on the conformal sphere in the plane of the meridian of origin.
777
-
778
- EPSG:1036
779
-
780
- \subsection center_latitude Latitude of natural origin/Center Latitude
781
-
782
- The latitude of the point from which the values of both the geographical
783
- coordinates on the ellipsoid and the grid coordinates on the projection are
784
- deemed to increment or decrement for computational purposes. Alternatively it
785
- may be considered as the latitude of the point which in the absence of
786
- application of false coordinates has grid coordinates of (0,0).
787
-
788
- EPSG:8801
789
-
790
- \subsection center_longitude Longitude of natural origin/Central Meridian
791
-
792
- The longitude of the point from which the values of both the geographical
793
- coordinates on the ellipsoid and the grid coordinates on the projection are
794
- deemed to increment or decrement for computational purposes. Alternatively it
795
- may be considered as the longitude of the point which in the absence of
796
- application of false coordinates has grid coordinates of (0,0). Sometimes known
797
- as "central meridian (CM)".
798
-
799
- EPSG:8802
800
-
801
- \subsection scale Scale Factor
802
-
803
- The factor by which the map grid is reduced or enlarged during the projection
804
- process, defined by its value at the natural origin.
805
-
806
- EPSG:8805
807
-
808
- \subsection false_easting False Easting
809
-
810
- Since the natural origin may be at or near the centre of the projection and
811
- under normal coordinate circumstances would thus give rise to negative
812
- coordinates over parts of the mapped area, this origin is usually given false
813
- coordinates which are large enough to avoid this inconvenience. The False
814
- Easting, FE, is the value assigned to the abscissa (east or west) axis of the
815
- projection grid at the natural origin.
816
-
817
- EPSG:8806
818
-
819
- \subsection false_northing False Northing
820
-
821
- Since the natural origin may be at or near the centre of the projection and
822
- under normal coordinate circumstances would thus give rise to negative
823
- coordinates over parts of the mapped area, this origin is usually given false
824
- coordinates which are large enough to avoid this inconvenience. The False
825
- Northing, FN, is the value assigned to the ordinate (north or south) axis of the
826
- projection grid at the natural origin.
827
-
828
- EPSG:8807
829
-
830
- \subsection latitude_projection_centre Latitude of projection centre
831
-
832
- For an oblique projection, this is the latitude of the point at which the
833
- azimuth of the central line is defined.
834
-
835
- EPSG:8811
836
-
837
- \subsection longitude_projection_centre Longitude of projection centre
838
-
839
- For an oblique projection, this is the longitude of the point at which the
840
- azimuth of the central line is defined.
841
-
842
- EPSG:8812
843
-
844
- \subsection azimuth_initial_line Azimuth of initial line
845
-
846
- The azimuthal direction (north zero, east of north being positive) of the great
847
- circle which is the centre line of an oblique projection. The azimuth is given
848
- at the projection centre.
849
-
850
- EPSG:8813
851
-
852
- \subsection angle_from_recitfied_to_skrew_grid Angle from Rectified to Skew Grid
853
-
854
- The angle at the natural origin of an oblique projection through which the
855
- natural coordinate reference system is rotated to make the projection north
856
- axis parallel with true north.
857
-
858
- EPSG:8814
859
-
860
- \subsection scale_factor_initial_line Scale factor on initial line
861
-
862
- The factor by which the map grid is reduced or enlarged during the projection
863
- process, defined by its value at the projection center.
864
-
865
- EPSG:8815
866
-
867
- \subsection easting_projection_centre Easting at projection centre
868
-
869
- The easting value assigned to the projection centre.
870
-
871
- EPSG:8816
872
-
873
- \subsection northing_projection_centre Northing at projection centre
874
-
875
- The northing value assigned to the projection centre.
876
-
877
- EPSG:8817
878
-
879
- \subsection latitude_pseudo_standard_parallel Latitude of pseudo standard
880
- parallel
881
-
882
- Latitude of the parallel on which the conic or cylindrical projection is based.
883
- This latitude is not geographic, but is defined on the conformal sphere AFTER
884
- its rotation to obtain the oblique aspect of the projection.
885
-
886
- EPSG:8818
887
-
888
- \subsection scale_factor_pseudo_standard_parallel Scale factor on pseudo
889
- standard parallel
890
-
891
- The factor by which the map grid is reduced or enlarged during the projection
892
- process, defined by its value at the pseudo-standard parallel.
893
- EPSG:8819
894
-
895
- \subsection latitude_false_origin Latitude of false origin
896
-
897
- The latitude of the point which is not the natural origin and at which grid
898
- coordinate values false easting and false northing are defined.
899
-
900
- EPSG:8821
901
-
902
- \subsection longitude_false_origin Longitude of false origin
903
-
904
- The longitude of the point which is not the natural origin and at which grid
905
- coordinate values false easting and false northing are defined.
906
-
907
- EPSG:8822
908
-
909
- \subsection latitude_first_std_parallel Latitude of 1st standard parallel
910
-
911
- For a conic projection with two standard parallels, this is the latitude of one
912
- of the parallels of intersection of the cone with the ellipsoid. It is normally
913
- but not necessarily that nearest to the pole. Scale is true along this parallel.
914
-
915
- EPSG:8823
916
-
917
- \subsection latitude_second_std_parallel Latitude of 2nd standard parallel
918
-
919
- For a conic projection with two standard parallels, this is the latitude of one
920
- of the parallels at which the cone intersects with the ellipsoid. It is normally
921
- but not necessarily that nearest to the equator. Scale is true along this
922
- parallel.
923
-
924
- EPSG:8824
925
-
926
- \subsection easting_false_origin Easting of false origin
927
-
928
- The easting value assigned to the false origin.
929
-
930
- EPSG:8826
931
-
932
- \subsection northing_false_origin Northing of false origin
933
-
934
- The northing value assigned to the false origin.
935
-
936
- EPSG:8827
937
-
938
- \subsection latitude_std_parallel Latitude of standard parallel
939
-
940
- For polar aspect azimuthal projections, the parallel on which the scale factor
941
- is defined to be unity.
942
-
943
- EPSG:8832
944
-
945
- \subsection longitude_of_origin Longitude of origin
946
-
947
- For polar aspect azimuthal projections, the meridian along which the
948
- northing axis increments and also across which parallels of latitude
949
- increment towards the north pole.
950
-
951
- EPSG:8833
952
-
953
- */
954
-
955
- class PROJ_GCC_DLL Conversion : public SingleOperation {
956
- public:
957
- //! @cond Doxygen_Suppress
958
- PROJ_DLL ~Conversion() override;
959
- //! @endcond
960
-
961
- PROJ_DLL CoordinateOperationNNPtr inverse() const override;
962
-
963
- //! @cond Doxygen_Suppress
964
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
965
- const override; // throw(io::FormattingException)
966
- //! @endcond
967
-
968
- PROJ_DLL bool isUTM(int &zone, bool &north) const;
969
-
970
- PROJ_DLL ConversionNNPtr identify() const;
971
-
972
- PROJ_DLL static ConversionNNPtr
973
- create(const util::PropertyMap &properties,
974
- const OperationMethodNNPtr &methodIn,
975
- const std::vector<GeneralParameterValueNNPtr>
976
- &values); // throw InvalidOperation
977
-
978
- PROJ_DLL static ConversionNNPtr
979
- create(const util::PropertyMap &propertiesConversion,
980
- const util::PropertyMap &propertiesOperationMethod,
981
- const std::vector<OperationParameterNNPtr> &parameters,
982
- const std::vector<ParameterValueNNPtr>
983
- &values); // throw InvalidOperation
984
-
985
- PROJ_DLL static ConversionNNPtr
986
- createUTM(const util::PropertyMap &properties, int zone, bool north);
987
-
988
- PROJ_DLL static ConversionNNPtr createTransverseMercator(
989
- const util::PropertyMap &properties, const common::Angle &centerLat,
990
- const common::Angle &centerLong, const common::Scale &scale,
991
- const common::Length &falseEasting,
992
- const common::Length &falseNorthing);
993
-
994
- PROJ_DLL static ConversionNNPtr createGaussSchreiberTransverseMercator(
995
- const util::PropertyMap &properties, const common::Angle &centerLat,
996
- const common::Angle &centerLong, const common::Scale &scale,
997
- const common::Length &falseEasting,
998
- const common::Length &falseNorthing);
999
-
1000
- PROJ_DLL static ConversionNNPtr createTransverseMercatorSouthOriented(
1001
- const util::PropertyMap &properties, const common::Angle &centerLat,
1002
- const common::Angle &centerLong, const common::Scale &scale,
1003
- const common::Length &falseEasting,
1004
- const common::Length &falseNorthing);
1005
-
1006
- PROJ_DLL static ConversionNNPtr
1007
- createTwoPointEquidistant(const util::PropertyMap &properties,
1008
- const common::Angle &latitudeFirstPoint,
1009
- const common::Angle &longitudeFirstPoint,
1010
- const common::Angle &latitudeSecondPoint,
1011
- const common::Angle &longitudeSeconPoint,
1012
- const common::Length &falseEasting,
1013
- const common::Length &falseNorthing);
1014
-
1015
- PROJ_DLL static ConversionNNPtr createTunisiaMappingGrid(
1016
- const util::PropertyMap &properties, const common::Angle &centerLat,
1017
- const common::Angle &centerLong, const common::Length &falseEasting,
1018
- const common::Length &falseNorthing);
1019
-
1020
- PROJ_DLL static ConversionNNPtr createTunisiaMiningGrid(
1021
- const util::PropertyMap &properties, const common::Angle &centerLat,
1022
- const common::Angle &centerLong, const common::Length &falseEasting,
1023
- const common::Length &falseNorthing);
1024
-
1025
- PROJ_DLL static ConversionNNPtr
1026
- createAlbersEqualArea(const util::PropertyMap &properties,
1027
- const common::Angle &latitudeFalseOrigin,
1028
- const common::Angle &longitudeFalseOrigin,
1029
- const common::Angle &latitudeFirstParallel,
1030
- const common::Angle &latitudeSecondParallel,
1031
- const common::Length &eastingFalseOrigin,
1032
- const common::Length &northingFalseOrigin);
1033
-
1034
- PROJ_DLL static ConversionNNPtr createLambertConicConformal_1SP(
1035
- const util::PropertyMap &properties, const common::Angle &centerLat,
1036
- const common::Angle &centerLong, const common::Scale &scale,
1037
- const common::Length &falseEasting,
1038
- const common::Length &falseNorthing);
1039
-
1040
- PROJ_DLL static ConversionNNPtr createLambertConicConformal_1SP_VariantB(
1041
- const util::PropertyMap &properties,
1042
- const common::Angle &latitudeNatOrigin, const common::Scale &scale,
1043
- const common::Angle &latitudeFalseOrigin,
1044
- const common::Angle &longitudeFalseOrigin,
1045
- const common::Length &eastingFalseOrigin,
1046
- const common::Length &northingFalseOrigin);
1047
-
1048
- PROJ_DLL static ConversionNNPtr
1049
- createLambertConicConformal_2SP(const util::PropertyMap &properties,
1050
- const common::Angle &latitudeFalseOrigin,
1051
- const common::Angle &longitudeFalseOrigin,
1052
- const common::Angle &latitudeFirstParallel,
1053
- const common::Angle &latitudeSecondParallel,
1054
- const common::Length &eastingFalseOrigin,
1055
- const common::Length &northingFalseOrigin);
1056
-
1057
- PROJ_DLL static ConversionNNPtr createLambertConicConformal_2SP_Michigan(
1058
- const util::PropertyMap &properties,
1059
- const common::Angle &latitudeFalseOrigin,
1060
- const common::Angle &longitudeFalseOrigin,
1061
- const common::Angle &latitudeFirstParallel,
1062
- const common::Angle &latitudeSecondParallel,
1063
- const common::Length &eastingFalseOrigin,
1064
- const common::Length &northingFalseOrigin,
1065
- const common::Scale &ellipsoidScalingFactor);
1066
-
1067
- PROJ_DLL static ConversionNNPtr createLambertConicConformal_2SP_Belgium(
1068
- const util::PropertyMap &properties,
1069
- const common::Angle &latitudeFalseOrigin,
1070
- const common::Angle &longitudeFalseOrigin,
1071
- const common::Angle &latitudeFirstParallel,
1072
- const common::Angle &latitudeSecondParallel,
1073
- const common::Length &eastingFalseOrigin,
1074
- const common::Length &northingFalseOrigin);
1075
-
1076
- PROJ_DLL static ConversionNNPtr
1077
- createAzimuthalEquidistant(const util::PropertyMap &properties,
1078
- const common::Angle &latitudeNatOrigin,
1079
- const common::Angle &longitudeNatOrigin,
1080
- const common::Length &falseEasting,
1081
- const common::Length &falseNorthing);
1082
-
1083
- PROJ_DLL static ConversionNNPtr
1084
- createGuamProjection(const util::PropertyMap &properties,
1085
- const common::Angle &latitudeNatOrigin,
1086
- const common::Angle &longitudeNatOrigin,
1087
- const common::Length &falseEasting,
1088
- const common::Length &falseNorthing);
1089
-
1090
- PROJ_DLL static ConversionNNPtr
1091
- createBonne(const util::PropertyMap &properties,
1092
- const common::Angle &latitudeNatOrigin,
1093
- const common::Angle &longitudeNatOrigin,
1094
- const common::Length &falseEasting,
1095
- const common::Length &falseNorthing);
1096
-
1097
- PROJ_DLL static ConversionNNPtr createLambertCylindricalEqualAreaSpherical(
1098
- const util::PropertyMap &properties,
1099
- const common::Angle &latitudeFirstParallel,
1100
- const common::Angle &longitudeNatOrigin,
1101
- const common::Length &falseEasting,
1102
- const common::Length &falseNorthing);
1103
-
1104
- PROJ_DLL static ConversionNNPtr createLambertCylindricalEqualArea(
1105
- const util::PropertyMap &properties,
1106
- const common::Angle &latitudeFirstParallel,
1107
- const common::Angle &longitudeNatOrigin,
1108
- const common::Length &falseEasting,
1109
- const common::Length &falseNorthing);
1110
-
1111
- PROJ_DLL static ConversionNNPtr createCassiniSoldner(
1112
- const util::PropertyMap &properties, const common::Angle &centerLat,
1113
- const common::Angle &centerLong, const common::Length &falseEasting,
1114
- const common::Length &falseNorthing);
1115
-
1116
- PROJ_DLL static ConversionNNPtr
1117
- createEquidistantConic(const util::PropertyMap &properties,
1118
- const common::Angle &latitudeFalseOrigin,
1119
- const common::Angle &longitudeFalseOrigin,
1120
- const common::Angle &latitudeFirstParallel,
1121
- const common::Angle &latitudeSecondParallel,
1122
- const common::Length &eastingFalseOrigin,
1123
- const common::Length &northingFalseOrigin);
1124
-
1125
- PROJ_DLL static ConversionNNPtr
1126
- createEckertI(const util::PropertyMap &properties,
1127
- const common::Angle &centerLong,
1128
- const common::Length &falseEasting,
1129
- const common::Length &falseNorthing);
1130
-
1131
- PROJ_DLL static ConversionNNPtr
1132
- createEckertII(const util::PropertyMap &properties,
1133
- const common::Angle &centerLong,
1134
- const common::Length &falseEasting,
1135
- const common::Length &falseNorthing);
1136
-
1137
- PROJ_DLL static ConversionNNPtr
1138
- createEckertIII(const util::PropertyMap &properties,
1139
- const common::Angle &centerLong,
1140
- const common::Length &falseEasting,
1141
- const common::Length &falseNorthing);
1142
-
1143
- PROJ_DLL static ConversionNNPtr
1144
- createEckertIV(const util::PropertyMap &properties,
1145
- const common::Angle &centerLong,
1146
- const common::Length &falseEasting,
1147
- const common::Length &falseNorthing);
1148
-
1149
- PROJ_DLL static ConversionNNPtr
1150
- createEckertV(const util::PropertyMap &properties,
1151
- const common::Angle &centerLong,
1152
- const common::Length &falseEasting,
1153
- const common::Length &falseNorthing);
1154
-
1155
- PROJ_DLL static ConversionNNPtr
1156
- createEckertVI(const util::PropertyMap &properties,
1157
- const common::Angle &centerLong,
1158
- const common::Length &falseEasting,
1159
- const common::Length &falseNorthing);
1160
-
1161
- PROJ_DLL static ConversionNNPtr
1162
- createEquidistantCylindrical(const util::PropertyMap &properties,
1163
- const common::Angle &latitudeFirstParallel,
1164
- const common::Angle &longitudeNatOrigin,
1165
- const common::Length &falseEasting,
1166
- const common::Length &falseNorthing);
1167
-
1168
- PROJ_DLL static ConversionNNPtr createEquidistantCylindricalSpherical(
1169
- const util::PropertyMap &properties,
1170
- const common::Angle &latitudeFirstParallel,
1171
- const common::Angle &longitudeNatOrigin,
1172
- const common::Length &falseEasting,
1173
- const common::Length &falseNorthing);
1174
-
1175
- PROJ_DLL static ConversionNNPtr
1176
- createGall(const util::PropertyMap &properties,
1177
- const common::Angle &centerLong,
1178
- const common::Length &falseEasting,
1179
- const common::Length &falseNorthing);
1180
-
1181
- PROJ_DLL static ConversionNNPtr
1182
- createGoodeHomolosine(const util::PropertyMap &properties,
1183
- const common::Angle &centerLong,
1184
- const common::Length &falseEasting,
1185
- const common::Length &falseNorthing);
1186
-
1187
- PROJ_DLL static ConversionNNPtr
1188
- createInterruptedGoodeHomolosine(const util::PropertyMap &properties,
1189
- const common::Angle &centerLong,
1190
- const common::Length &falseEasting,
1191
- const common::Length &falseNorthing);
1192
-
1193
- PROJ_DLL static ConversionNNPtr createGeostationarySatelliteSweepX(
1194
- const util::PropertyMap &properties, const common::Angle &centerLong,
1195
- const common::Length &height, const common::Length &falseEasting,
1196
- const common::Length &falseNorthing);
1197
-
1198
- PROJ_DLL static ConversionNNPtr createGeostationarySatelliteSweepY(
1199
- const util::PropertyMap &properties, const common::Angle &centerLong,
1200
- const common::Length &height, const common::Length &falseEasting,
1201
- const common::Length &falseNorthing);
1202
-
1203
- PROJ_DLL static ConversionNNPtr createGnomonic(
1204
- const util::PropertyMap &properties, const common::Angle &centerLat,
1205
- const common::Angle &centerLong, const common::Length &falseEasting,
1206
- const common::Length &falseNorthing);
1207
-
1208
- PROJ_DLL static ConversionNNPtr createHotineObliqueMercatorVariantA(
1209
- const util::PropertyMap &properties,
1210
- const common::Angle &latitudeProjectionCentre,
1211
- const common::Angle &longitudeProjectionCentre,
1212
- const common::Angle &azimuthInitialLine,
1213
- const common::Angle &angleFromRectifiedToSkrewGrid,
1214
- const common::Scale &scale, const common::Length &falseEasting,
1215
- const common::Length &falseNorthing);
1216
-
1217
- PROJ_DLL static ConversionNNPtr createHotineObliqueMercatorVariantB(
1218
- const util::PropertyMap &properties,
1219
- const common::Angle &latitudeProjectionCentre,
1220
- const common::Angle &longitudeProjectionCentre,
1221
- const common::Angle &azimuthInitialLine,
1222
- const common::Angle &angleFromRectifiedToSkrewGrid,
1223
- const common::Scale &scale,
1224
- const common::Length &eastingProjectionCentre,
1225
- const common::Length &northingProjectionCentre);
1226
-
1227
- PROJ_DLL static ConversionNNPtr
1228
- createHotineObliqueMercatorTwoPointNaturalOrigin(
1229
- const util::PropertyMap &properties,
1230
- const common::Angle &latitudeProjectionCentre,
1231
- const common::Angle &latitudePoint1,
1232
- const common::Angle &longitudePoint1,
1233
- const common::Angle &latitudePoint2,
1234
- const common::Angle &longitudePoint2, const common::Scale &scale,
1235
- const common::Length &eastingProjectionCentre,
1236
- const common::Length &northingProjectionCentre);
1237
-
1238
- PROJ_DLL static ConversionNNPtr
1239
- createLabordeObliqueMercator(const util::PropertyMap &properties,
1240
- const common::Angle &latitudeProjectionCentre,
1241
- const common::Angle &longitudeProjectionCentre,
1242
- const common::Angle &azimuthInitialLine,
1243
- const common::Scale &scale,
1244
- const common::Length &falseEasting,
1245
- const common::Length &falseNorthing);
1246
-
1247
- PROJ_DLL static ConversionNNPtr createInternationalMapWorldPolyconic(
1248
- const util::PropertyMap &properties, const common::Angle &centerLong,
1249
- const common::Angle &latitudeFirstParallel,
1250
- const common::Angle &latitudeSecondParallel,
1251
- const common::Length &falseEasting,
1252
- const common::Length &falseNorthing);
1253
-
1254
- PROJ_DLL static ConversionNNPtr createKrovakNorthOriented(
1255
- const util::PropertyMap &properties,
1256
- const common::Angle &latitudeProjectionCentre,
1257
- const common::Angle &longitudeOfOrigin,
1258
- const common::Angle &colatitudeConeAxis,
1259
- const common::Angle &latitudePseudoStandardParallel,
1260
- const common::Scale &scaleFactorPseudoStandardParallel,
1261
- const common::Length &falseEasting,
1262
- const common::Length &falseNorthing);
1263
-
1264
- PROJ_DLL static ConversionNNPtr
1265
- createKrovak(const util::PropertyMap &properties,
1266
- const common::Angle &latitudeProjectionCentre,
1267
- const common::Angle &longitudeOfOrigin,
1268
- const common::Angle &colatitudeConeAxis,
1269
- const common::Angle &latitudePseudoStandardParallel,
1270
- const common::Scale &scaleFactorPseudoStandardParallel,
1271
- const common::Length &falseEasting,
1272
- const common::Length &falseNorthing);
1273
-
1274
- PROJ_DLL static ConversionNNPtr
1275
- createLambertAzimuthalEqualArea(const util::PropertyMap &properties,
1276
- const common::Angle &latitudeNatOrigin,
1277
- const common::Angle &longitudeNatOrigin,
1278
- const common::Length &falseEasting,
1279
- const common::Length &falseNorthing);
1280
-
1281
- PROJ_DLL static ConversionNNPtr
1282
- createMillerCylindrical(const util::PropertyMap &properties,
1283
- const common::Angle &centerLong,
1284
- const common::Length &falseEasting,
1285
- const common::Length &falseNorthing);
1286
-
1287
- PROJ_DLL static ConversionNNPtr createMercatorVariantA(
1288
- const util::PropertyMap &properties, const common::Angle &centerLat,
1289
- const common::Angle &centerLong, const common::Scale &scale,
1290
- const common::Length &falseEasting,
1291
- const common::Length &falseNorthing);
1292
-
1293
- PROJ_DLL static ConversionNNPtr
1294
- createMercatorVariantB(const util::PropertyMap &properties,
1295
- const common::Angle &latitudeFirstParallel,
1296
- const common::Angle &centerLong,
1297
- const common::Length &falseEasting,
1298
- const common::Length &falseNorthing);
1299
-
1300
- PROJ_DLL static ConversionNNPtr createPopularVisualisationPseudoMercator(
1301
- const util::PropertyMap &properties, const common::Angle &centerLat,
1302
- const common::Angle &centerLong, const common::Length &falseEasting,
1303
- const common::Length &falseNorthing);
1304
-
1305
- PROJ_DLL static ConversionNNPtr createMercatorSpherical(
1306
- const util::PropertyMap &properties, const common::Angle &centerLat,
1307
- const common::Angle &centerLong, const common::Length &falseEasting,
1308
- const common::Length &falseNorthing);
1309
-
1310
- PROJ_DLL static ConversionNNPtr
1311
- createMollweide(const util::PropertyMap &properties,
1312
- const common::Angle &centerLong,
1313
- const common::Length &falseEasting,
1314
- const common::Length &falseNorthing);
1315
-
1316
- PROJ_DLL static ConversionNNPtr createNewZealandMappingGrid(
1317
- const util::PropertyMap &properties, const common::Angle &centerLat,
1318
- const common::Angle &centerLong, const common::Length &falseEasting,
1319
- const common::Length &falseNorthing);
1320
-
1321
- PROJ_DLL static ConversionNNPtr createObliqueStereographic(
1322
- const util::PropertyMap &properties, const common::Angle &centerLat,
1323
- const common::Angle &centerLong, const common::Scale &scale,
1324
- const common::Length &falseEasting,
1325
- const common::Length &falseNorthing);
1326
-
1327
- PROJ_DLL static ConversionNNPtr createOrthographic(
1328
- const util::PropertyMap &properties, const common::Angle &centerLat,
1329
- const common::Angle &centerLong, const common::Length &falseEasting,
1330
- const common::Length &falseNorthing);
1331
-
1332
- PROJ_DLL static ConversionNNPtr createLocalOrthographic(
1333
- const util::PropertyMap &properties, const common::Angle &centerLat,
1334
- const common::Angle &centerLong,
1335
- const common::Angle &azimuthInitialLine, const common::Scale &scale,
1336
- const common::Length &falseEasting,
1337
- const common::Length &falseNorthing);
1338
-
1339
- PROJ_DLL static ConversionNNPtr createAmericanPolyconic(
1340
- const util::PropertyMap &properties, const common::Angle &centerLat,
1341
- const common::Angle &centerLong, const common::Length &falseEasting,
1342
- const common::Length &falseNorthing);
1343
-
1344
- PROJ_DLL static ConversionNNPtr createPolarStereographicVariantA(
1345
- const util::PropertyMap &properties, const common::Angle &centerLat,
1346
- const common::Angle &centerLong, const common::Scale &scale,
1347
- const common::Length &falseEasting,
1348
- const common::Length &falseNorthing);
1349
-
1350
- PROJ_DLL static ConversionNNPtr createPolarStereographicVariantB(
1351
- const util::PropertyMap &properties,
1352
- const common::Angle &latitudeStandardParallel,
1353
- const common::Angle &longitudeOfOrigin,
1354
- const common::Length &falseEasting,
1355
- const common::Length &falseNorthing);
1356
-
1357
- PROJ_DLL static ConversionNNPtr
1358
- createRobinson(const util::PropertyMap &properties,
1359
- const common::Angle &centerLong,
1360
- const common::Length &falseEasting,
1361
- const common::Length &falseNorthing);
1362
-
1363
- PROJ_DLL static ConversionNNPtr
1364
- createSinusoidal(const util::PropertyMap &properties,
1365
- const common::Angle &centerLong,
1366
- const common::Length &falseEasting,
1367
- const common::Length &falseNorthing);
1368
-
1369
- PROJ_DLL static ConversionNNPtr createStereographic(
1370
- const util::PropertyMap &properties, const common::Angle &centerLat,
1371
- const common::Angle &centerLong, const common::Scale &scale,
1372
- const common::Length &falseEasting,
1373
- const common::Length &falseNorthing);
1374
-
1375
- PROJ_DLL static ConversionNNPtr
1376
- createVanDerGrinten(const util::PropertyMap &properties,
1377
- const common::Angle &centerLong,
1378
- const common::Length &falseEasting,
1379
- const common::Length &falseNorthing);
1380
-
1381
- PROJ_DLL static ConversionNNPtr
1382
- createWagnerI(const util::PropertyMap &properties,
1383
- const common::Angle &centerLong,
1384
- const common::Length &falseEasting,
1385
- const common::Length &falseNorthing);
1386
-
1387
- PROJ_DLL static ConversionNNPtr
1388
- createWagnerII(const util::PropertyMap &properties,
1389
- const common::Angle &centerLong,
1390
- const common::Length &falseEasting,
1391
- const common::Length &falseNorthing);
1392
-
1393
- PROJ_DLL static ConversionNNPtr
1394
- createWagnerIII(const util::PropertyMap &properties,
1395
- const common::Angle &latitudeTrueScale,
1396
- const common::Angle &centerLong,
1397
- const common::Length &falseEasting,
1398
- const common::Length &falseNorthing);
1399
-
1400
- PROJ_DLL static ConversionNNPtr
1401
- createWagnerIV(const util::PropertyMap &properties,
1402
- const common::Angle &centerLong,
1403
- const common::Length &falseEasting,
1404
- const common::Length &falseNorthing);
1405
-
1406
- PROJ_DLL static ConversionNNPtr
1407
- createWagnerV(const util::PropertyMap &properties,
1408
- const common::Angle &centerLong,
1409
- const common::Length &falseEasting,
1410
- const common::Length &falseNorthing);
1411
-
1412
- PROJ_DLL static ConversionNNPtr
1413
- createWagnerVI(const util::PropertyMap &properties,
1414
- const common::Angle &centerLong,
1415
- const common::Length &falseEasting,
1416
- const common::Length &falseNorthing);
1417
-
1418
- PROJ_DLL static ConversionNNPtr
1419
- createWagnerVII(const util::PropertyMap &properties,
1420
- const common::Angle &centerLong,
1421
- const common::Length &falseEasting,
1422
- const common::Length &falseNorthing);
1423
-
1424
- PROJ_DLL static ConversionNNPtr createQuadrilateralizedSphericalCube(
1425
- const util::PropertyMap &properties, const common::Angle &centerLat,
1426
- const common::Angle &centerLong, const common::Length &falseEasting,
1427
- const common::Length &falseNorthing);
1428
-
1429
- PROJ_DLL static ConversionNNPtr createSphericalCrossTrackHeight(
1430
- const util::PropertyMap &properties, const common::Angle &pegPointLat,
1431
- const common::Angle &pegPointLong, const common::Angle &pegPointHeading,
1432
- const common::Length &pegPointHeight);
1433
-
1434
- PROJ_DLL static ConversionNNPtr
1435
- createEqualEarth(const util::PropertyMap &properties,
1436
- const common::Angle &centerLong,
1437
- const common::Length &falseEasting,
1438
- const common::Length &falseNorthing);
1439
-
1440
- PROJ_DLL static ConversionNNPtr
1441
- createVerticalPerspective(const util::PropertyMap &properties,
1442
- const common::Angle &topoOriginLat,
1443
- const common::Angle &topoOriginLong,
1444
- const common::Length &topoOriginHeight,
1445
- const common::Length &viewPointHeight,
1446
- const common::Length &falseEasting,
1447
- const common::Length &falseNorthing);
1448
-
1449
- PROJ_DLL static ConversionNNPtr createPoleRotationGRIBConvention(
1450
- const util::PropertyMap &properties,
1451
- const common::Angle &southPoleLatInUnrotatedCRS,
1452
- const common::Angle &southPoleLongInUnrotatedCRS,
1453
- const common::Angle &axisRotation);
1454
-
1455
- PROJ_DLL static ConversionNNPtr createPoleRotationNetCDFCFConvention(
1456
- const util::PropertyMap &properties,
1457
- const common::Angle &gridNorthPoleLatitude,
1458
- const common::Angle &gridNorthPoleLongitude,
1459
- const common::Angle &northPoleGridLongitude);
1460
-
1461
- PROJ_DLL static ConversionNNPtr
1462
- createChangeVerticalUnit(const util::PropertyMap &properties,
1463
- const common::Scale &factor);
1464
-
1465
- PROJ_DLL static ConversionNNPtr
1466
- createChangeVerticalUnit(const util::PropertyMap &properties);
1467
-
1468
- PROJ_DLL static ConversionNNPtr
1469
- createHeightDepthReversal(const util::PropertyMap &properties);
1470
-
1471
- PROJ_DLL static ConversionNNPtr createAxisOrderReversal(bool is3D);
1472
-
1473
- PROJ_DLL static ConversionNNPtr
1474
- createGeographicGeocentric(const util::PropertyMap &properties);
1475
-
1476
- PROJ_DLL static ConversionNNPtr
1477
- createGeographic2DOffsets(const util::PropertyMap &properties,
1478
- const common::Angle &offsetLat,
1479
- const common::Angle &offsetLong);
1480
-
1481
- PROJ_DLL static ConversionNNPtr createGeographic3DOffsets(
1482
- const util::PropertyMap &properties, const common::Angle &offsetLat,
1483
- const common::Angle &offsetLong, const common::Length &offsetHeight);
1484
-
1485
- PROJ_DLL static ConversionNNPtr createGeographic2DWithHeightOffsets(
1486
- const util::PropertyMap &properties, const common::Angle &offsetLat,
1487
- const common::Angle &offsetLong, const common::Length &offsetHeight);
1488
-
1489
- PROJ_DLL static ConversionNNPtr
1490
- createVerticalOffset(const util::PropertyMap &properties,
1491
- const common::Length &offsetHeight);
1492
-
1493
- PROJ_DLL ConversionPtr convertToOtherMethod(int targetEPSGCode) const;
1494
-
1495
- PROJ_PRIVATE :
1496
- //! @cond Doxygen_Suppress
1497
- PROJ_INTERNAL void
1498
- _exportToPROJString(io::PROJStringFormatter *formatter)
1499
- const override; // throw(FormattingException)
1500
-
1501
- PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
1502
- const override; // throw(FormattingException)
1503
-
1504
- PROJ_INTERNAL const char *getESRIMethodName() const;
1505
-
1506
- PROJ_INTERNAL const char *getWKT1GDALMethodName() const;
1507
-
1508
- PROJ_INTERNAL ConversionNNPtr shallowClone() const;
1509
-
1510
- PROJ_INTERNAL ConversionNNPtr alterParametersLinearUnit(
1511
- const common::UnitOfMeasure &unit, bool convertToNewUnit) const;
1512
-
1513
- PROJ_INTERNAL static ConversionNNPtr
1514
- createGeographicGeocentric(const crs::CRSNNPtr &sourceCRS,
1515
- const crs::CRSNNPtr &targetCRS);
1516
-
1517
- PROJ_INTERNAL static ConversionNNPtr
1518
- createGeographicGeocentricLatitude(const crs::CRSNNPtr &sourceCRS,
1519
- const crs::CRSNNPtr &targetCRS);
1520
-
1521
- //! @endcond
1522
-
1523
- protected:
1524
- PROJ_INTERNAL
1525
- Conversion(const OperationMethodNNPtr &methodIn,
1526
- const std::vector<GeneralParameterValueNNPtr> &values);
1527
- PROJ_INTERNAL Conversion(const Conversion &other);
1528
- INLINED_MAKE_SHARED
1529
-
1530
- PROJ_FRIEND(crs::ProjectedCRS);
1531
- PROJ_INTERNAL bool addWKTExtensionNode(io::WKTFormatter *formatter) const;
1532
-
1533
- PROJ_INTERNAL CoordinateOperationNNPtr _shallowClone() const override;
1534
-
1535
- private:
1536
- PROJ_OPAQUE_PRIVATE_DATA
1537
- Conversion &operator=(const Conversion &other) = delete;
1538
-
1539
- PROJ_INTERNAL static ConversionNNPtr
1540
- create(const util::PropertyMap &properties, int method_epsg_code,
1541
- const std::vector<ParameterValueNNPtr> &values);
1542
-
1543
- PROJ_INTERNAL static ConversionNNPtr
1544
- create(const util::PropertyMap &properties, const char *method_wkt2_name,
1545
- const std::vector<ParameterValueNNPtr> &values);
1546
- };
1547
-
1548
- // ---------------------------------------------------------------------------
1549
-
1550
- /** \brief A mathematical operation on coordinates in which parameters are
1551
- * empirically derived from data containing the coordinates of a series of
1552
- * points in both coordinate reference systems.
1553
- *
1554
- * This computational process is usually "over-determined", allowing derivation
1555
- * of error (or accuracy) estimates for the coordinate transformation. Also,
1556
- * the stochastic nature of the parameters may result in multiple (different)
1557
- * versions of the same coordinate transformations between the same source and
1558
- * target CRSs. Any single coordinate operation in which the input and output
1559
- * coordinates are referenced to different datums (reference frames) will be a
1560
- * coordinate transformation.
1561
- *
1562
- * \remark Implements Transformation from \ref ISO_19111_2019
1563
- */
1564
- class PROJ_GCC_DLL Transformation : public SingleOperation {
1565
- public:
1566
- //! @cond Doxygen_Suppress
1567
- PROJ_DLL ~Transformation() override;
1568
- //! @endcond
1569
-
1570
- PROJ_DLL const crs::CRSNNPtr &sourceCRS() PROJ_PURE_DECL;
1571
- PROJ_DLL const crs::CRSNNPtr &targetCRS() PROJ_PURE_DECL;
1572
-
1573
- PROJ_DLL CoordinateOperationNNPtr inverse() const override;
1574
-
1575
- PROJ_DLL static TransformationNNPtr
1576
- create(const util::PropertyMap &properties,
1577
- const crs::CRSNNPtr &sourceCRSIn, const crs::CRSNNPtr &targetCRSIn,
1578
- const crs::CRSPtr &interpolationCRSIn,
1579
- const OperationMethodNNPtr &methodIn,
1580
- const std::vector<GeneralParameterValueNNPtr> &values,
1581
- const std::vector<metadata::PositionalAccuracyNNPtr>
1582
- &accuracies); // throw InvalidOperation
1583
-
1584
- PROJ_DLL static TransformationNNPtr
1585
- create(const util::PropertyMap &propertiesTransformation,
1586
- const crs::CRSNNPtr &sourceCRSIn, const crs::CRSNNPtr &targetCRSIn,
1587
- const crs::CRSPtr &interpolationCRSIn,
1588
- const util::PropertyMap &propertiesOperationMethod,
1589
- const std::vector<OperationParameterNNPtr> &parameters,
1590
- const std::vector<ParameterValueNNPtr> &values,
1591
- const std::vector<metadata::PositionalAccuracyNNPtr>
1592
- &accuracies); // throw InvalidOperation
1593
-
1594
- PROJ_DLL static TransformationNNPtr createGeocentricTranslations(
1595
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1596
- const crs::CRSNNPtr &targetCRSIn, double translationXMetre,
1597
- double translationYMetre, double translationZMetre,
1598
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1599
-
1600
- PROJ_DLL static TransformationNNPtr createPositionVector(
1601
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1602
- const crs::CRSNNPtr &targetCRSIn, double translationXMetre,
1603
- double translationYMetre, double translationZMetre,
1604
- double rotationXArcSecond, double rotationYArcSecond,
1605
- double rotationZArcSecond, double scaleDifferencePPM,
1606
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1607
-
1608
- PROJ_DLL static TransformationNNPtr createCoordinateFrameRotation(
1609
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1610
- const crs::CRSNNPtr &targetCRSIn, double translationXMetre,
1611
- double translationYMetre, double translationZMetre,
1612
- double rotationXArcSecond, double rotationYArcSecond,
1613
- double rotationZArcSecond, double scaleDifferencePPM,
1614
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1615
-
1616
- PROJ_DLL static TransformationNNPtr createTimeDependentPositionVector(
1617
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1618
- const crs::CRSNNPtr &targetCRSIn, double translationXMetre,
1619
- double translationYMetre, double translationZMetre,
1620
- double rotationXArcSecond, double rotationYArcSecond,
1621
- double rotationZArcSecond, double scaleDifferencePPM,
1622
- double rateTranslationX, double rateTranslationY,
1623
- double rateTranslationZ, double rateRotationX, double rateRotationY,
1624
- double rateRotationZ, double rateScaleDifference,
1625
- double referenceEpochYear,
1626
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1627
-
1628
- PROJ_DLL static TransformationNNPtr
1629
- createTimeDependentCoordinateFrameRotation(
1630
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1631
- const crs::CRSNNPtr &targetCRSIn, double translationXMetre,
1632
- double translationYMetre, double translationZMetre,
1633
- double rotationXArcSecond, double rotationYArcSecond,
1634
- double rotationZArcSecond, double scaleDifferencePPM,
1635
- double rateTranslationX, double rateTranslationY,
1636
- double rateTranslationZ, double rateRotationX, double rateRotationY,
1637
- double rateRotationZ, double rateScaleDifference,
1638
- double referenceEpochYear,
1639
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1640
-
1641
- PROJ_DLL static TransformationNNPtr createTOWGS84(
1642
- const crs::CRSNNPtr &sourceCRSIn,
1643
- const std::vector<double> &TOWGS84Parameters); // throw InvalidOperation
1644
-
1645
- PROJ_DLL static TransformationNNPtr createNTv2(
1646
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1647
- const crs::CRSNNPtr &targetCRSIn, const std::string &filename,
1648
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1649
-
1650
- PROJ_DLL static TransformationNNPtr createMolodensky(
1651
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1652
- const crs::CRSNNPtr &targetCRSIn, double translationXMetre,
1653
- double translationYMetre, double translationZMetre,
1654
- double semiMajorAxisDifferenceMetre, double flattingDifference,
1655
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1656
-
1657
- PROJ_DLL static TransformationNNPtr createAbridgedMolodensky(
1658
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1659
- const crs::CRSNNPtr &targetCRSIn, double translationXMetre,
1660
- double translationYMetre, double translationZMetre,
1661
- double semiMajorAxisDifferenceMetre, double flattingDifference,
1662
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1663
-
1664
- PROJ_DLL static TransformationNNPtr
1665
- createGravityRelatedHeightToGeographic3D(
1666
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1667
- const crs::CRSNNPtr &targetCRSIn, const crs::CRSPtr &interpolationCRSIn,
1668
- const std::string &filename,
1669
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1670
-
1671
- PROJ_DLL static TransformationNNPtr createVERTCON(
1672
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1673
- const crs::CRSNNPtr &targetCRSIn, const std::string &filename,
1674
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1675
-
1676
- PROJ_DLL static TransformationNNPtr createLongitudeRotation(
1677
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1678
- const crs::CRSNNPtr &targetCRSIn, const common::Angle &offset);
1679
-
1680
- PROJ_DLL static TransformationNNPtr createGeographic2DOffsets(
1681
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1682
- const crs::CRSNNPtr &targetCRSIn, const common::Angle &offsetLat,
1683
- const common::Angle &offsetLong,
1684
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1685
-
1686
- PROJ_DLL static TransformationNNPtr createGeographic3DOffsets(
1687
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1688
- const crs::CRSNNPtr &targetCRSIn, const common::Angle &offsetLat,
1689
- const common::Angle &offsetLong, const common::Length &offsetHeight,
1690
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1691
-
1692
- PROJ_DLL static TransformationNNPtr createGeographic2DWithHeightOffsets(
1693
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1694
- const crs::CRSNNPtr &targetCRSIn, const common::Angle &offsetLat,
1695
- const common::Angle &offsetLong, const common::Length &offsetHeight,
1696
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1697
-
1698
- PROJ_DLL static TransformationNNPtr createCartesianGridOffsets(
1699
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1700
- const crs::CRSNNPtr &targetCRSIn, const common::Length &eastingOffset,
1701
- const common::Length &northingOffset,
1702
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1703
-
1704
- PROJ_DLL static TransformationNNPtr createVerticalOffset(
1705
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1706
- const crs::CRSNNPtr &targetCRSIn, const common::Length &offsetHeight,
1707
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1708
-
1709
- PROJ_DLL static TransformationNNPtr createChangeVerticalUnit(
1710
- const util::PropertyMap &properties, const crs::CRSNNPtr &sourceCRSIn,
1711
- const crs::CRSNNPtr &targetCRSIn, const common::Scale &factor,
1712
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1713
-
1714
- PROJ_PRIVATE :
1715
- //! @cond Doxygen_Suppress
1716
- PROJ_INTERNAL const std::string &
1717
- getPROJ4NadgridsCompatibleFilename() const;
1718
-
1719
- PROJ_FOR_TEST std::vector<double> getTOWGS84Parameters(
1720
- bool canThrowException) const; // throw(io::FormattingException)
1721
-
1722
- PROJ_INTERNAL const std::string &getHeightToGeographic3DFilename() const;
1723
-
1724
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
1725
- const override; // throw(io::FormattingException)
1726
-
1727
- PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
1728
- const override; // throw(FormattingException)
1729
-
1730
- PROJ_INTERNAL TransformationNNPtr shallowClone() const;
1731
-
1732
- PROJ_INTERNAL TransformationNNPtr
1733
- promoteTo3D(const std::string &newName,
1734
- const io::DatabaseContextPtr &dbContext) const;
1735
-
1736
- PROJ_INTERNAL TransformationNNPtr
1737
- demoteTo2D(const std::string &newName,
1738
- const io::DatabaseContextPtr &dbContext) const;
1739
-
1740
- PROJ_INTERNAL static bool
1741
- isGeographic3DToGravityRelatedHeight(const OperationMethodNNPtr &method,
1742
- bool allowInverse);
1743
- //! @endcond
1744
-
1745
- protected:
1746
- PROJ_INTERNAL Transformation(
1747
- const crs::CRSNNPtr &sourceCRSIn, const crs::CRSNNPtr &targetCRSIn,
1748
- const crs::CRSPtr &interpolationCRSIn,
1749
- const OperationMethodNNPtr &methodIn,
1750
- const std::vector<GeneralParameterValueNNPtr> &values,
1751
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1752
- PROJ_INTERNAL Transformation(const Transformation &other);
1753
- INLINED_MAKE_SHARED
1754
-
1755
- PROJ_INTERNAL void _exportToPROJString(io::PROJStringFormatter *formatter)
1756
- const override; // throw(FormattingException)
1757
-
1758
- PROJ_FRIEND(CoordinateOperationFactory);
1759
- PROJ_FRIEND(SingleOperation);
1760
- PROJ_INTERNAL TransformationNNPtr inverseAsTransformation() const;
1761
-
1762
- PROJ_INTERNAL CoordinateOperationNNPtr _shallowClone() const override;
1763
-
1764
- private:
1765
- PROJ_OPAQUE_PRIVATE_DATA
1766
- };
1767
-
1768
- // ---------------------------------------------------------------------------
1769
-
1770
- class PointMotionOperation;
1771
- /** Shared pointer of PointMotionOperation */
1772
- using PointMotionOperationPtr = std::shared_ptr<PointMotionOperation>;
1773
- /** Non-null shared pointer of PointMotionOperation */
1774
- using PointMotionOperationNNPtr = util::nn<PointMotionOperationPtr>;
1775
-
1776
- /** \brief A mathematical operation that describes the change of coordinate
1777
- * values within one coordinate reference system due to the motion of the
1778
- * point between one coordinate epoch and another coordinate epoch.
1779
- *
1780
- * The motion is due to tectonic plate movement or deformation.
1781
- *
1782
- * \remark Implements PointMotionOperation from \ref ISO_19111_2019
1783
- */
1784
- class PROJ_GCC_DLL PointMotionOperation : public SingleOperation {
1785
- public:
1786
- // TODO
1787
- //! @cond Doxygen_Suppress
1788
- PROJ_DLL ~PointMotionOperation() override;
1789
- //! @endcond
1790
-
1791
- PROJ_DLL const crs::CRSNNPtr &sourceCRS() PROJ_PURE_DECL;
1792
-
1793
- PROJ_DLL CoordinateOperationNNPtr inverse() const override;
1794
-
1795
- PROJ_DLL static PointMotionOperationNNPtr
1796
- create(const util::PropertyMap &properties, const crs::CRSNNPtr &crsIn,
1797
- const OperationMethodNNPtr &methodIn,
1798
- const std::vector<GeneralParameterValueNNPtr> &values,
1799
- const std::vector<metadata::PositionalAccuracyNNPtr>
1800
- &accuracies); // throw InvalidOperation
1801
-
1802
- PROJ_DLL static PointMotionOperationNNPtr
1803
- create(const util::PropertyMap &propertiesOperation,
1804
- const crs::CRSNNPtr &crsIn,
1805
- const util::PropertyMap &propertiesOperationMethod,
1806
- const std::vector<OperationParameterNNPtr> &parameters,
1807
- const std::vector<ParameterValueNNPtr> &values,
1808
- const std::vector<metadata::PositionalAccuracyNNPtr>
1809
- &accuracies); // throw InvalidOperation
1810
-
1811
- PROJ_DLL PointMotionOperationNNPtr substitutePROJAlternativeGridNames(
1812
- io::DatabaseContextNNPtr databaseContext) const;
1813
-
1814
- PROJ_PRIVATE :
1815
- //! @cond Doxygen_Suppress
1816
- PROJ_INTERNAL PointMotionOperationNNPtr
1817
- shallowClone() const;
1818
-
1819
- PROJ_INTERNAL PointMotionOperationNNPtr
1820
- cloneWithEpochs(const common::DataEpoch &sourceEpoch,
1821
- const common::DataEpoch &targetEpoch) const;
1822
-
1823
- PROJ_INTERNAL void _exportToPROJString(io::PROJStringFormatter *formatter)
1824
- const override; // throw(FormattingException)
1825
-
1826
- PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
1827
- const override; // throw(io::FormattingException)
1828
-
1829
- PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
1830
- const override; // throw(FormattingException)
1831
-
1832
- //! @endcond
1833
-
1834
- protected:
1835
- PROJ_INTERNAL PointMotionOperation(
1836
- const crs::CRSNNPtr &crsIn, const OperationMethodNNPtr &methodIn,
1837
- const std::vector<GeneralParameterValueNNPtr> &values,
1838
- const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
1839
- PROJ_INTERNAL PointMotionOperation(const PointMotionOperation &other);
1840
- INLINED_MAKE_SHARED
1841
-
1842
- PROJ_INTERNAL CoordinateOperationNNPtr _shallowClone() const override;
1843
-
1844
- private:
1845
- PointMotionOperation &operator=(const PointMotionOperation &) = delete;
1846
- };
1847
-
1848
- // ---------------------------------------------------------------------------
1849
-
1850
- class ConcatenatedOperation;
1851
- /** Shared pointer of ConcatenatedOperation */
1852
- using ConcatenatedOperationPtr = std::shared_ptr<ConcatenatedOperation>;
1853
- /** Non-null shared pointer of ConcatenatedOperation */
1854
- using ConcatenatedOperationNNPtr = util::nn<ConcatenatedOperationPtr>;
1855
-
1856
- /** \brief An ordered sequence of two or more single coordinate operations
1857
- * (SingleOperation).
1858
- *
1859
- * The sequence of coordinate operations is constrained by the requirement
1860
- * that
1861
- * the source coordinate reference system of step n+1 shall be the same as
1862
- * the target coordinate reference system of step n.
1863
- *
1864
- * \remark Implements ConcatenatedOperation from \ref ISO_19111_2019
1865
- */
1866
- class PROJ_GCC_DLL ConcatenatedOperation final : public CoordinateOperation {
1867
- public:
1868
- //! @cond Doxygen_Suppress
1869
- PROJ_DLL ~ConcatenatedOperation() override;
1870
- //! @endcond
1871
-
1872
- PROJ_DLL const std::vector<CoordinateOperationNNPtr> &operations() const;
1873
-
1874
- PROJ_DLL CoordinateOperationNNPtr inverse() const override;
1875
-
1876
- PROJ_DLL static ConcatenatedOperationNNPtr
1877
- create(const util::PropertyMap &properties,
1878
- const std::vector<CoordinateOperationNNPtr> &operationsIn,
1879
- const std::vector<metadata::PositionalAccuracyNNPtr>
1880
- &accuracies); // throw InvalidOperation
1881
-
1882
- PROJ_DLL static CoordinateOperationNNPtr createComputeMetadata(
1883
- const std::vector<CoordinateOperationNNPtr> &operationsIn,
1884
- bool checkExtent); // throw InvalidOperation
1885
-
1886
- PROJ_DLL std::set<GridDescription>
1887
- gridsNeeded(const io::DatabaseContextPtr &databaseContext,
1888
- bool considerKnownGridsAsAvailable) const override;
1889
-
1890
- PROJ_PRIVATE :
1891
-
1892
- //! @cond Doxygen_Suppress
1893
- PROJ_INTERNAL void
1894
- _exportToWKT(io::WKTFormatter *formatter)
1895
- const override; // throw(io::FormattingException)
1896
-
1897
- PROJ_INTERNAL bool _isEquivalentTo(
1898
- const util::IComparable *other,
1899
- util::IComparable::Criterion criterion =
1900
- util::IComparable::Criterion::STRICT,
1901
- const io::DatabaseContextPtr &dbContext = nullptr) const override;
1902
-
1903
- PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
1904
- const override; // throw(FormattingException)
1905
-
1906
- PROJ_INTERNAL static void
1907
- fixStepsDirection(const crs::CRSNNPtr &concatOpSourceCRS,
1908
- const crs::CRSNNPtr &concatOpTargetCRS,
1909
- std::vector<CoordinateOperationNNPtr> &operationsInOut,
1910
- const io::DatabaseContextPtr &dbContext);
1911
- //! @endcond
1912
-
1913
- protected:
1914
- PROJ_INTERNAL ConcatenatedOperation(const ConcatenatedOperation &other);
1915
- PROJ_INTERNAL explicit ConcatenatedOperation(
1916
- const std::vector<CoordinateOperationNNPtr> &operationsIn);
1917
-
1918
- PROJ_INTERNAL void _exportToPROJString(io::PROJStringFormatter *formatter)
1919
- const override; // throw(FormattingException)
1920
-
1921
- PROJ_INTERNAL CoordinateOperationNNPtr _shallowClone() const override;
1922
-
1923
- INLINED_MAKE_SHARED
1924
-
1925
- private:
1926
- PROJ_OPAQUE_PRIVATE_DATA
1927
- ConcatenatedOperation &
1928
- operator=(const ConcatenatedOperation &other) = delete;
1929
- };
1930
-
1931
- // ---------------------------------------------------------------------------
1932
-
1933
- class CoordinateOperationContext;
1934
- /** Unique pointer of CoordinateOperationContext */
1935
- using CoordinateOperationContextPtr =
1936
- std::unique_ptr<CoordinateOperationContext>;
1937
- /** Non-null unique pointer of CoordinateOperationContext */
1938
- using CoordinateOperationContextNNPtr = util::nn<CoordinateOperationContextPtr>;
1939
-
1940
- /** \brief Context in which a coordinate operation is to be used.
1941
- *
1942
- * \remark Implements [CoordinateOperationFactory
1943
- * https://sis.apache.org/apidocs/org/apache/sis/referencing/operation/CoordinateOperationContext.html]
1944
- * from
1945
- * Apache SIS
1946
- */
1947
-
1948
- class PROJ_GCC_DLL CoordinateOperationContext {
1949
- public:
1950
- //! @cond Doxygen_Suppress
1951
- PROJ_DLL virtual ~CoordinateOperationContext();
1952
- //! @endcond
1953
-
1954
- PROJ_DLL const io::AuthorityFactoryPtr &getAuthorityFactory() const;
1955
-
1956
- PROJ_DLL const metadata::ExtentPtr &getAreaOfInterest() const;
1957
-
1958
- PROJ_DLL void setAreaOfInterest(const metadata::ExtentPtr &extent);
1959
-
1960
- PROJ_DLL double getDesiredAccuracy() const;
1961
-
1962
- PROJ_DLL void setDesiredAccuracy(double accuracy);
1963
-
1964
- PROJ_DLL void setAllowBallparkTransformations(bool allow);
1965
-
1966
- PROJ_DLL bool getAllowBallparkTransformations() const;
1967
-
1968
- /** Specify how source and target CRS extent should be used to restrict
1969
- * candidate operations (only taken into account if no explicit area of
1970
- * interest is specified. */
1971
- enum class SourceTargetCRSExtentUse {
1972
- /** Ignore CRS extent */
1973
- NONE,
1974
- /** Test coordinate operation extent against both CRS extent. */
1975
- BOTH,
1976
- /** Test coordinate operation extent against the intersection of both
1977
- CRS extent. */
1978
- INTERSECTION,
1979
- /** Test coordinate operation against the smallest of both CRS extent.
1980
- */
1981
- SMALLEST,
1982
- };
1983
-
1984
- PROJ_DLL void setSourceAndTargetCRSExtentUse(SourceTargetCRSExtentUse use);
1985
-
1986
- PROJ_DLL SourceTargetCRSExtentUse getSourceAndTargetCRSExtentUse() const;
1987
-
1988
- /** Spatial criterion to restrict candidate operations. */
1989
- enum class SpatialCriterion {
1990
- /** The area of validity of transforms should strictly contain the
1991
- * are of interest. */
1992
- STRICT_CONTAINMENT,
1993
-
1994
- /** The area of validity of transforms should at least intersect the
1995
- * area of interest. */
1996
- PARTIAL_INTERSECTION
1997
- };
1998
-
1999
- PROJ_DLL void setSpatialCriterion(SpatialCriterion criterion);
2000
-
2001
- PROJ_DLL SpatialCriterion getSpatialCriterion() const;
2002
-
2003
- PROJ_DLL void setUsePROJAlternativeGridNames(bool usePROJNames);
2004
-
2005
- PROJ_DLL bool getUsePROJAlternativeGridNames() const;
2006
-
2007
- PROJ_DLL void setDiscardSuperseded(bool discard);
2008
-
2009
- PROJ_DLL bool getDiscardSuperseded() const;
2010
-
2011
- /** Describe how grid availability is used. */
2012
- enum class GridAvailabilityUse {
2013
- /** Grid availability is only used for sorting results. Operations
2014
- * where some grids are missing will be sorted last. */
2015
- USE_FOR_SORTING,
2016
-
2017
- /** Completely discard an operation if a required grid is missing. */
2018
- DISCARD_OPERATION_IF_MISSING_GRID,
2019
-
2020
- /** Ignore grid availability at all. Results will be presented as if
2021
- * all grids were available. */
2022
- IGNORE_GRID_AVAILABILITY,
2023
-
2024
- /** Results will be presented as if grids known to PROJ (that is
2025
- * registered in the grid_alternatives table of its database) were
2026
- * available. Used typically when networking is enabled.
2027
- */
2028
- KNOWN_AVAILABLE,
2029
- };
2030
-
2031
- PROJ_DLL void setGridAvailabilityUse(GridAvailabilityUse use);
2032
-
2033
- PROJ_DLL GridAvailabilityUse getGridAvailabilityUse() const;
2034
-
2035
- /** Describe if and how intermediate CRS should be used */
2036
- enum class IntermediateCRSUse {
2037
- /** Always search for intermediate CRS. */
2038
- ALWAYS,
2039
-
2040
- /** Only attempt looking for intermediate CRS if there is no direct
2041
- * transformation available. */
2042
- IF_NO_DIRECT_TRANSFORMATION,
2043
-
2044
- /* Do not attempt looking for intermediate CRS. */
2045
- NEVER,
2046
- };
2047
-
2048
- PROJ_DLL void setAllowUseIntermediateCRS(IntermediateCRSUse use);
2049
-
2050
- PROJ_DLL IntermediateCRSUse getAllowUseIntermediateCRS() const;
2051
-
2052
- PROJ_DLL void
2053
- setIntermediateCRS(const std::vector<std::pair<std::string, std::string>>
2054
- &intermediateCRSAuthCodes);
2055
-
2056
- PROJ_DLL const std::vector<std::pair<std::string, std::string>> &
2057
- getIntermediateCRS() const;
2058
-
2059
- PROJ_DLL void
2060
- setSourceCoordinateEpoch(const util::optional<common::DataEpoch> &epoch);
2061
-
2062
- PROJ_DLL const util::optional<common::DataEpoch> &
2063
- getSourceCoordinateEpoch() const;
2064
-
2065
- PROJ_DLL void
2066
- setTargetCoordinateEpoch(const util::optional<common::DataEpoch> &epoch);
2067
-
2068
- PROJ_DLL const util::optional<common::DataEpoch> &
2069
- getTargetCoordinateEpoch() const;
2070
-
2071
- PROJ_DLL static CoordinateOperationContextNNPtr
2072
- create(const io::AuthorityFactoryPtr &authorityFactory,
2073
- const metadata::ExtentPtr &extent, double accuracy);
2074
-
2075
- PROJ_DLL CoordinateOperationContextNNPtr clone() const;
2076
-
2077
- protected:
2078
- PROJ_INTERNAL CoordinateOperationContext();
2079
- PROJ_INTERNAL
2080
- CoordinateOperationContext(const CoordinateOperationContext &);
2081
- INLINED_MAKE_UNIQUE
2082
-
2083
- private:
2084
- PROJ_OPAQUE_PRIVATE_DATA
2085
- };
2086
-
2087
- // ---------------------------------------------------------------------------
2088
-
2089
- class CoordinateOperationFactory;
2090
- /** Unique pointer of CoordinateOperationFactory */
2091
- using CoordinateOperationFactoryPtr =
2092
- std::unique_ptr<CoordinateOperationFactory>;
2093
- /** Non-null unique pointer of CoordinateOperationFactory */
2094
- using CoordinateOperationFactoryNNPtr = util::nn<CoordinateOperationFactoryPtr>;
2095
-
2096
- /** \brief Creates coordinate operations. This factory is capable to find
2097
- * coordinate transformations or conversions between two coordinate
2098
- * reference
2099
- * systems.
2100
- *
2101
- * \remark Implements (partially) CoordinateOperationFactory from \ref
2102
- * GeoAPI
2103
- */
2104
- class PROJ_GCC_DLL CoordinateOperationFactory {
2105
- public:
2106
- //! @cond Doxygen_Suppress
2107
- PROJ_DLL virtual ~CoordinateOperationFactory();
2108
- //! @endcond
2109
-
2110
- PROJ_DLL CoordinateOperationPtr createOperation(
2111
- const crs::CRSNNPtr &sourceCRS, const crs::CRSNNPtr &targetCRS) const;
2112
-
2113
- PROJ_DLL std::vector<CoordinateOperationNNPtr>
2114
- createOperations(const crs::CRSNNPtr &sourceCRS,
2115
- const crs::CRSNNPtr &targetCRS,
2116
- const CoordinateOperationContextNNPtr &context) const;
2117
-
2118
- PROJ_DLL std::vector<CoordinateOperationNNPtr> createOperations(
2119
- const coordinates::CoordinateMetadataNNPtr &sourceCoordinateMetadata,
2120
- const crs::CRSNNPtr &targetCRS,
2121
- const CoordinateOperationContextNNPtr &context) const;
2122
-
2123
- PROJ_DLL std::vector<CoordinateOperationNNPtr> createOperations(
2124
- const crs::CRSNNPtr &sourceCRS,
2125
- const coordinates::CoordinateMetadataNNPtr &targetCoordinateMetadata,
2126
- const CoordinateOperationContextNNPtr &context) const;
2127
-
2128
- PROJ_DLL std::vector<CoordinateOperationNNPtr> createOperations(
2129
- const coordinates::CoordinateMetadataNNPtr &sourceCoordinateMetadata,
2130
- const coordinates::CoordinateMetadataNNPtr &targetCoordinateMetadata,
2131
- const CoordinateOperationContextNNPtr &context) const;
2132
-
2133
- PROJ_DLL static CoordinateOperationFactoryNNPtr create();
2134
-
2135
- protected:
2136
- PROJ_INTERNAL CoordinateOperationFactory();
2137
- INLINED_MAKE_UNIQUE
2138
-
2139
- private:
2140
- PROJ_OPAQUE_PRIVATE_DATA
2141
- };
2142
-
2143
- } // namespace operation
2144
-
2145
- NS_PROJ_END
2146
-
2147
- #endif // COORDINATEOPERATION_HH_INCLUDED