2016-01-27 4 views
2

J'ai essayé de convertir des valeurs d'orientation et d'orientation en lat/lon en utilisant JCoord et GeoTools. Le problème est que je reçois des résultats différents pour chaque bibliothèque en utilisant le même & Northing.Différents résultats avec JCoord et GeoTools

Le code que j'utilise est le code fourni dans la réponse principale et la réponse de GeoTools fournie dans cette question. convert latitude and longitude to northing and easting in java?

L'abscisse J'utilise est: 393339

Le Ordonnée J'utilise est: 806179

Les coordonnées Jcoord fournit sont (57,14645296506957, -2,111 98674790966)

Les coordonnées fournies par GeoTools sont [57.146449494619105, 2.111 14868502565]

Ils semblent perdre de l'exactitude autour du 4ème chiffre et je me demande lequel a raison?

Merci

Répondre

1

Si l'on suppose que ce sont des OS et Ordonnées Abscisses (ce qui semble probable en fonction de vos valeurs latitude/longitude), puis ils sont exacts à 1 m (comme 6 références de la grille de la figure). Basé sur les valeurs données par this calculator un degré de latitude est d'environ 100 km, donc la 4ème décimale est d'environ 10m ou environ la précision que vous pouvez vous attendre. Pour obtenir plus de précision dans le calcul, vous devez vous assurer que les paramètres ToWGS84 sont utilisés dans chaque calcul - pour GeoTools, vous pouvez interroger la projection pour trouver cette valeur, je pense que JCoord a une opération similaire.

Remarque dans GeoTools le paramètre towgs peut varier selon l'usine de référencement que vous utilisez, je crois que gt-epsg-hsql est plus précis que le gt-epsg-wkt.

+0

Désolé pour la réponse tardive, oui, ils sont tous deux réglés sur ToWGS84 donc je suppose que cela doit être quelque chose à voir avec l'usine de référencement. Je vais expérimenter quand j'ai un peu de temps. Merci beaucoup –

+0

En fait, une référence de grille de 6 chiffres est seulement précise à ~ 10m (voir https://support.landmark.co.uk/entries/45135813-National-Grid-Reference-Coordinate-Conversion), donc tout lat/long La valeur après la 4ème décimale est redondante. Cela dit, si vous arrondissez les valeurs à 4 décimales dans l'exemple ci-dessus, vous obtiendrez toujours (légèrement) différentes valeurs de latitude (57.1464 vs 57.1465). – neilireson