Django支持WFS 2.0(暴露GeoDjango模型字段)
项目描述
django-gisserver
Django支持WFS 2.0以暴露地理数据。
功能
- WFS 2.0基本实现。
- GML 3.2输出。
- 标准和空间过滤(FES 2.0)
- GeoJSON和CSV导出格式。
- 可扩展的视图/操作。
- 使用GeoDjango查询进行过滤。
- 大型数据集的流式响应。
文档
更多详情,请参阅: https://django-gisserver.readthedocs.io/
快速入门
在您的项目中安装该模块
pip install django-gisserver
将其添加到INSTALLED_APPS
INSTALLED_APPS = [
...
"gisserver",
]
创建一个公开GeoDjango字段的模型
from django.contrib.gis.db.models import PointField
from django.db import models
class Restaurant(models.Model):
name = models.CharField(max_length=200)
location = PointField(null=True)
def __str__(self):
return self.name
编写一个视图,将此模型公开为WFS功能
from gisserver.features import FeatureType, ServiceDescription
from gisserver.geometries import CRS, WGS84
from gisserver.views import WFSView
from .models import Restaurant
RD_NEW = CRS.from_srid(28992)
class PlacesWFSView(WFSView):
"""An simple view that uses the WFSView against our test model."""
xml_namespace = "http://example.org/gisserver"
# The service metadata
service_description = ServiceDescription(
title="Places",
abstract="Unittesting",
keywords=["django-gisserver"],
provider_name="Django",
provider_site="https://www.example.com/",
contact_person="django-gisserver",
)
# Each Django model is listed here as a feature.
feature_types = [
FeatureType(
Restaurant.objects.all(),
fields="__all__",
other_crs=[RD_NEW]
),
]
在URLConf中使用该视图
from django.urls import path
from . import views
urlpatterns = [
path("/wfs/places/", views.PlacesWFSView.as_view()),
]
您现在可以在GIS应用程序中使用http://localhost:8000/wfs/places/。它将执行如下请求
- http://localhost:8000/wfs/places/?SERVICE=WFS&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.0,1.1.0,1.0.0
- http://localhost:8000/wfs/places/?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=2.0.0&TYPENAMES=restaurant
- http://localhost:8000/wfs/places/?SERVICE=WFS&REQUEST=GetFeature&VERSION=2.0.0&TYPENAMES=restaurant&STARTINDEX=0&COUNT=1000&SRSNAME=urn:ogc:def:crs:EPSG::28992
通过将&OUTPUTFORMAT=geojson
或&OUTPUTFORMAT=csv
添加到GetFeature
请求中,返回GeoJSON和CSV输出。CSV输出页面大小无限,因为它性能相当出色。
为什么分享此代码
阿姆斯特丹市政府的"datapunt"团队开发市政软件。其中大部分软件随后以开源形式发布,以便其他市政府、组织和个人可以将其作为基础和灵感来开发类似的软件。阿姆斯特丹市政府认为,用公共资金开发的软件也应公开可用。
此软件包最初由阿姆斯特丹市开发,但在此项目中创建的工具和概念可用于任何城市。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。
源分布
django-gisserver-1.4.1.tar.gz (103.6 kB 查看散列)
构建分布
django_gisserver-1.4.1-py3-none-any.whl (117.5 kB 查看散列)
关闭
django-gisserver-1.4.1.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2ce649a501ff13e31222d052e367aaee1a0f6e8e4d192eece2b2b7ba92174b25 |
|
MD5 | 8ab080fc451f86ed94876f86fb0c3159 |
|
BLAKE2b-256 | c2cf6ec337e0ba88a6f02f8945cac482a3f4ad7a040c6a486b995d484b146611 |
关闭
django_gisserver-1.4.1-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6c58f5e1d7d6e8ff56bd7102126ddff2728690f7292a280f8b611e8a14417295 |
|
MD5 | 95e4cdb69488669b43e783d71ce743d1 |
|
BLAKE2b-256 | a68ff8b49e5674500b686e48f922ebd79a0ab9a213347af18096923184c68ac9 |