Open source RDNAPTRANS2018 Java implementatie

Er is al door verschillende forumleden in de afgelopen jaren de wens uitgesproken om een Java implementatie van RDNAPTRANS2018 te maken en/of te kunnen gebruiken (RDNAPTRANS 2018 implementatie in Java, Nogmaals RDNAPTRANS2018 in Java).

Naar aanleiding van Kleine afwijking bij RDNAPTRANS2018 in PHP, waarin een voorbeeld implementatie in SAS genoemd wordt en controle data voor tussenstappen van de transformatie zit, heb ik een paar weken geleden een Java implementatie van RDNAPTRANS2018 geschreven. De transformatieresultaten zijn ondertussen ook gevalideerd en goedgekeurd zodat de RDNAPTRANS naam gebruikt mag worden.

Er zitten twee “known issues” in die de transformatie binnen de grenzen van het correctiegrid niet beïnvloeden. Die zal ik nog een keer oplossen als ik weer wat tijd vrij kan maken.

4 likes

Bedankt Robin! Voor gebruikers wil ik er wel nog even op wijzen dat het advies vanuit NSGI.nl is om PROJ.org te gebruiken en vooral energie te steken in het efficiënt aanroepen van de PROJ-library vanuit de gebruikte programmeertaal, in plaats van een implementatie van RDNAPTRANS™ naar iedere mogelijke programmeertaal te vertalen en door de NSGI te laten valideren. Voordeel van PROJ is niet alleen het onderhoud (bugfixes in de code en aanpassingen voor nieuwe RDNAPTRANS™-versies), maar ook dat met PROJ ook eenvoudig iedere andere coördinaattransformatie mogelijk is.

Mooie oproep, maar deze zou denk ik beter werken als deze vergezeld ging van een of enkele voorbeelden, bijvoorbeeld in:

  • java
  • javascript
  • python
1 like

Voorbeelden van het gebruik van de C++/C-code van de PROJ-bibliotheek vanuit andere programmeertalen van zijn te vinden op deze pagina van de PROJ.org-website.

De laatste release van PROJ-JNI (de Java oplossing) is 2.5 jaar oud en werkt nog met PROJ6. Het PR met de overstap naar PROJ8 komt met een nieuw known issue mbt onder andere de WGS84 transformatie. Ik ben nog wat terughoudend om dat het stempel van “dé PROJ Java oplossing” te geven.

Moet wel opmerken dat het project recentelijk door OSGeo is overgenomen, dus misschien komen er binnenkort nog nieuwe releases aan :crossed_fingers:

1 like

Ik snap ook wel dat RDNAPTRANS™2018 zelf programmeren makkelijker of leuker is dan beperkingen van PROJ-JNI fixen :wink: maar op de lange termijn lijkt me dat wel efficiënter.

Met PROJ6 is overigens niet zo veel mis, al zijn nieuwere PROJ-versies uiteraard beter.

PS: WGS84 (EPSG:4326) geeft geen specificatie van de realisatie van WGS84 en het is daardoor (en bij het ontbreken van een epoche) sowieso onmogelijk om daar naartoe te transformeren (afgezien van een nultransformatie gebruiken wat tranformeren overbodig maakt).