译自GeoPandas 0.1.0 文档(原版译著,有错误欢迎交流,转载请注明)
GeoPandas是一个开源项目,它的目的是使得在Python下更方便的处理地理空间数据。GeoPandas扩展了pandas的数据类型,允许其在几何类型上进行空间操作。几何操作由 shapely执行。 GeoPandas进一步依赖于 fiona进行文件存取和 descartes ,matplotlib 进行绘图。
描述
GeoPandas 的目的是在Python下更容易处理地理数据。它结合了pandas和shaply的功能,提供在pandas下的空间操作和shapel下高层次的处理多几何构型的接口。GeoPandas 允许你很容易的用Python进行操作,不然的话,你将不得不用一个空间数据库去处理,如PostGIS。
安装
笔者目前的发现版本是0.1,安装,可以使用pip或easy_install:
pip install geopandas
你也可以通过克隆 GitHub上的仓库去安装最新的开发版本,命令脚本如下:
git clone https://github.com/geopandas/geopandas.git
cd geopandas
python setup.py install
同样也可以在PyPI上安装最新的可用开发版本,使用pip,加上--pre安装1.4或者更高的版本,或者直接使用pip从GitHub仓库中安装:
pip install git+git://github.com/geopandas/geopandas.git
依赖
支持Python版本2.6,2.7,和3.2+
依赖包:
pandas (version 0.13 or later)
geopy 0.99 (optional; for geocoding)
psycopg2 (optional; for PostGIS connection)
绘图的话会用到另外的一些包:
测试
从源目录下运行当前的测试集,在命令行运行:
nosetests -v
测试自动运行在GitHub库中所有的提交事务上,包括在Travis CI的push请求。
GeoPandas 使用手册
GeoPandas实现了两个主要的数据结构,GeoSeries和GeoDataFrame。它们分别是pandas中Series和DataFrame的子类。
GeoSeries
一个GeoSeries包含一个几何图形的序列。
GeoSeries类实现了几乎所有的Shapely对象的属性和方法。在使用GeoSeries时,它将应用于序列中所有几何图形的每一个元素。二元操作可以在两个GeoSeries对象之间进行,这种情况下二元操作将应用于每一个元素。这两个序列将按匹配的索引进行对于操作。二元操作也可以应用于单个几何,此时二元操作将对该几何序列的每个元素进行。在以上两种情况下,操作将会返回Series或者GeoSeries对象。
在GeoSeries对象中,以下Shapely对象的方法和属性是可以使用的:
GeoSeries.area
返回一个Series,它包含GeoSeries中每个几何的面积。
GeoSeries.bounds
返回一个DataFrame,它包含每个几何的边界,用列值minx, miny, maxx, maxy来表示。
GeoSeries.length
返回一个Series,它包含每个几何的长度。
GeoSeries.geom_type
返回一个字符串的Series,字符串指定每个对象的几何类型。
GeoSeries.distance(other)
返回一个Series,它包含与其他GeoSeries对象(每个元素)或几何对象的最小距离。
GeoSeries.representative_point()
返回所有点的一个GeoSeries(经简易计算),这些点必须保证在每个几何的内部。
GeoSeries.exterior
返回线环(LinearR