Supposons que j'ai obtenu un ensemble de résultats d'une étude sur le comportement d'un oiseau migrateur en particulier. L'oiseau a été marqué et un récepteur GPS enregistre la trajectoire de migration qu'il suit chaque année sur une période de cinq ans. Les résultats sont stockés dans une table SQL Server qui contient une chaîne de lignes géographiques pour le chemin de chaque année.Comment «mettre en moyenne» deux ou plusieurs chaînes de lignes géographiques en utilisant C#/SQL Server 2008 spatial
Comment définiriez-vous la ligne représentant la trajectoire «moyenne» suivie sur la période de cinq ans? Notez que chaque ligne échantillon peut contenir un nombre différent de points. Ils ne commencent pas et ne se terminent pas exactement aux mêmes points.
La meilleure approche que j'ai jusqu'à présent est d'utiliser l'interpolation pour déterminer les points à certaines proportions définies le long de chaque ligne. Ainsi, par exemple, le point de départ, un quart de trajet, à mi-chemin le long de chaque route, etc. Ensuite, calculez la moyenne/long moyenne de ces positions sur toutes les routes et construisez une nouvelle ligne linestring à partir de ces points moyennés.
J'ai regardé dans quelques livres de géométrie computationnelle pour voir s'il y a un algorithme ou une technique mieux connue pour faire ceci, mais il ne semble y avoir rien de pertinent. Je ne peux pas croire que ce n'est pas quelque chose que quelqu'un d'autre n'a pas fait auparavant cependant ...
Je n'ai pas besoin de code exact - juste des suggestions pour de meilleures approches générales. Je n'ai pas besoin de "super-précision" non plus. En tant que sidenote, j'aurais idéalement comme l'approche pour être applicable à deux ou plusieurs polygones aussi.
Merci pour vos suggestions!
Je vois: densifier sélectivement chaque ligne jusqu'à ce qu'elles contiennent toutes le même nombre de points d'ancrage à la même espacement relatif, puis calculer l'emplacement moyen pour chaque point d'ancrage. J'aime ça - merci! –
Bonne chance, j'espère que cela fonctionne pour vous. – wageoghe