说Django的wfs2.0(公开GeoDjango模型字段)

django-gisserver的Python项目详细描述


DocumentationTravisPyPIMPL LicenseCoverage

django gisserver公司

说Django的wfs2.0公开地理数据。在

特点

  • WFS 2.0基本实现。在
  • GML 3.2输出。在
  • 标准和空间滤波(FES 2.0)
  • GeoJSON和CSV导出格式。在
  • 可扩展的视图/操作。在
  • 使用GeoDjango查询进行过滤。在
  • 大型数据集的流式响应。在

文件

有关详细信息,请参阅:https://django-gisserver.readthedocs.io/

快速启动

在项目中安装模块:

pip install django-gisserver

将其添加到INSTALLED_APPS

^{pr2}$

创建一个显示GeoDjango字段的模型:

fromdjango.contrib.gis.db.modelsimportPointFieldfromdjango.dbimportmodelsclassRestaurant(models.Model):name=models.CharField(max_length=200)location=PointField(null=True)def__str__(self):returnself.name

编写将此模型公开为WFS功能的视图:

fromgisserver.featuresimportFeatureType,ServiceDescriptionfromgisserver.geometriesimportCRS,WGS84fromgisserver.viewsimportWFSViewfrom.modelsimportRestaurantRD_NEW=CRS.from_srid(28992)classPlacesWFSView(WFSView):"""An simple view that uses the WFSView against our test model."""xml_namespace="http://example.org/gisserver"# The service metadataservice_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中使用该视图:

fromdjango.urlsimportpathfrom.importviewsurlpatterns=[path("/wfs/places/",views.PlacesWFSView.as_view()),]

现在可以在GIS应用程序中使用http://localhost:8000/wfs/places/。 它将执行以下请求:

通过将&OUTPUTFORMAT=geojson或{}添加到GetFeature请求,将返回GeoJSON和CSV输出。 CSV输出的页面大小不受限制,因为它的性能非常好。在

为什么共享此代码

阿姆斯特丹市政府的“datapunt”团队为该市开发软件。 这些软件的大部分都是以开源的形式发布的,这样其他城市, 组织和公民可以利用该软件作为开发的基础和灵感 类似的软件本身。阿姆斯特丹市政府认为重要的是 用公款开发的软件也可以公开使用。在

阿姆斯特丹的工具最初是由阿姆斯特丹开发的 在这个项目中创建的概念可以在任何城市使用。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么TestNG看到的是我的包而不是我的类?   java JSTL fn:子字符串之间?   java Android NotificationChannel与旧API的兼容性   java在循环内部或外部声明对象?   java刷新GziOutputStream,然后重置ByteArrayOutputStream安全吗?   子类中父类的java JAXB“重命名”属性   java Android,适配器getView中的NullPointerException   java网络适配器在与Oracle DB连接时无法建立连接   java创建没有实体的spring存储库   java将下面程序的输出提供给我,它只是没有点击。答案是63,我显然不明白   java禁用Android上的Firebase脱机功能   java如何从Maven扩展停止构建   java此代码显示在单击按钮之前获得的焦点