Heroku 赫罗库的格达尔缺失

Heroku 赫罗库的格达尔缺失,heroku,leaflet,geojson,gdal,Heroku,Leaflet,Geojson,Gdal,运行的Django应用程序通过将GeoJSON数据存储在其中一个模型中。在管理界面中,此字段可通过编辑。当我使用./manage.py runserver在本地运行应用程序时,界面工作正常,页面如下所示 但是,当我部署到Heroku(构建得很好)并在管理界面中打开同一位置实例时,蓝色标记不在地图上的任何位置,地图正常加载,我收到了以下错误: Error creating geometry from value '{ "coordinates":[ "-105.2449000",

运行的Django应用程序通过将GeoJSON数据存储在其中一个模型中。在管理界面中,此字段可通过编辑。当我使用./manage.py runserver在本地运行应用程序时,界面工作正常,页面如下所示

但是,当我部署到Heroku(构建得很好)并在管理界面中打开同一位置实例时,蓝色标记不在地图上的任何位置,地图正常加载,我收到了以下错误:

Error creating geometry from value '{

"coordinates":[
    "-105.2449000",
    "40.0474000"
],
"type":"Point"

}' (Initializing geometry from JSON input requires GDAL.)
我只是在models.py中记录简单的点数据

这是我第一次使用geoJson、传单和Heroku。我是否缺少一些依赖性,是否有一些Heroku配置我忽略了?这是我的requirements.txt


GDAL不是Python依赖项,它是一个单独的框架,必须安装在您的生产环境中

实现这一点的一种方法是使用单独的buildpack,如。Heroku有——也就是说,这里有Python和GDAL

一旦安装,heroku geo buildpack建议在Django应用程序中安装以下测试GDAL的方法。从Heroku Python控制台执行以下操作:

>>> from django.contrib.gis import gdal
>>> gdal.HAS_GDAL
True

然后就可以开始了。

GDAL不是Python依赖项,它是一个单独的框架,必须安装在您的生产环境中

实现这一点的一种方法是使用单独的buildpack,如。Heroku有——也就是说,这里有Python和GDAL

一旦安装,heroku geo buildpack建议在Django应用程序中安装以下测试GDAL的方法。从Heroku Python控制台执行以下操作:

>>> from django.contrib.gis import gdal
>>> gdal.HAS_GDAL
True

然后就可以开始了。

Heroku目前正在运行Heroku-18堆栈,对于python项目,默认构建包具有地理空间库

要使用它们,请运行heroku config:set BUILD_WITH_GEO_LIBRARIES=1并添加

到settings.py


另请参见

Heroku目前正在运行Heroku-18堆栈,对于python项目,默认构建包具有地理空间库

要使用它们,请运行heroku config:set BUILD_WITH_GEO_LIBRARIES=1并添加

到settings.py


另请参见

看起来Heroku已经放弃了对使用地理库构建的支持。您现在需要添加buildpack以启用支持:

添加构建包 heroku构建包:添加-索引1https://github.com/heroku/heroku-geo-buildpack.git 删除环境变量 heroku配置:取消设置带有\u GEO\u库的BUILD\u
请参见

看起来Heroku已经放弃了对使用地理库构建的支持。您现在需要添加buildpack以启用支持:

添加构建包 heroku构建包:添加-索引1https://github.com/heroku/heroku-geo-buildpack.git 删除环境变量 heroku配置:取消设置带有\u GEO\u库的BUILD\u
请看

距离我上次研究这个问题已经太久了,所以我不知道什么是正确答案。但这听起来是对的,所以我会接受它。我已经很久没有做这方面的工作了,所以我不知道什么是正确的答案。但这听起来不错,所以我接受。
>>> from django.contrib.gis import gdal
>>> gdal.HAS_GDAL
True
GDAL_LIBRARY_PATH = os.environ.get('GDAL_LIBRARY_PATH')
GEOS_LIBRARY_PATH = os.environ.get('GEOS_LIBRARY_PATH')