2014-05-20 8 views
5

Próbuję wykreślić garść punktów na mapie miasta i mam problem ze znalezieniem pakietu, który będzie działał dobrze. Wygląda na to, że Matplotlib Basemap nie zawiera wystarczającej liczby szczegółów dla wielu punktów obejmujących promień 30 mil npm Nie widzę sposobu na dodanie autostrad i innych wyróżniających cech na małą skalę.Dobry zestaw narzędzi Pythona do wykreślania punktów na mapie miasta?

Dlatego pytam, czy możesz zasugerować, jak dodać te elementy mapy miejskiej do mapy bazowej, czy też istnieje inny pakiet, który będzie dobrze działał na działkach rozproszonych w skali 30 mil na mapie miasta. Dzięki za pomoc!

Odpowiedz

4

Mapa bazowa będzie dobrze działać, tak myślę. Dodanie granic kodu pocztowego i dróg pierwotnych/pomocniczych (i wielu innych danych) nie stanowi problemu, jeśli uzyskasz geograficzne shapefile. Oto przykład wyjście: enter image description here

Jeśli jesteś zainteresowany mapowanie miejsce w Stanach Zjednoczonych, ta strona zawiera bezpłatne Pliki kształtów: http://www.landsat.com/free-gis-data.html

użyłem Texas danych kod pocztowy i droga (i kilka lat/długie współrzędne), aby wygenerować powyższą mapę.

Można by załadować Shapefiles tak:

self.map = Basemap(projection='merc', lat_0=mlat, lon_0=mlon, resolution = 'l', area_thresh = 1.0, 
llcrnrlon=-num, llcrnrlat=num, 
urcrnrlon=-num, urcrnrlat=num) 

map.readshapefile('/home/person/zipfolder/rds/tl_2010_48_prisecroads', 'Streets',drawbounds = False) 

for shape in self.map.Streets: 
    xx, yy, = zip(*shape) 
    self.map.plot(xx, yy, linewidth = 1.5, color='green', alpha=.75) 
##Same for zip codes 
+0

Czy jest coś, co działa bardziej dynamicznie? Obrazuję wiele różnych regionów, więc nie mogę wstępnie wczytać wszystkich potrzebnych map. – user3654387

+0

Możesz użyć Pymaps/Google Maps. https://code.google.com/p/pymaps/wiki/PymapsHowto – Ryan

+0

Dziękujemy za tę sugestię. Sprawdzę to i opowiem o moich postępach. – user3654387

Powiązane problemy