Une question très similaire, résolu de la même manière: how to use 'extent' in matplotlib.pyplot.imshowComment tracer l'image géo-référencée afin qu'il « correspond à » l'intrigue système de coordonnées dans Matplotlib
J'ai une liste de coordonnées géographiques (un " tracklog ") qui décrivent une trajectoire géographique. Aussi, j'ai les moyens d'obtenir une image couvrant la couverture du tracklog, où je connais les "coordonnées géographiques" des coins de l'image.
Mon intrigue ressemble actuellement à ce (avis les tiques - x = longitudes, les latitudes y =, en UTM, WGS84):
Supposons Je sais que les coordonnées du coin de l'image suivante (ou une version de celui-ci sans la piste bleue), et voudrait le tracer de sorte qu'il s'adapte au SYSTÈME COORDONNÉ de l'intrigue.
Comment puis-je faire?
(comme une note de côté, dans le cas qui compte, je prévois d'utiliser des carreaux)
Selon le commentaire de Joe Kington (en attente de sa réponse réelle pour que je puisse l'accepter), la code suivant fonctionne comme prévu, ce qui donne un aspect fixe et zoomable à mouvement panoramique « géoréférencées » tuile sur laquelle je suis en mesure de tracer tracklogs:
import matplotlib.pyplot as plt
import Image
import numpy
imarray = numpy.asarray(Image.open('map.jpg'))
plt.plot([0,1], [0,1], 'o', c='red', ms=20) ## some reference circles for debugging
plt.imshow(imarray, extent=[0,1,0,1]) ## some random map whose corners have known coordinates
plt.axis('equal')
plt.show()
Demandez-vous comment le projeter (vous mentionnez UTM et les coordonnées géographiques) ou simplement comment tracer une image avec des extensions spécifiées? (Si c'est le dernier, utilisez simplement le 'extens' kwarg à' imshow'.) –
@JoeKington Je voudrais simplement tracer, puisque l'image est déjà "projetée" (sa grille est la même que la grille de l'intrigue). Je jette un coup d'oeil à 'extents', mais si vous pouviez poster une réponse de travail, je l'accepterais volontiers! – heltonbiker
D'après ce que je vois, 'extents' ajuste les axes à l'image, et non le contraire. J'essaie quelque chose avec OffsetImage comme suggéré ici: http://stackoverflow.com/a/4860777/401828 – heltonbiker