shp 解析的数据添加至pg空间库中

目录

前言:

一、存储至数据库

1、先将解析好的数据转成wkt格式数据

 2、后台编写:

 二、数据库中调取并加载至web端arcgis 地图中

1、数据库调取:

 2、将拿到的geojson数据加载至地图中


前言:

上一文中我们已经解析好上传的shp.zip,获取到shp中的空间几何信息

上传shp.zip并加载至arcgis地图中(web端)

本文中将记录如何存储至pg 的空间库 和从空间库中调取并加载至arcgis 地图中

(由于本人已经好久没有做java后台,只能简单叙述下)

一、存储至数据库

1、先将解析好的数据转成wkt格式数据

 解析好的shp数据,可以看到每条数据中包含 geometry (存储空间信息), properties(存储属性信息)和默认的 type:"Feature"

转换成wkt格式:

//导入依赖
import WKT from 'terraformer-wkt-parser'
//调取方法
let wktData =WKT.convert(item.geometry);

转换好的wkt格式数据:

 2、后台编写:

sql语句新增一条几何信息:

<insert id="insert" keyProperty="id" useGeneratedKeys="true">
        insert into GEO_LQ(GEO)
        values (ST_GeomFromText(#{geo},4490))
    </insert>

其中GEO 为表中字段信息,geo为传入的字段值

主要是用到 ST_GeomFromText(xxx,4490) 这个空间函数

存储到pg库中的数据格式为:

 参考资料:

 二、数据库中调取并加载至web端arcgis 地图中

1、数据库调取:

需要用到 ST_AsText(geo) 和 st_asgeojson(geo) 这两个函数

第一个是将存储好的geo数据转换成wkt 格式的输出

第二个是将存储好的geo数据转换成geojson 格式的输出 

这里我们用到的是第二个,如下所示:

 2、将拿到的geojson数据加载至地图中

//导入转化的依赖
import ArcGIS from "terraformer-arcgis-parser"
//转化的方法 //需要将geojson转化成arcgis json 才能加载到arcgis 的地图中
geoToArcgis(geojson) {
      let esrijson = ArcGIS.convert(geojson);
      var geometry = geometryJsonUtils.fromJSON(esrijson);
      return geometry;
    },

//加载至地图中
let geometry = this.geoToArcgis(geojson);//geojson就是取到的geojson数据
      geometry.spatialReference = new this.mapObj.SpatialReference({wkid: 4490});
      let gra = new Graphic({
        geometry: geometry,
        symbol: xxSb
      });
      tempLayer.add(gra);

写的简单,大家自行参考

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Giser_往事随风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值