One-day-trip in python for GIS
作者: 赵博 • 2009 年 1 月 22 日 • 技术主义 • 暂无评论
昨天花了一天时间纵览了一遍关于GIS的python类库,发现有一大批基于python的GIS类库。诸如:
- mapnik(被openstreetmap使用来制作地图的渲染类库)
- tilecache(网络地图缓存器)
- OgcServer (The python-based OGC Server with WMS 1.1 and 1.3 support. )
- OwsLib (OWSLib works with WMS version 1.1.1 and WFS 1.0.0 Other versions are not supported at this time.)
- pyWPS(基于python的Web Process Service的实现,如果今后要做grid,这个类库是很必要使用的)
- Shapely (Geos的wrapper)
- python for GDAL (GDAL,也包括OGR的wrapper)
- pyproj (Pyrex generated python interface to PROJ.4 library)
- NumPy,SciPy(科学计算所用的类库)
- GeoDjango(整合了主要的空间数据类库,包括GDAL,GEOS,PROJ.4等)
- subprocess (用来替换os.system,更加稳定,健壮。)
因为最近正在研究如何利用python制作climate change方面的model,所以我主要看了shapely,python for GDAL,NumPy,SciPy(SciPy 0.7的win32 binary for python 2.5还有问题,无法正常使用)。
1)现在有点puzzle的问题,其实很多时候,都可以用os.system来实现对GDAL_grid.exe的调用。所以,如何使用这些类库需要很好的整合,并不是整合到python里面就是最好。
2)其次,我不是很愿意整合R Staticstics,毕竟又要用到基于另一个语言的软件平台,虽然它在空间分析方面有很多比较好用的类库,不过我觉得,如果使用NumPy和SciPy,完全可以实现科学计算类库。所以,我会更加focus on NumPy和SciPy。同时,对于需要大量处理的raster数据,关键还是要搞清楚使用python for GDAL。因为大量的处理是基于栅格的。如果需要,可以使用NumPy和SciPy来进行空间数据的计算。
3)用python做model关键是要在服务器端来处理数据并显示这些数据,那么GeoDjango平台对于crud的强大处理定时非常吸引人的,并且,在crud之外,用python做的model是很好的实现方法。当然,用ArcGIS 9.3 推出的的model design tool(不好意思,我忘了这个工具的确切名称)或者ArcEngine来实现会更加高效方便,但是问题是,价格过高,并且网络实现将花更多labor和精力。
相关文章:
