PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → Géolocalisation Avis aux mathématiciens ?
Géolocalisation Avis aux mathématiciens ?
Started by Roumegou Eric, Mar., 01 2017 2:54 PM - 5 replies
Posted on March, 01 2017 - 2:54 PM
Bonjour

soit une carte sur laquelle je vais positionner n marqueurs

Pour positionner la carte sur un centre de gravité de tous ces points,
on fait comment ?

J'ai vu que l'on parlait de barycentre

Je pense que mon besoin est assez commun : comment se placer dans un
endroit médian pour que l'on voit la majorité des marqueurs
voire plus sioux; quel coef de zoom optimal faut-il adapter pour tout
voir ?

Pour l'instant je positionne sur le dernier marqueur
Avez vous déjà résolu ce problème ?
Merci de vos réponses
Posted on March, 01 2017 - 3:24 PM
Bonjour

il existe des fonctions mathématique (voir web) pour transformer la
position en valeurs numériques (la latitude et longitude en valeur de
type 10.924563)..

Si tu commence par ca, il te suffit de faire une bête moyenne des
latitude (les additionner et diviser par leur quantité) et même chose
pour la longitude.

Tu transforme la notation dans l'autre sens (degré/minutes/secondes) et
tu as ton point central

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/1/2017 à 8:54 AM, Roumegou Eric a écrit :
Bonjour

soit une carte sur laquelle je vais positionner n marqueurs

Pour positionner la carte sur un centre de gravité de tous ces points,
on fait comment ?

J'ai vu que l'on parlait de barycentre

Je pense que mon besoin est assez commun : comment se placer dans un
endroit médian pour que l'on voit la majorité des marqueurs
voire plus sioux; quel coef de zoom optimal faut-il adapter pour tout
voir ?

Pour l'instant je positionne sur le dernier marqueur
Avez vous déjà résolu ce problème ?
Merci de vos réponses
Registered member
945 messages
Popularité : +102 (110 votes)
Posted on March, 01 2017 - 3:25 PM
Bonjour,
je ne sais pas si cela peut vous aider, mais j'ai cette petite fonction
elle attend en entrée un tableau de strPOINT qqui est défini ainsi

strPOINT est une Structure
x est un entier sur 4 octets
y est un entier sur 4 octets
END

// Renvoie les coordonnées de l'isobarycentre d'un ensemble de point
FUNCTION getIsoBarycentre(ListeDePoints est un tableau de strPOINT)
i, NombreDePoint est un entier
IsoBarycentre_X, IsoBarycentre_Y sont des monétaires

NombreDePoint = Dimension(ListeDePoints)
IF NombreDePoint < 1 THEN RENVOYER ""
IF NombreDePoint = 1 THEN RENVOYER NumériqueVersChaîne(ListeDePoints[1]:x)+TAB+NumériqueVersChaîne(ListeDePoints[1]:y)

IsoBarycentre_X = ListeDePoints[1]:x
IsoBarycentre_Y = ListeDePoints[1]:y

FOR i=2 _TO_ NombreDePoint
IsoBarycentre_X += (ListeDePoints[i]:x-ListeDePoints[1]:x)/NombreDePoint
IsoBarycentre_Y += (ListeDePoints[i]:y-ListeDePoints[1]:y)/NombreDePoint
END
RENVOYER NumériqueVersChaîne(IsoBarycentre_X)+TAB+NumériqueVersChaîne(IsoBarycentre_Y)

en retour on obtien"x tab y" du barycentre
Registered member
204 messages
Popularité : +4 (8 votes)
Posted on March, 01 2017 - 3:59 PM
Pour t'aider à trouver le niveau de zoom

Parcours tout tes marqueurs.
Mémorise la plus petite latitude et la plus petite longitude
Même chose pour la longitude.

Tu auras donc tes 2 points imaginaire en haut à gauche, et en bas à droite.
Avec uniquement 2 points, il est beaucoup plus facile d'imaginer une procédure qui trouve le bon zoom pour que ces 2 points s'affichent.
Posted on March, 01 2017 - 4:56 PM
Roumegou Eric a exprimé avec précision :
Bonjour

soit une carte sur laquelle je vais positionner n marqueurs

Pour positionner la carte sur un centre de gravité de tous ces points, on
fait comment ?

J'ai vu que l'on parlait de barycentre

Je pense que mon besoin est assez commun : comment se placer dans un endroit
médian pour que l'on voit la majorité des marqueurs
voire plus sioux; quel coef de zoom optimal faut-il adapter pour tout voir ?

Pour l'instant je positionne sur le dernier marqueur
Avez vous déjà résolu ce problème ?
Merci de vos réponses


Meric pour vos réponses
je vais essayer une simple moyenne
Registered member
948 messages
Popularité : +30 (92 votes)
Posted on May, 25 2018 - 9:13 PM
Philippe Pasquali wrote:
Bonjour,
je ne sais pas si cela peut vous aider, mais j'ai cette petite fonction
elle attend en entrée un tableau de strPOINT qqui est défini ainsi

strPOINT est une Structure
x est un entier sur 4 octets
y est un entier sur 4 octets
END

// Renvoie les coordonnées de l'isobarycentre d'un ensemble de point
FUNCTION getIsoBarycentre(ListeDePoints est un tableau de strPOINT)
i, NombreDePoint est un entier
IsoBarycentre_X, IsoBarycentre_Y sont des monétaires

NombreDePoint = Dimension(ListeDePoints)
IF NombreDePoint < 1 THEN RENVOYER ""
IF NombreDePoint = 1 THEN RENVOYER NumériqueVersChaîne(ListeDePoints[1]:x)+TAB+NumériqueVersChaîne(ListeDePoints[1]:y)

IsoBarycentre_X = ListeDePoints[1]:x
IsoBarycentre_Y = ListeDePoints[1]:y

FOR i=2 _TO_ NombreDePoint
IsoBarycentre_X += (ListeDePoints[i]:x-ListeDePoints[1]:x)/NombreDePoint
IsoBarycentre_Y += (ListeDePoints[i]:y-ListeDePoints[1]:y)/NombreDePoint
END
RENVOYER NumériqueVersChaîne(IsoBarycentre_X)+TAB+NumériqueVersChaîne(IsoBarycentre_Y)

en retour on obtien"x tab y" du barycentre






--
In üs we trust

Chocolat en Suisse - #Foetus
Kaeng Khiao Wan en Thailland - #ATR
Kopi luwak en Indonesie - #Abracadabra
Durio zibethinus en Malaisie - #JamaisFinie
Bánh Mì H?ng Hoa au Viêt Nam - #ImprévisibleMaGénération
Pizza à Cannes - #RAS