绘制地图:图形化显示海地地震危机数据
2016-11-14 16:25
267 查看
可以参见
https://gist.github.com/dalguji/10979733
从这里找到的解决方法
地图
第八章258页
x, y =m(cat_data.LONGITUDE,cat_data.LATITUDE)
运行中出错
错误代码
Traceback (most recent call last):
File “C:/Python27/base.py”, line 72, in
x, y =m(cat_data.LONGITUDE,cat_data.LATITUDE)
File “C:\Python27\lib\site-packages\mpl_toolkits\basemap__init__.py”, line 1148, in call
xout,yout = self.projtran(x,y,inverse=inverse)
File “C:\Python27\lib\site-packages\mpl_toolkits\basemap\proj.py”, line 286, in call
outx,outy = self._proj4(x, y, inverse=inverse)
File “C:\Python27\lib\site-packages\mpl_toolkits\basemap\pyproj.py”, line 388, in call
_proj.Proj._fwd(self, inx, iny, radians=radians, errcheck=errcheck)
File “_proj.pyx”, line 122, in _proj.Proj._fwd (src/_proj.c:1571)
RuntimeError
错误已经修改了
把x, y =m(cat_data.LONGITUDE,cat_data.LATITUDE)
改为
x, y = m(cat_data.LONGITUDE.values, cat_data.LATITUDE.values)
结果
https://gist.github.com/dalguji/10979733
从这里找到的解决方法
地图
第八章258页
x, y =m(cat_data.LONGITUDE,cat_data.LATITUDE)
运行中出错
错误代码
Traceback (most recent call last):
File “C:/Python27/base.py”, line 72, in
x, y =m(cat_data.LONGITUDE,cat_data.LATITUDE)
File “C:\Python27\lib\site-packages\mpl_toolkits\basemap__init__.py”, line 1148, in call
xout,yout = self.projtran(x,y,inverse=inverse)
File “C:\Python27\lib\site-packages\mpl_toolkits\basemap\proj.py”, line 286, in call
outx,outy = self._proj4(x, y, inverse=inverse)
File “C:\Python27\lib\site-packages\mpl_toolkits\basemap\pyproj.py”, line 388, in call
_proj.Proj._fwd(self, inx, iny, radians=radians, errcheck=errcheck)
File “_proj.pyx”, line 122, in _proj.Proj._fwd (src/_proj.c:1571)
RuntimeError
错误已经修改了
把x, y =m(cat_data.LONGITUDE,cat_data.LATITUDE)
改为
x, y = m(cat_data.LONGITUDE.values, cat_data.LATITUDE.values)
# -*- coding: utf-8 -*- """ Created on Mon Nov 14 11:11:40 2016 @author: Administrator """ import pandas as pd from pandas import DataFrame import numpy as np path = r'F:\python-code\python-for-data-analysis\pydata-book-master\ch08\Haiti.csv' data = pd.read_csv(path) #data.describe() data = data[(data.LATITUDE>18)&(data.LATITUDE<20)&(data.LONGITUDE>-75)&(data.LONGITUDE<-70)&data.CATEGORY.notnull()] #data2.head() def to_cat_list(catstr): stripped = (x.strip() for x in catstr.split(',')) return [x for x in stripped if x] def get_all_categories(cat_series): cat_sets = (set(to_cat_list(x)) for x in cat_series) return sorted(set.union(*cat_sets)) def get_english(cat): code, names = cat.split('.') if '|' in names: names = names.split('|')[1] return code ,names.strip() #get_english('2. Urgences logistiques | Vital Lines') all_cats = get_all_categories(data.CATEGORY) english_mapping = dict(get_english(x) for x in all_cats) english_mapping['2a'] english_mapping['6c'] def get_code(seq): return [x.split('.')[0] for x in seq if x] all_codes = get_code(all_cats) code_index = pd.Index(np.unique(all_codes)) dummy_frame = DataFrame(np.zeros((len(data),len(code_index))),index=data.index,columns=code_index) #dummy_frame.ix[:,:6] for row, cat in zip(data.index,data.CATEGORY): codes=get_code(to_cat_list(cat)) dummy_frame.ix[row,codes]=1 data = data.join(dummy_frame.add_prefix('category_')) data.ix[:,10:15] from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt def basic_haiti_map(ax=None, lllat = 17.25,urlat = 20.25,lllon = -75,urlon=-71): m = Basemap(ax=ax,projection = 'stere', lon_0=(urlon+lllon)/2, lat_0 = (urlat+lllat)/2, llcrnrlat = lllat,urcrnrlat=urlat, llcrnrlon = lllon,urcrnrlon = urlon, resolution = 'f') m.drawcoastlines() m.drawstates() m.drawcountries() return m fig,axes = plt.subplots(nrows = 2,ncols =2,figsize=(12,10)) fig.subplots_adjust(hspace =0.05,wspace=0.05) to_plot = ['2a','1','3c','7a'] lllat =17.25 urlat=20.25 lllon =-75 urlon=-71 for code,ax in zip(to_plot,axes.flat): m = basic_haiti_map(ax,lllat=lllat,urlat=urlat,lllon=lllon,urlon=urlon) cat_data=data[data['category_%s' % code] ==1] #x, y =m(cat_data.LONGITUDE,cat_data.LATITUDE) x, y = m(cat_data.LONGITUDE.values, cat_data.LATITUDE.values) m.plot(x,y,'k.',alpha = 0.5) ax.set_title('%s:%s' % (code, english_mapping[code]))
结果
相关文章推荐
- 2015-03-29-绘图和可视化(3)-绘制地图:图形化显示海地地震危机数据
- 绘制地图:图形化显示海地地震危机数据
- 第8章 图形化显示地震危机数据(海地)
- 用 Raphaël 绘制中国地图 + 显示数据
- 用 Raphaël 绘制中国地图 + 显示数据
- 死亡应用程序可以在地图上显示所在区域的谋杀和车祸死亡的数据
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等(三)--绘制点、线、圆,显示提示信息
- 【网摘】ArcGis for silverlights api 地图显示Gis绘制点线绘制图 以及提示信息
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等(一)
- 使用geoserver显示mysql数据库中的地图数据
- 基于地图开发控件GMap.Net 使用 (六) 中文显示详细街道数据信息
- 读取USGS DEM数据显示三维分层设色地图
- 将地震空间数据转变为专题地图
- osmand中矢量数据地图绘制
- vtk学习笔记——利用vtk显示地震数据
- arcgis server 发布的mdb格式空间数据无法显示地图
- android下PDF格式的地图数据的显示------超大PDF页面显示策略(一)
- ASP.NET - 如何:在非分层 Web 服务器控件中显示站点地图数据
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等(二)--Silverlight 配置动态的 webService、动态加载ArcGis地图服务
- ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等(一)