从地理模型生成sld文档的简单django库。
django-sld的Python项目详细描述
Django SLD
从地理模型生成sld文档的django库。
要求
- django Required for models and spatial fields.
- python-sld Required for reading and generating SLD XML files.
- pysal Required for classification algorithms.
- colorbrewer Required for color lookup definitions.
要安装这些需求,可以使用pip安装这些包 (django除外)使用此命令:
> sudo pip install -r requirements.txt
安装
> easy_install django-sld
OR
> pip install django-sld
用法
这个库实现了一个名为“generator”的模块,其中包含 与分类算法交互的方法。假设 你在Geodjango有一个地理模型,你可以把你的分布分类 通过构造一个queryset,并将其馈送到生成器。
假设您有一个名为myspatialmodel的空间模型,其中有一个数据字段 在population中,您可以使用以下命令将所有数据分类为10个分位数类:
from djsld import generator
qs = MySpatialModel.objects.all() sld = generator.as_quantiles(qs, ‘population’, 10)
您也可以使用任何queryset来生成类,例如筛选的queryset:
qs = MySpatialModel.objects.filter(owner__name = ‘David’) sld = generator.as_quantiles(qs, ‘population’, 10)
如果空间模型的几何列名与“geom”不同, 您可以将该字段指定为geofield关键字:
sld = generator.as_quantiles(qs, ‘population’, 10, geofield=’state’)
数据字段也可能与所讨论的queryset有很远的关系。为了 本例假设myspatialmodel具有名为 route,并且要分类的数据值是 route型号:
sld = generater.as_quantiles(qs, ‘route__traffic’, 10)
默认情况下,所有生成器方法都使用纯黑白渐变。 类的数目必须与可用的颜色方案或颜色渐变匹配 将默认为从黑到白。您可以使用 colorbrewername关键字:
sld = generator.as_quantiles(qs, ‘population’, 9, colorbrewername=’Greys’)
您也可以通过指定invertgradient 关键字:
- sld = generator.as_quantiles(qs, ‘population’, 9, colorbrewername=’Reds’,
- invertgradient=True)
支架
如果您有任何问题、疑问或意见,请访问Django SLD github上的项目:https://github.com/azavea/django-sld/