Pages: 1
- Sujet précédent - Pour mes collègues du Québec, Generer un No matricule a partir du XY - Sujet suivant
#1 Thu 16 October 2008 20:46
Pour mes collègues du Québec, Generer un No matricule a partir du XY
Bonjour a vous tous
Je cherche un script qui me permettrais de generer un numéro matricule à partir de coordonées XY
Benoit Fiset
tech. Géomatique
Ville de Québec
Hors ligne
#2 Thu 16 October 2008 21:17
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Un numéro matricule ? Celui des points géodésiques du québec ? Ou bien est-ce d'autre chose dont vous parlez ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#3 Fri 17 October 2008 13:46
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Bonjour
Les matricules sont des numéros de 10 chiffres qui représente une coordonnée. Cette coordonnée est le centroide d'un polygone.
Nous avons au Québec ce qu'on appel une matrice graphique. Je crois qu'en France, se sont les parcelles (lots).
Ça ressemble à quelque chose comme ceci:
Matricule X Y
6205921510 362915 5005210
Se sont des coordonnées MTM. Pour décortiquer la valeur X et Y, voici comment:
Le 3 est constant
le 62 provient des deux premiers chiffres du matricule
Le 9 c'est le cinquième
et le 15, le 7e et 8e
Pour le Y, le 50 est constant, ainsi de suite.
Daniel
De retour à la géomatique
Hors ligne
#4 Fri 17 October 2008 14:02
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
En fait le No de Matricule est un numéro unique créer a partir d'une coordonnée XY. Pour ma part je l'utilise comme numéro unique de polygone.
J'ai eu aussi a l'utiliser dans le cas de fussion de polygones ayant la meme forme et qui se supperposaient. Deux polygones ayant la meme forme ont le meme centroide donc le meme numéro matricule...On peux donc les fussionner par le champs numéro matricule.
En passant Merci Daniel..
Benoit Fiset
Tech. Géomatique
Ville de Québec
Hors ligne
#5 Fri 17 October 2008 14:05
- Marc Ruffie
- Participant actif
- Lieu: Schilik
- Date d'inscription: 31 Jul 2007
- Messages: 64
- Site web
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Bonjour,
ce bout de code devrait marcher (dans le Calculer champs)
Code:
Right (Left ( [X],3 ),2) & Right (Left ( [Y],4 ),2) & Right (Left ( [X],4 ),1) & Right (Left ( [Y],5 ),1) & Right ([X],2) & Right ( [Y],2)
X = Coordonnées X
Y = Coordonnées Y
A plus
Marc
Dernière modification par Marc Ruffie (Fri 17 October 2008 14:06)
Sauvez un arbre, mangez un castor!
Hors ligne
#6 Fri 17 October 2008 14:14
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Salut à vous "Corne de Caribou" ,
Une petite question les champs X et Y sont numèriques, est ce que le matricule doit l'être aussi?
Sinon pourquoi ne pas faire quelquechose du genre:
Code:
Dim X as string Dim Y as string Dim Mat as string Mat = Mid([ChampsX], 2, 2) & Mid([ChampsY],2 ,2) & Mid([ChampsX], 4, 1) & Mid([ChampsY],4 ,2)
---->Mettre "Mat" dans le champs du bas
Utilisation dans la calculette mode avancée.Attention faire une conversion des coordonnées X et Y dans 2 champs texte reprenant ces coordonnées en TEXTE----> Champs X et ChampsY
A+
Joël
Hors ligne
#7 Fri 17 October 2008 14:20
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Salut
Pour avoir discuté avec BFiset, le petit programme devrait
1- Extraire le centroide À L'INTÉRIEUR du lot, valeur entìère (car les décimales ne sont pas nécessaire...)
2- À partir de la coordonnée X, Y, générer le matricule, comme vous l'avez indiquer... je crois
Daniel, ici nommé Corne de Caribou
De retour à la géomatique
Hors ligne
#8 Fri 17 October 2008 14:21
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Oupsss!!!
Petite erreur de ma part:
Mat = Mid([ChampsX], 2, 2) & Mid([ChampsY],3 ,2) & Mid([ChampsX], 4, 1) & Mid([ChampsY],6 ,2)
Voilà
A+
Hors ligne
#9 Fri 17 October 2008 14:40
- Marc Ruffie
- Participant actif
- Lieu: Schilik
- Date d'inscription: 31 Jul 2007
- Messages: 64
- Site web
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Dans ce cas, j'opterai pour un modelbuilder si il veut que tout soit fait en même temps.
Création du model
Calcul sur le champ X
Code:
Dim pArea as IArea Dim pPoint as IPoint Dim dblX as Double Set pArea = [Shape] Set pPoint = pArea.Centroid dblX = pPoint.X __esri_field_calculator_splitter__ dblX
Calcul sur le champ Y
Code:
Dim pArea as IArea Dim pPoint as IPoint Dim dblY as Double Set pArea = [Shape] Set pPoint = pArea.Centroid dblY = pPoint.Y __esri_field_calculator_splitter__ dblY
Calcul du matricule
Code:
Right (Left ( [X],3 ),2) & Right (Left ( [Y],4 ),2) & Right (Left ( [X],4 ),1) & Right (Left ( [Y],5 ),1) & Right ([X],2) & Right ( [Y],2)
Ou (méthode Joe de l'espace)
Code:
Dim X as string Dim Y as string Dim Mat as string Mat = Mid([ChampsX], 2, 2) & Mid([ChampsY],3 ,2) & Mid([ChampsX], 4, 1) & Mid([ChampsY],6 ,2)
A plus
Marc
Dernière modification par Marc Ruffie (Fri 17 October 2008 14:41)
Sauvez un arbre, mangez un castor!
Hors ligne
#10 Fri 17 October 2008 14:47
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Salut Marc collègue du Nord Est ,
Puis je poser une petite question?
Comment passes tu de ces scripts au modelBuilder?
Merci par avance
A+
Joël
Hors ligne
#11 Fri 17 October 2008 15:03
- Marc Ruffie
- Participant actif
- Lieu: Schilik
- Date d'inscription: 31 Jul 2007
- Messages: 64
- Site web
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Salut Marc collègue du Nord Est ,
Puis je poser une petite question?
Comment passes tu de ces scripts au modelBuilder?
Merci par avance
A+
Joël
Yop
Tu peux les passer en utilisant l'outil Calculer Champ dans l'ArcToolbox
Sauvez un arbre, mangez un castor!
Hors ligne
#12 Fri 17 October 2008 15:07
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Re,
Ok!!!! je passais à chaque fois par la session de mise à jour --->Calculette en mode avancé.
Merci pour le tuyau, vraiment plus pratique
A+
Joël
Hors ligne
#13 Fri 17 October 2008 17:05
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
merci a tout le monde....
J'ai créé un model builder. Voila la fonction que J'ai utilisé
Code:
mid ([POINT_X], 2, 1) & mid ([POINT_X], 3, 1) & mid ([POINT_Y], 3, 1) & mid ([POINT_Y], 4, 1) & mid ([POINT_X], 4, 1) & mid ([POINT_Y], 5, 1) & mid ([POINT_X], 5, 1) & mid ([POINT_X], 6, 1) & mid ([POINT_Y], 6, 1) & mid ([POINT_Y], 7, 1)
Ben
Hors ligne
#14 Wed 29 October 2008 15:51
- El_Pablo
- Participant occasionnel
- Lieu: Trois-Rivières
- Date d'inscription: 29 Oct 2008
- Messages: 10
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Salut les amis,
Je voudrais savoir comment faire pour les étapes inverses, soit convertir une matricule vers la longitude et latitude pour afficher dans google map?
Merci!
-----
Nick B le programmeur non géomaticien
Hors ligne
#15 Wed 29 October 2008 19:02
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Salut El_Pablo,
Matricule X Y
6205921510 362915 5005210
Alors on a le matricule et on veux les coordonnées.
Donc cela donne:
Code:
[PointX]= 3 & Left([Matricule],2) & Mid([Matricule],5, 1) & Mid([Matricule],7, 2) ----->3 62 9 15 [PointY]= 50 & Mid([Matricule],3, 2) & Mid([Matricule],6, 1) & Right([Matricule],2) ----->50 05 2 10
En espèrant avoir répondu à ta question
A+
Joël
Hors ligne
#16 Wed 29 October 2008 19:35
- El_Pablo
- Participant occasionnel
- Lieu: Trois-Rivières
- Date d'inscription: 29 Oct 2008
- Messages: 10
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Merci Joel pour la réponse.
Cependant, j'avais déjà fait le script pour cette partie.
C'est plus la partie conversion vers la longitude et la latitude. Vu que je n'ai pas de formation en géomatique, il me manque quelques morceaux.
La valeur en X et Y est en MTM. Cependant, je sais qu'il y a des zones. Est-ce que le 3 et le 50 est valide pour toutes les villes? Par exemple: La Tuque vs Victoriaville.
Ce que j'aimerais éventuellement réaliser est un petit programme informatique "open source" qui pourrait convertir une matricule vers MTM vers Longitude Latitude et vice versa.
Quelles sont les informations que j'aurai de besoin et quel serait l'algorithme?
Merci
-----
Nick B le programmeur non géomaticien
Hors ligne
#17 Wed 29 October 2008 20:04
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Salut ami outre atlantique,
Voilà quelque chose qui pourra t'aider
https://professionnels.ign.fr/ficheProd … oc=5352513
A+
Joël
Hors ligne
#18 Wed 29 October 2008 20:30
- El_Pablo
- Participant occasionnel
- Lieu: Trois-Rivières
- Date d'inscription: 29 Oct 2008
- Messages: 10
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Ouf! Il y a beaucoup de terme chinois pour moi là-dedans... De plus, il ne parle pas du MTM. Je présume qu'il y a un manière plus aisé de faire de l'UTM vers le MTM.
Merci
-----
Nick B le programmeur non géomaticien
Hors ligne
#19 Fri 14 November 2008 21:44
- El_Pablo
- Participant occasionnel
- Lieu: Trois-Rivières
- Date d'inscription: 29 Oct 2008
- Messages: 10
Re: Pour mes collègues du Québec, Generer un No matricule a partir du XY
Désolé de ramener le post, mais je crois qu'il y a un bogue dans la génération de matricule. La fonction qui a été inscrite ici, ne fonctionne que si l'on est dans la région de Québec. Cependant, elle ne fonctionne pas lorsque l'on change de zone. Quel est le calcul à prendre en considération?
Par exemple, selon votre fonction si l'on prend un matricule dans la ville de Victoriaville.
9402592759
X = 394527
Y = 5002959
Zone 7
Si l'on envoie ceci sur le site http://pages.globetrotter.net/roule/utmgoogleappQC.htm, nous nous retrouvons aux États-Unis...
Y a-t-il quelqu'un qui a une formule générale?
Merci
-----
Nick B le programmeur non géomaticien
Hors ligne
Pages: 1
- Sujet précédent - Pour mes collègues du Québec, Generer un No matricule a partir du XY - Sujet suivant