Aller au contenu

emplacement geographique


Fraid

Messages recommandés

Bonjour,

 

Pour faite suite a ce Post

voici une petite fonction qui nous donne le géoreferencement éventuel d'un dessin dwg, NE FONCTIONNE PAS AVEC LES LAMBERTS. l'idée est la ...encore à creuser

je cite mes source.

(defun GeoControl ( / TextGeo)
	;(command "_zoom" "_e")
                (command "_zoom" "_o" DRAW "")
	(setq 	
			Xcvue 	(car (getvar "viewctr"))
			Ycvue 	(cadr (getvar "viewctr"))
	)	;Valeurs toujours à affinées (http://geofree.fr/gf/projguess.asp) 
                        ;et source EPSG http://geodesie.ign.fr/contenu/fichiers/SRCfrance.pdf																				
	;(if (and (> Xcvue 1) (< Xcvue 1200000) (> Ycvue 70000) (< Ycvue 400000))
			;(setq EPSG 27561 TextGeo "\nLe plan semble être en Lambert 1 Zone Nord")
	;)
	;(if (and(> Xcvue 1) (< Xcvue 1200000) (> Ycvue 400000) (< Ycvue 700000))
			;(setq EPSG 27562 TextGeo "\nLe plan semble être en Lambert 2 Zone Centre")
	;)
	;(if (and (> Xcvue 1) (< Xcvue 1200000) (> Ycvue 10000) (< Ycvue 1000000))
			;(setq EPSG 27563 TextGeo "\nLe plan semble être en Lambert 3 Zone Sud")
	;)
	(if (and(> Xcvue 1) (< Xcvue 1200000) (> Ycvue 160000) (< Ycvue 2700000))
			(setq EPSG 27572 TextGeo "\nLe plan semble être en Lambert 2 Etendu")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 9100000) (< Ycvue 9300000))
			(setq EPSG 3950 TextGeo "\nLe plan semble être en CC50")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 8100000) (< Ycvue 8300000))
			(setq EPSG 	3949 TextGeo "\nLe plan semble être en CC49")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 7100000) (< Ycvue 7300000))
			(setq EPSG 3948 TextGeo "\nLe plan semble être en CC48")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 6100000) (< Ycvue 6300000))
			(setq EPSG 3947 TextGeo "\nLe plan semble être en CC47")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 5100000) (< Ycvue 5300000))
			(setq EPSG 3946 TextGeo "\nLe plan semble être en CC46")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 4100000) (< Ycvue 4300000))
			(setq EPSG 3945 TextGeo "\nLe plan semble être en CC45")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 3100000) (< Ycvue 3300000))
			(setq EPSG 3944 TextGeo "\nLe plan semble être en CC44")
	)
	(if (and (> Xcvue 1400000) (< Xcvue 1800000) (> Ycvue 2100000) (< Ycvue 2300000))
			(setq EPSG 3943 TextGeo "\nLe plan semble être en CC43")
	)
	(if (and (> Xcvue 0) (< Xcvue 1300000) (> Ycvue 6000000) (< Ycvue 7200000))
			(setq EPSG 2154 TextGeo "\nLe plan semble être en Lambert 93")
	)
	
	(if (= EPSG nil) (setq TextGeo "\nLe plan ne semble pas être Géoréférencé"))
	
	(princ TextGeo)
)

 

pour le lancer

 

(defun c:geo nil
       (command "_ucs" "")
       (setq DRAW (ssget "x"))
(if DRAW
	(GeoControl) 
	(princ "\nLe plan est vide")
)
       (command "_ucs" "p")
(princ)
)

 

manque quelques systèmes. je n'ai fait que pour ceux que je suis amener à rencontrer.

a vous d'en rajouter si besoin.

 

modifier grace à Olivier

Lien vers le commentaire
Partager sur d’autres sites

Rappel de la mission, insérer un emplacement géographique sur un plan géo-référencé en une commande.

 

avec cette première fonction (récursivable) on obtient

- le point de Référence (Xcvue,Ycvue)

- le système de géoréférencement (EPSG)

 

reste du chemin

 

en premier une fonction transformant (Xcvue,Ycvue) en (Lat/long)

ce n'est pas du tout cuit

 

puis trouver comment se passer de l'outil d'emplacement en trouvant les bonnes variables et méthodes...

 

sinon pour les lat/long circé m'envois dans la mer du nord????

je passe par ailleurs je tombe bien comprend pas....

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je sais que mes cours de géodésie ne sont pas tout jeune, mais j'ai des doutes que ton algorithme fournisse des résultats fiables à tous les coups.

 

La première condition :

 (> Ycvue 700000) (< Ycvue 400000)

ne peut jamais être vraie donc pas de Lambert 1

De toute manière il est impossible de déterminer la zone Lambert 1, 2 ou 3 car le Y est toujours compris entre 0 et 400000.

 

De plus dans tous les tests sur les systèmes CC, tu testes si X compris entre 1400000 et 1800000 alors que la France fait plus de 1000 kms de large.

Tous les systèmes CC sont centrés sur le méridien de Paris avec un faux X de 1700000 donc les Xmin et Max sont situés environ 600000 de part et d'autre soit entre 1100000 et 2300000.

 

Enfin la recherche du point central se fait toujours en SCG il faudrait s'en assurer avant de récupérer les coordonnées de la vue ou transformer le point

(setq ptCentral (trans (getvar "VIEWCTR") 1 0))

 

Je ne suis pas sûr qu'un zoom étendu soit une bonne chose. En cas de Xref non résolu, le zoom étendu risque de prendre en compte le point d'insertion en 0,0 et donc fausser le "centre" théorique du dessin.

 

Personnellement, j'ai abandonné l'idée de déterminer en automatique la recherche du système de géoréférencement pour les non topographes. Pour tous les projeteurs / chef de projet, je les renvoie sur ce site qui permet de trouver visuellement le bon système => affichage des coordonnées cliquées à l'écran sur la carte dans quasiment tous les systèmes de projections français possibles.

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, pour la France, le plus fiable pour moi c'est de chercher la correspondance des coordonnées sur "https://projection.dogeo.fr/point-to-coords" avec en prime la possibilité de récupérer un fichier de conversion pour des logiciel tel que global-mapper (pas pour tous les systèmes).<div><br></div><div>Désolé, doublon, je n'avais pas vu la fin du post d'Olivier, qui avais déjà tous dit.</div>

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ces retours de spécialistes attendu.

 

vais revoir les valeurs, suis allez trop vite et fautes de frappe.....

 

mais je ne me décourage pas.

suis devant une montagne et ne sait pas ce qu'il y a de l'autre coté

je n'avais pas penser au scu ni au xrefs non résolues bien vu

pas encore partie a la chasse aux exceptions

j'ai d'ailleurs tellement peur du zéro que j'ai remplacer par 1 (rires forts)

Lien vers le commentaire
Partager sur d’autres sites

Tous les systèmes CC sont centrés sur le méridien de Paris avec un faux X de 1700000 donc les Xmin et Max sont situés environ 600000 de part et d'autre soit entre 1100000 et 2300000.

 

Petite précision,

Que neni, Greenwich

 

Les "vieux lambert " I II III IV sur Paris oui

 

Pour le Monde:

https://twcc.fr/#

Write a book about what ??

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pour les projections CC, effectivement ce n'est pas le méridien de Paris, mais le centre de la projection est définie 3° à l'est du méridien de Greenwitch, soit environ 50kms à l'est de Paris => quasiment centré à l'axe de la France, d'où mon raccourci.

 

Olivier

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Pour les projections CC, effectivement ce n'est pas le méridien de Paris, mais le centre de la projection est définie 3° à l'est du méridien de Greenwitch, soit environ 50kms à l'est de Paris => quasiment centré à l'axe de la France, d'où mon raccourci.

Okay !

Write a book about what ??

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité