使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用

一、将shx通过postgis导入

1、创建数据库
image.png
2、右键–>新建对象–>新建扩展
image.png
image.png
image.png
image.png
3、菜单栏点击插件–>打开postgis 也可通过开始菜单
注意点:文件路径不可有中文,文件格式应为utf-8
image.png
image.png
刷新之后会出现新的数据表
image.png

二、设置geoserver

1、新建工作区
image.png
2、创建数据存储
image.png
image.png
image.png
3、创建样式
image.png
image.png
image.png
image.png
4、发布图层
步骤:1、新建图层点击发布–>2、设置边框–>3、点击第三张图的发布–>4、选择line–>5、点击保存–>6、照以上步骤以布其余的图层
image.png
image.png
image.png
image.png
5、预览图层
找到创建的图层点击openlayers进行预览
image.png
image.png
image.png

三、openlayer

vue2+openlayer6

<template>
  <div class="home">
    <div id="map" ref="map"></div>
  </div>
</template>

<script>
import "ol/ol.css";
import ImageWMS from "ol/source/ImageWMS";
import Map from "ol/Map";
import OSM from "ol/source/OSM";
import View from "ol/View";
import { Image as ImageLayer, Tile as TileLayer } from "ol/layer";

export default {
  name: "Home",
  data() {
    return {
      map: ""
    };
  },
  methods: {
    // 初始化一个openLayers的视图
    initMap() {
      var layers = [
        new TileLayer({
          source: new OSM()
        }),
        new ImageLayer({
          extent: [-13884991, 2870341, -7455066, 6338219],
          source: new ImageWMS({
            url: "http://localhost:8080/geoserver/web_map/wms",
            params: {
              FORMAT: "image/png",
              VERSION: "1.1.1",
              tiled: true,
              STYLES: "",
              LAYERS: "web_map:ne_110m_admin_0_countries"
            },
            ratio: 1,
            serverType: "geoserver"
          })
        })
      ];
      this.map = new Map({
        layers: layers,
        target: "map",
        view: new View({
          center: [-74.047185, 40.679648],
          zoom: 2,
          code: "EPSG:4326",
          units: "degrees"
        })
      });
    }
  },
  mounted() {
    this.initMap();
  }
};
</script>

<style lang="less">
#map {
  width: 100%;
  height: 80vh;
}
</style>

image.png

推荐视频:使用PostGIS,GeoServer和Openlayer构建简单的web地图应用_哔哩哔哩_bilibili

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostGIS是一个用于存储和查询地理数据的开源空间数据库扩展,它允许用户在PostgreSQL数据库中存储地理位置数据,并提供了丰富的地理位置函数和索引支持,使得对地理数据的分析和查询更加高效。 GeoServer是一个开源的地理信息系统服务器,它可以连接多种数据存储,包括PostGIS数据库,并将其以符合标准的地理信息数据格式发布为地图服务,使用户可以通过标准的地理信息服务接口(如WMS、WFS等)来访问地理数据。 路径分析是指在地理空间中计算两个地点之间的最佳路径,其中包括路径的距离、时间、成本等因素。在PostGIS中,可以使用ST_Distance函数计算两个地理位置之间的距离,也可以使用ST_LineInterpolatePoint函数在线段上插值出指定距离的点,从而实现路径的计算和分析。而GeoServer可以通过WMS服务向客户端呈现计算好的最佳路径,在地图上直观显示出来。 结合PostGISGeoServer,可以实现包括路径计算、路径可视化、路径查询等功能。用户可以在PostGIS中存储地理位置数据,使用PostGIS的空间函数进行路径分析,然后通过GeoServer将结果以地图服务的形式发布出来,使得用户可以通过标准的地理信息服务接口来获取路径分析的结果。这样,用户可以通过网络浏览器或地理信息系统软件来访问和展示路径分析的结果,实现更加直观和方便的路径分析应用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值