2010-06-19 14 views
2

http://wiki.openstreetmap.org/wiki/MercatorMercator Projection et mise à l'échelle

Avec l'exemple C# dans le lien ci-dessus, je suis capable de projeter la latitude/longitude à x/y coordonnées. Cependant, j'ai un problème avec la mise à l'échelle. Je me demande combien de longueur (en miles?) Chaque pixel a après la projection. Je voudrais redimensionner la carte avant de la rendre à 500 pixels par mile ou quelque chose comme ça.

Les gars, vraiment personne pour répondre à cela? Cela a été assez long sans réponse.

+2

http://msdn.microsoft.com/en-us/library/bb259689.aspx celui-ci explique tout ce que j'avais besoin de savoir. ;) – VOX

Répondre

1

Les pixels n'auront pas la même longueur, cela dépend de la zone du globe que vous projetez. Le mercator préserve les angles, pas les longueurs.

http://en.wikipedia.org/wiki/Mercator_projection

Regardez la carte - les zones autour des pôles sont mis à l'échelle en hausse par rapport à l'équateur. Selon ce que vous voulez faire, vous feriez mieux d'utiliser une projection standardisée, comme UTM. Vous devriez vérifier quelle projection est utilisée dans la partie du monde d'où proviennent vos cartes.

Une autre méthode consiste à appliquer la projection inverse à deux de vos pixels pour obtenir les coordonnées géographiques et mesurer la distance du grand cercle entre eux. Wikipedia a plus d'informations à ce sujet, mais il y a généralement un peu de mathématiques en jeu.

+0

Transverse Mercator hérite des mêmes propriétés de Mercator. Mais si vous vous en tenez à une petite zone (à 500 pixels par mile, vous êtes probablement!), Et utilisez la zone UTM appropriée, l'échelle sera presque constante sur toute votre carte. – MarkJ