Suite

Utiliser l'UTM dans un dépliant efficacement ?

Utiliser l'UTM dans un dépliant efficacement ?


Notre serveur utilise UTM en interne. Nous envoyons ensuite un grand nombre de coordonnées UTM pour les afficher dans un calque de dépliant personnalisé.

D'abord, nous les transformons (déprojetons) en coordonnées géographiques "normales" à l'aide de Proj4Leaflet . Ensuite, nous utilisons la fonction latLngToLayerPoint() des dépliants afin de les projeter pour notre couche personnalisée.

La fonction latLngToLayerPoint() projette les coordonnées géographiques en coordonnées de point.

Existe-t-il un moyen de transformer nos coordonnées UTM directement en points sans faire le détour par des coordonnées géographiques ? Je vois qu'il existe une fonction transform() qui est utilisée par Leaflet en interne pour projeter des coordonnées de latlng "normales".

Comment puis-je obtenir les paramètres nécessaires pour effectuer une transformation de EPSG 32633 vers la projection interne 3857 ?


Vous pouvez utiliser la transformation configurée dans proj4leaflet. Je suppose que vous avez déjà créé un CRS dans votre map.options.

var my_crs = map.options.crs; // récupère le SCR var my_proj = my_crs.projection; // obtenir la projection // transformer le point lat lon en un point utm var my_utm_point = my_proj.project(point_in_latlng);

Si vous souhaitez définir le système de coordonnées interne sur UTM dans le dépliant, je pense que vous devez faire beaucoup de recodage ou utiliser openLayers à la place.


Que faites-vous réellement?

Si vous obtenez vos coordonnées dans 4326 à l'aide de Proj4, vous pouvez ajouter ces points directement à la carte, ou former des points geojson et les ajouter.

Je soupçonne que vous y réfléchissez trop ! Découvrez le meilleur exemple ici : http://leafletjs.com/examples/geojson.html - il devrait être évident à partir de là comment passer de lat/lon (WGS, EPSG:4326) à un point sur une carte Leaflet. Et vous savez déjà comment passer de 32633 à 4326, n'est-ce pas ?