0

我正在尝试遵循 GeoDjango 教程。我正在使用 Windows-10 64 位计算机。我正在使用 Python 3.6 和 Django 1.11 我按照 GeoDjango Windows 文档 进行安装。我已经成功完成了它告诉我的所有步骤,我还下载并运行了 OSGeo4W,并以管理员身份成功运行了 cmd.exe 中的路径

在此处输入图像描述

现在回到Django 教程

创建空间数据库:我在我的 Postgres Sql 中创建了一个数据库

在此处输入图像描述

我启动了一个名为geodjango的 Django 项目,启动了一个名为world的应用程序

我将设置中的数据库更改为

DATABASES = {
    'default': {
         'ENGINE': 'django.contrib.gis.db.backends.postgis',
         'NAME': 'geodjango',
         'USER': 'geo',
    },
}

我在我的 settings.py 安装的应用程序中添加了以下内容

'django.contrib.gis',
'world',

我在world应用程序中创建了一个名为 data 的目录。我下载了 zip 文件并将其解压缩到我的数据文件夹中。我的数据文件夹中有以下文件 在此处输入图像描述

使用 ogrinfo 来检查空间数据(我不知道在这里做什么,所以我忽略了这部分)

我成功地制作了models.py,就像教程中所说的那样

from django.contrib.gis.db import models

class WorldBorder(models.Model):
    # Regular Django fields corresponding to the attributes in the
    # world borders shapefile.
    name = models.CharField(max_length=50)
    area = models.IntegerField()
    pop2005 = models.IntegerField('Population 2005')
    fips = models.CharField('FIPS Code', max_length=2)
    iso2 = models.CharField('2 Digit ISO', max_length=2)
    iso3 = models.CharField('3 Digit ISO', max_length=3)
    un = models.IntegerField('United Nations Code')
    region = models.IntegerField('Region Code')
    subregion = models.IntegerField('Sub-Region Code')
    lon = models.FloatField()
    lat = models.FloatField()

    # GeoDjango-specific: a geometry field (MultiPolygonField)
    mpoly = models.MultiPolygonField()

    # Returns the string representation of the model.
    def __str__(self):              # __unicode__ on Python 2
        return self.name

然后教程要求我运行 python manage.py makemigrations 当我这样做时,我得到以下错误

Error was: cannot import name 'GDALRaster'

我能做些什么来解决这个错误

我试过了

pip install gdal 

这给了我一个错误

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools 

所以我下载了 Microsoft Visual C++ Build Tools。并试图运行

 pip install gdal 

再次现在我得到错误

`error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x64\\cl.exe' failed with exit statu
s 2`
4

1 回答 1

0

在尝试了几乎所有东西之后。我通过虚拟机将我的操作系统从 Windows 移到了带有 Ubuntu 18 的 Linux(Udemy 学习 Ubuntu 的课程),然后简单地做了

sudo apt install geos sudo apt install prog4 sudo apt install gdal

安装了 postgres sql 和 pgadmin3(pg admin 4 无法在 ubuntu 上轻松安装)使用 pgadmin3 然后 sudo apt install postgis 使数据库名为“geodjango”

然后 pip 安装了 psycopg2 和 dj-database-url

我建议远离 make & make install 方法,它们花费的时间太长并且总是抛出错误。在此之后,GeoDjango 教程轻而易举

于 2018-08-18T10:02:33.077 回答