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

一、将shx通过postgis导入

1、创建数据库
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第1张图片
2、右键–>新建对象–>新建扩展
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第2张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第3张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第4张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第5张图片
3、菜单栏点击插件–>打开postgis 也可通过开始菜单
注意点:文件路径不可有中文,文件格式应为utf-8
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第6张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第7张图片
刷新之后会出现新的数据表
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第8张图片

二、设置geoserver

1、新建工作区
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第9张图片
2、创建数据存储
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第10张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第11张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第12张图片
3、创建样式
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第13张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第14张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第15张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第16张图片
4、发布图层
步骤:1、新建图层点击发布–>2、设置边框–>3、点击第三张图的发布–>4、选择line–>5、点击保存–>6、照以上步骤以布其余的图层
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第17张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第18张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第19张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第20张图片
5、预览图层
找到创建的图层点击openlayers进行预览
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第21张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第22张图片
使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第23张图片

三、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>

使用PostGIS+GeoServer+Openlayer+Vue构建简单的web地图应用_第24张图片

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

你可能感兴趣的:(webgis,前端,vue.js,postgis)