PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → Géolocalisation Avis aux mathématiciens ?
Géolocalisation Avis aux mathématiciens ?
Iniciado por Roumegou Eric, 01,mar. 2017 14:54 - 5 respuestas
Publicado el 01,marzo 2017 - 14:54
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
Publicado el 01,marzo 2017 - 15:24
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
Miembro registrado
946 mensajes
Popularité : +102 (110 votes)
Publicado el 01,marzo 2017 - 15:25
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
Miembro registrado
204 mensajes
Popularité : +4 (8 votes)
Publicado el 01,marzo 2017 - 15:59
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.
Publicado el 01,marzo 2017 - 16:56
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
Miembro registrado
948 mensajes
Popularité : +30 (92 votes)
Publicado el 25,mayo 2018 - 21:13
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