• One-day-trip in python for GIS

    作者:  • 2009 年 1 月 22 日 • 技术主义 • 暂无评论

    昨天花了一天时间纵览了一遍关于GIS的python类库,发现有一大批基于python的GIS类库。诸如:

    1. mapnik(被openstreetmap使用来制作地图的渲染类库)
    2. tilecache(网络地图缓存器)
    3. OgcServer (The python-based OGC Server with WMS 1.1 and 1.3 support. )
    4. OwsLib (OWSLib works with WMS version 1.1.1 and WFS 1.0.0 Other versions are not supported at this time.)
    5. pyWPS(基于python的Web Process Service的实现,如果今后要做grid,这个类库是很必要使用的)
    6. Shapely (Geos的wrapper)
    7. python for GDAL (GDAL,也包括OGR的wrapper)
    8. pyproj (Pyrex generated python interface to PROJ.4 library)
    9. NumPy,SciPy(科学计算所用的类库)
    10. GeoDjango(整合了主要的空间数据类库,包括GDAL,GEOS,PROJ.4等)
    11. 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和精力。

    相关文章:

    关于

    生于古城長安,求學金陵,輾轉赴美深造,現漂泊於長安與北京。

    http://www.yenching.org