在Windows上从python 3.7编写Geopackage时出错

时间:2019-06-18 10:38:33

标签: python sqlite geospatial r-tree geopackage

我已经在Ubuntu服务器上测试了以下问题,没有问题,因此这绝对是Windows问题。我正在尝试从geopandas GeoDataFrame编写一个地理包。我正在使用以下代码创建的干净的Anaconda环境中执行此操作。我要指定fiona的版本,以确保使用的是最新版本。

> conda create --name gpd python=3.7
> conda activate gpd
> conda install -c conda-forge geopandas rasterio fiona=1.8.6

当我尝试将GeoDataFrame写入Geopackage时,出现以下错误(包括代码示例)

import os, sys, random
import geopandas as gpd
import pandas as pd
from shapely.geometry import Point

lat = [random.randint(3000, 4000)/100 for x in range(0, 10)]
lng = [random.randint(3000, 4000)/100 for x in range(0, 10)]

pts = [Point(x) for x in zip(lng, lat)]

gdf = gpd.GeoDataFrame(pd.DataFrame([lat, lng]).transpose(), geometry=pts, crs={'init':'epsg:4326'})
gdf.columns = ['Lat','Lng','geometry']
gdf.to_file("C:/temp/testing.shp")
gdf.to_csv("C:/temp/testing.csv")
gdf.to_file("C:/temp/testing.gpkg", driver="GPKG")

同时给我以下错误

Traceback (most recent call last):
  File "fiona/_err.pyx", line 201, in fiona._err.GDALErrCtxManager.__exit__
fiona._err.CPLE_AppDefinedError: b'sqlite3_exec(CREATE VIRTUAL TABLE "rtree_testing_geom" USING rtree(id, minx, maxx, miny, maxy)) failed: no such module: rtree'
Exception ignored in: 'fiona._shim.gdal_flush_cache'
Traceback (most recent call last):
  File "fiona/_err.pyx", line 201, in fiona._err.GDALErrCtxManager.__exit__
fiona._err.CPLE_AppDefinedError: b'sqlite3_exec(CREATE VIRTUAL TABLE "rtree_testing_geom" USING rtree(id, minx, maxx, miny, maxy)) failed: no such module: rtree'

我在fiona github上找到了以下错误链接,但这只是一个小窍门-他们建议使用Gholke预编译的二进制文件可行,但我希望解决此问题而不必手动下载并安装任何东西。有什么想法吗?

https://github.com/conda-forge/fiona-feedstock/issues/53

0 个答案:

没有答案