Je cherche un moyen de tracer des rectangles remplis sur un fond de carte. Je pourrais facilement dessiner les bords du rectangle en utilisant la méthode drawgreatcircle
, mais je ne trouve pas un moyen de remplir réellement ces rectangles (en spécifiant la couleur et l'alpha).Comment dessiner des rectangles sur un fond de carte
Répondre
Vous pouvez ajouter un matplotlib.patches.Polygon() directement à vos axes. La question est de savoir si vous voulez que vos rectangles définissent les coordonnées de l'intrigue (lignes droites sur l'intrigue) ou les coordonnées de la carte (grands cercles sur l'intrigue). Dans les deux cas, vous spécifiez des sommets dans les coordonnées de la carte, puis les transformez en coordonnées de tracé en appelant l'instance de fond de carte (m()
dans l'exemple ci-dessous), créez un polygone et ajoutez-le manuellement aux axes à rendre.
Pour les rectangles définis dans la parcelle coordonnées, voici un exemple:
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def draw_screen_poly(lats, lons, m):
x, y = m(lons, lats)
xy = zip(x,y)
poly = Polygon(xy, facecolor='red', alpha=0.4)
plt.gca().add_patch(poly)
lats = [ -30, 30, 30, -30 ]
lons = [ -50, -50, 50, 50 ]
m = Basemap(projection='sinu',lon_0=0)
m.drawcoastlines()
m.drawmapboundary()
draw_screen_poly(lats, lons, m)
plt.show()
Pour les rectangles définis en coordonnées cartographiques, utiliser la même approche, mais interpoler votre ligne dans l'espace de carte avant de se transformer pour tracer les coordonnées. Pour chaque segment de ligne, vous aurez à faire:
lats = np.linspace(lat0, lat1, resolution)
lons = np.linspace(lon0, lon1, resolution)
transform Ensuite, ces coordonnées de la carte pour tracer les coordonnées (comme ci-dessus, avec m()
) et à nouveau créer un Polygon avec les coordonnées de terrain.
réponse similaire ci-dessus, mais le code plus basique:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
map = Basemap(projection='cyl')
map.drawmapboundary(fill_color='aqua')
map.fillcontinents(color='coral',lake_color='aqua')
map.drawcoastlines()
x1,y1 = map(-25,-25)
x2,y2 = map(-25,25)
x3,y3 = map(25,25)
x4,y4 = map(25,-25)
poly = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],facecolor='red',edgecolor='green',linewidth=3)
plt.gca().add_patch(poly)
plt.show()
- 1. Comment dessiner et enregistrer des rectangles dans une application rails?
- 2. android Comment dessiner des cercles, des rectangles sur toile?
- 3. Dessiner des rectangles avec transparence
- 4. Comment dessiner des rectangles sur une image en utilisant matlab?
- 5. Dessiner une grille avec des rectangles cliquables
- 6. Dessiner plusieurs pixels/rectangles
- 7. comment dessiner des lignes sur un fond d'image dans pygame
- 8. lumière sur une solution pour dessiner des rectangles de cellules
- 9. Comment dessiner une grille et des rectangles en Python?
- 10. Comment dessiner plusieurs rectangles en utilisant C#
- 11. Dessiner un polygone sur toute la carte
- 12. Dessiner des côtes sur les parcelles à partir de données par fond de carte, matplotlib
- 13. Déplacer des rectangles sur des contrôles
- 14. Comment dessiner un fond rapidement dans cocos2d?
- 15. Impossible de dessiner plus de huit rectangles sur une toile
- 16. Dessiner un rectangle sur une carte Google
- 17. Comment dessiner des caractères sur un Texture2D?
- 18. Dessiner et animer efficacement des milliers de rectangles
- 19. Monotouch - Dessiner un MKPolyline sur la carte
- 20. Dessiner un cercle MK sur une carte
- 21. dessiner un chemin sur google statique carte
- 22. comment savoir où dessiner sur la carte? (Android)
- 23. Dessiner des rectangles multiples avec des graphismes du Caire
- 24. lignes de dessin sur des rectangles pleins
- 25. Comment dessiner des lignes sur une carte google
- 26. Comment dessiner l'image de fond des rangées de liste?
- 27. Comment puis-je effectuer un écrêtage sur des rectangles pivotés?
- 28. Comment dessiner un cercle autour d'un point sur une carte?
- 29. Dessiner des rectangles au-dessus d'une image dans JavaFX2
- 30. algorithme dessiner Rectangles autour des mots en images