banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Thu 16 October 2008 20:46

bfiset
Participant actif
Lieu: Québec
Date d'inscription: 27 Feb 2006
Messages: 83
Site web

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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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

bfiset
Participant actif
Lieu: Québec
Date d'inscription: 27 Feb 2006
Messages: 83
Site web

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" wink,

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 smile


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 wink,


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

Spacejo a écrit:

Salut Marc collègue du Nord Est wink,


Puis je poser une petite question?
Comment passes tu de ces scripts au modelBuilder?
Merci par avance
A+
Joël


Yop wink

Tu peux les passer en utilisant l'outil Calculer Champ dans l'ArcToolbox smile


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

bfiset
Participant actif
Lieu: Québec
Date d'inscription: 27 Feb 2006
Messages: 83
Site web

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

 

Pied de page des forums

Powered by FluxBB