我在实施传单抽奖时做错了什么。在这个具体示例中如何使用 WFST?

2023-12-19

我是地理信息开发领域的新手。我按照下面的管道架构流程来实现基于 GIS 的应用程序问题。

PostGIS - GeoServer - 传单

我已经设置了传单客户端应用程序,它将图块组成地图。我还使用一些传单插件(如绘图、缩放),以便用户可以选择在地图上标记和绘图。

我能够绘制并获取所绘制多边形的 GeoJSON 特征,如下所示:

在计算如何发送绘制的多边形请求并以编程方式检索多边形(已保存)的这部分之后,我陷入困境。我知道答案是 WFS-T,但如何在原始代码中使用它。这是原始代码示例:

原始代码链接:https://pastebin.com/wCAHxVc0 https://pastebin.com/wCAHxVc0Follow the link

参考:

  1. https://gis.stackexchange.com/questions/266402/save-leaflet-drawn-features-with-attributes-to-postgis https://gis.stackexchange.com/questions/266402/save-leaflet-drawn-features-with-attributes-to-postgis

  2. https://github.com/Flexberry/Leaflet-WFST https://github.com/Flexberry/Leaflet-WFST


了解 WFS-T 的最佳方法是使用 GeoServer 演示选项(链接:http://localhost:8080/geoserver/web/wicket/bookmarkable/org.geoserver.web.demo.DemoRequestsPage?5 http://localhost:8080/geoserver/web/wicket/bookmarkable/org.geoserver.web.demo.DemoRequestsPage?5)。对我来说,主要问题是弄清楚如何插入和更新交易详细信息。探索地理服务器演示给了我解决方案。

这是一个示例:

var postdata =  "<wfs:Transaction service="WFS" version="1.0.0"   xmlns:wfs="http://www.opengis.net/wfs"   xmlns:topp="http://www.openplans.org/topp"   xmlns:gml="http://www.opengis.net/gml"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd http://www.openplans.org/topp http://localhost:8080/geoserver/wfs/DescribeFeatureType?typename=topp:tasmania_roads"> <wfs:Insert>
        <topp:tasmania_roads>
          <topp:the_geom>
            <gml:MultiLineString srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
              <gml:lineStringMember>
                <gml:LineString>
                  <gml:coordinates decimal="." cs="," ts=" ">
    494475.71056415,5433016.8189323 494982.70115662,5435041.95096618
                  </gml:coordinates>
                </gml:LineString>
              </gml:lineStringMember>
            </gml:MultiLineString>
          </topp:the_geom>
          <topp:TYPE>alley</topp:TYPE>
        </topp:tasmania_roads>   </wfs:Insert> </wfs:Transaction>"

此 XML 请求稍后可用于发送到 GeoServer 以使用 AJAX 调用进行操作,如下所示:

 $.ajax({
    type: "POST",
    url: gs.wfs,
    dataType: "xml",
    contentType: "text/xml",
    data: postdata,
    //TODO: Error handling
    success: function(xml) {  
      //TODO: User feedback
      console.log("Successfully inserted");
    }
  });

为了更好地理解WFS-T的应用场景,请尝试以下URL:https://georepublic.info/en/blog/2012/leaflet-example-with-wfs-t/ https://georepublic.info/en/blog/2012/leaflet-example-with-wfs-t/。这应该可以帮助您开始使用 WFS-T。快乐的地图编辑:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我在实施传单抽奖时做错了什么。在这个具体示例中如何使用 WFST? 的相关文章

  • 臭名昭著的 java.sql.SQLException: 找不到合适的驱动程序

    我正在尝试将支持数据库的 JSP 添加到现有的 Tomcat 5 5 应用程序 GeoServer 2 0 0 如果有帮助的话 应用程序本身与 Postgres 通信得很好 所以我知道数据库已启动 用户可以访问它 所有这些都是好东西 我想要
  • 在 SQLAlchemy 中使用 Postgres/PostGIS 视图

    两个问题 我想在我的 PostGIS DB 中生成一个视图 如何将此视图添加到我的 Geometry columns 表中 我必须做什么 才能将视图与 SQLAlchemy 一起使用 SQLAlchemy 的表和视图之间有区别吗 或者我可以
  • Postgresql:无法访问文件“$libdir/postgis-2.1”没有这样的文件或目录

    我想这是一个已知问题 但由于我使用了删除 postgresql 9 4 postgis 2 1 的脚本 所以我现在无法在 Debian 下消除此 SQL 错误 无法访问文件 libdir postgis 2 1 没有这样的文件或目录 我做了
  • 角度标记错误

    我突然得到这个 它不允许我正确使用我的传单地图 每次我单击地图时 都会将一个标记添加到相同的坐标 当我尝试使用函数删除标记时 它会清空标记数组 但标记在地图上仍然可见 这是怎么回事 Error parse syntax Syntax Err
  • 如何查询5米范围内的所有数据?

    我正在使用 GeoDjango 和 PostGIS 然后我遇到了如何查询我的 postgres db 表以获取 5 米距离内的所有数据的麻烦 UPDATES1我正在使用 GeoDjango 1 2 7 我从这个网址找到了一些东西https
  • 传单地图中奇怪的默认尺寸

    我已经拍摄了一张可用的 Leaflet 地图 但是当我添加 JQuery Mobile 标题和后退按钮时 格式变得疯狂 最初加载页面时 所有内容都加载在左上角 但是当页面在桌面上调整到最小大小或在移动设备上旋转时 一切都很好 这是打开后的样
  • 传单通过图层选择添加/删除图例

    我是 Leaflet JavaScript 的新手 并且一直在努力让图例仅在从图层控件中选择特定图层时才显示地图 我有三层 其中一层我希望没有图例 另外两层有相应的图例 我遇到了一个例子 但未能使其工作 Add and remove leg
  • 使用 Javascript 循环将 Leaflet GeoJSON 层从 GeoServer 添加到数组

    我正在尝试使用循环将 GeoJSON 图层添加到数组中 然后将它们显示在我的地图上 我的目标是拥有一个像这样的变量 场景 json 1 第 1 层 场景 json 2 第 2 层 等等 myURL http localhost 8080 g
  • django.db.utils.ProgrammingError:类型“raster”不存在

    我的模型 我在这里创建了 3 个模型 当我迁移时 我收到错误 from django contrib gis db import models from django contrib gis db models fields import
  • 当条件存在时,从另一个表更新一个表中的多行

    我有两张桌子 Table1包含其位置通过名为 lat lng 坐标的列进行地理参考的公司the geom Table2也包含来自相同的公司Table1 以及其他数百家地址经过地理参考的公司 我需要做的就是插入the geom纬度 经度值来自
  • 如何从 shapefile leaflet R 访问多边形信息

    我使用以下方法制作了伦敦地图https data london gov uk dataset statistical gis boundary files london https data london gov uk dataset st
  • Postgis - 如何通过 JDBC 使用数据类型“地理”

    从事一个网络项目 该项目使用postgresql 9 3 postgis 2 1 有一个类型的列geography在表中 它只存储一个point 现在我需要通过 JDBC 使用 Java 对象插入 选择类型 看完之后postgis手册 没有
  • 如何检查 svg 路径是否具有与数组中的值匹配的类,如果是,则添加一个新类

    我有一个数组和一些svg path元素 我正在使用传单地图 https leafletjs com 我需要检查路径的类是否与数组中的值之一匹配 如果是则添加一个类fadeIn to it var foundNations usa Franc
  • Postgis - ST_within 没有做我想做的事。如何在空心区域中找到一个点?

    请参阅丝网印刷 我在 Postgis 中运行了一个空间查询 以返回地图上某个点所在的选区 区域 该查询使用ST within函数 其中点位于多边形内 正如您从打印中看到的 该点实际上并不在 York Outer 的多边形区域 内 尽管从技术
  • 如何在 R 中按下传单弹出窗口时创建事件?

    当我单击传单多边形时 我想让 tabPanel 变为闪亮 我对如何做到这一点有一些想法 但我找不到实现它们所需的信息 我在选项卡面板中有传单 但我想在单击多边形时切换到另一个选项卡 leaflet llmap gt addTiles gt
  • Leaflet.label 未显示在标记上

    我有一组 geoJSON 点 它们附加了相应的标签 var points L geoJson null onEachFeature function feature layer layer options riseOnHover true
  • 在 Leaflet L.Draw 插件中以编程方式添加多边形

    有没有办法使用 Leaflet 绘制插件以编程方式添加多边形 https github com Leaflet Leaflet draw https github com Leaflet Leaflet draw 例如 单击一个按钮并添加一
  • 续集 beforeSave 挂钩未触发

    我已经使用sequelize auto生成了模型 并且需要使用beforeSave钩子 请参阅here https stackoverflow com questions 47795113 insert update postgis geo
  • 如何使用 LeafLe 创建商店地图

    我希望创建一个可以交互的地图 我发现的最好的选择是传单 问题是我没有找到任何资源来解释如何创建自己的地图 我希望创建一个商场地图 用户可以在其中看到所有商店 喷泉 我怎样才能做到这一点 最好的起点是传单示例页面 http leafletjs
  • 最近邻居的 Postgis SQL

    我正在尝试计算最近的邻居 为此 我需要传递一个参数来限制与邻居的最大距离 例如 半径1000米内最近的邻居是哪些 我做了以下事情 我用数据创建了表 id name latitude longitude 之后 我执行了以下查询 SELECT

随机推荐