利用图层的基本信息进行测试import osimport worldworld_shp=os.path.abspath(os.path.join(os.path.dirname(world.file),'data/TM_WORLD_BORDERS-0.3.shp'))from django.contrib.gis.gdal import DataSourceds = DataSource(world_shp)print ds#打印数据的图层数print len(ds)#获取第一层图层lyr = ds[0]print lyr#获取图层几何类型print lyr.geom_type#获取要素数print len(lyr)#获取坐标srs = lyr.srsprint srsprint srs.proj4#获取图层字段信息及字段类型print lyr.fields[fld.name for fld in lyr.field_types]#打印各要素的点信息for feat in lyr: print feat.get('NAME'), feat.geom.num_points#获取具体要素的详细信息 feat = lyr[234]print feat.get('NAME')geom = feat.geomprint geom.wktprint geom.json
url.pyurlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^api/gis/country/(?P<position>[+-]?\d.\d [+-]?\d.\d)$', CountryQuery.as_view()), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),]
settings.pyINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.gis', 'world', 'rest_framework',]
将模型序列化
from rest_framework import serializersfrom .models import WorldBorderclass WorldBorderSerializer(serializers.ModelSerializer): class Meta: model = WorldBorder fields = ('name',)
返回查询到的国家