Ошибка записи Geopackage из Python 3.7 на Windows - PullRequest
0 голосов
/ 18 июня 2019

Я проверил проблему ниже на сервере Ubuntu, и нет проблем, так что это определенно проблема Windows.Я пытаюсь написать геопакет из геопанды 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

...