2014-02-07 25 views
1

中檢索幾何。django - LayerMapError:無法從功能

我有當我運行在django..it我的應用程序這個錯誤說 LayerMapError:無法從功能檢索幾何

我已經創造了PostgreSQL的空間數據庫(在[this tutorial]給出的教程以下)

下面

是我load.py代碼 和我的models.py 我的應用程序的名字是Application_Files 和我的模塊名稱是mod_parcel

import os 

from django.contrib.gis.utils import LayerMapping 
from models import mod_parcel 

bound_mapping = { 
'NEWPIN' : 'NEWPIN', 
'DIST_NO' : 'DIST_NO', 
'TDNO' : 'TDNO', 
'PIN' : 'PIN', 
'OWNERFULLN': 'OWNERFULLN', 
'AREA' : 'AREA', 
'OCT_TCNO' : 'OCT_TCNO', 
'BARANGAY' : 'BARANGAY', 
'CLASS' : 'CLASS', 
'MRKTVAL' : 'MRKTVAL', 
'ASSDVAL' : 'ASSDVAL', 
'Geometry' : 'Geometry', 
} 

bound_shp = os.path.abspath(os.path.join(os.path.dirname(__file__), 'DATA/parcel/parcels.shp')) 

def run(verbose=True): 
lm = LayerMapping(mod_parcel, bound_shp, bound_mapping, 
        transform=False, encoding='iso-8859-1') 
lm.save(strict=True, verbose=verbose) 

另一個代碼在這裏。 。

from django.contrib.gis.db import models 
from django.contrib.gis.db import models as gismodels 

class mod_parcel(gismodels.Model): 

NEWPIN = gismodels.CharField(max_length=35) 
DIST_NO = gismodels.IntegerField() 
TDNO = gismodels.CharField(max_length=254) 
PIN = gismodels.CharField(max_length=254) 
OWNERFULLN = gismodels.CharField(max_length=254) 
AREA = gismodels.FloatField() 
OCT_TCNO = gismodels.CharField(max_length=254) 
BARANGAY = gismodels.CharField(max_length=254) 
CLASS = gismodels.CharField(max_length=254) 
MRKTVAL = gismodels.FloatField() 
ASSDVAL = gismodels.FloatField() 
Geometry = gismodels.MultiPolygonField(srid=32651) 
objects = gismodels.GeoManager() 

def __unicode__(self): 
return self.NEWPIN 

我真的不知道在哪裏修改代碼或什麼的。 。它只是我是Django的新手,我無法弄清楚這一點..可以分享一些有關這個問題?

回答

0

該錯誤出現在映射中的幾何設置中。 它期待OGRGeomType如POINT,POLYGON ....

+0

謝謝。 。我想我真的需要更多地處理像這樣的數據輸入。 。真的很感謝你給予提示。 。 ☺☺☺ – king635