python – 使用Basemap映射芝加哥周围的GPS坐标
发布时间:2020-12-20 13:39:37 所属栏目:Python 来源:网络整理
导读:我正在使用 python的matplotlib和Basemap库. 我正试图在芝加哥市周围绘制一个GPS点列表,用于我正在进行的项目,但它不起作用.我已经查看了所有可用的示例,但是尽管逐字复制并粘贴它们(然后更改gps点),地图无法使用绘制的点进行渲染. 以下是一些示例点,因为它
我正在使用
python的matplotlib和Basemap库.
我正试图在芝加哥市周围绘制一个GPS点列表,用于我正在进行的项目,但它不起作用.我已经查看了所有可用的示例,但是尽管逐字复制并粘贴它们(然后更改gps点),地图无法使用绘制的点进行渲染. 以下是一些示例点,因为它们存储在我的代码中: [(41.98302392,-87.71849159),(41.77351707,-87.59144826),(41.77508317,-87.58899995),(41.77511247,-87.58646695),(41.77514645,-87.58515301),(41.77538531,-87.58611272),(41.71339537,-87.56963306),(41.81685612,-87.59757281),(41.81697313,-87.59910809),(41.81695808,-87.60049861),(41.75894604,-87.55560586)] 这是我用于渲染地图的代码(不起作用). # -*- coding: utf-8 -*- from pymongo import * from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt from collections import Counter import ast def routes_map(): """ doesn't work :( # map of chicago """ all_locations = [] #<-- this is the example data above x = [] y = [] for loc in all_locations: #creates two lists for the x and y (lat,lon) coordinates x.append(float(loc[0])) y.append(float(loc[1])) # llcrnrlat,llcrnrlon,urcrnrlat,urcrnrlon # are the lat/lon values of the lower left and upper right corners # of the map. # resolution = 'i' means use intermediate resolution coastlines. # lon_0,lat_0 are the central longitude and latitude of the projection. loc = [41.8709,-87.6331] # setup Lambert Conformal basemap. m = Basemap(llcrnrlon=-90.0378,llcrnrlat=40.6046,urcrnrlon=-85.4277,urcrnrlat=45.1394,projection='merc',resolution='h') # draw coastlines. m.drawcoastlines() m.drawstates() # draw a boundary around the map,fill the background. # this background will end up being the ocean color,since # the continents will be drawn on top. m.drawmapboundary(fill_color='white') x1,y1 = m(x[:100],y[:100]) m.plot(x1,y1,marker="o",alpha=1.0) plt.title("City of Chicago Bus Stops") plt.show() 这是我运行此代码得到的: ???? 有没有人有任何关于我做错的提示? 解决方法
您不小心将纬度值输入为x,经度值为y.在您提供的示例数据中,第一列是纬度,第二列是经度,而不是您的代码似乎想到的另一种方式.
所以使用x.append(float(loc [1]))和y.append(float(loc [0]))而不是你拥有的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |