我正在尝试遵循GeoDjango教程。我正在使用Windows-10 64位计算机。我使用的是Python 3.6和Django 1.11,然后按照GeoDjango Windows Documentation进行安装。我已经成功完成了它告诉我的所有步骤,我还下载并运行了OSGeo4W,并以管理员身份成功运行了cmd.exe中的路径
现在回到 Django Tutorial
Create a Spatial Database:我在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文件并将其解压缩到我的数据文件夹中。我的数据文件夹中有以下文件
Use ogrinfo to examine spatial data(我不知道该怎么办,所以我忽略了这一部分)
我成功制作了 models.py ,就像在tutorial
中所说的那样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`
答案 0 :(得分:0)
尝试了几乎所有内容之后。我通过虚拟机通过Ubuntu 18将操作系统从Windows迁移到Linux(Udemy课程学习Ubuntu),然后简单地完成了
sudo apt安装geos sudo apt安装程序4 sudo apt安装gdal
已安装的postgres sql和pgadmin3(到目前为止,在ubuntu上不容易安装pg admin 4)使用pgadmin3在名为“ geodjango”的数据库上进行了设置,然后 sudo apt安装postgis
然后安装点子 psycopg2和 dj-database-url
我建议远离make&make install方法,因为它们花费的时间太长,并且总是会引发错误。之后,GeoDjango tutorial轻而易举