1.所需工具

postgres版本 9.6.1

对应的postgis

geoserver 2.8.2

openlayers3

2.将postgres postgis ,geosever安装好,再用如下指令,在postgres的cmd工具psql中,进行postgis的拓展

-- Enable PostGIS (includes raster)
CREATE EXTENSION postgis;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder;
拓展到postgis,获得geometry类型。

--psql shell命令窗口第一次登录需要password
--之后都会隐藏。

db=# CREATE TABLE public."PuKouMapDb"(
db(# "Id"serial PRIMARY KEY,
db(# "Type" integer,
db(# "ObjectId" character varying(128),
db(# "Polygon" geometry,
db(# "ZipName" character varying(128),
db(# "FilePath" character varying(128),
db(# "FileNames" character varying(128),
db(# "ObjectName" character varying(128));

建表,在pgadmin中建表主键不会自增,只能在psql中进行设置。

方法一:serial表示主键自增,在建表的时候就添加进去,上述即是。

方法二:先建表,在建一个递增的序列,再将这个主键与这个序列相关联,更具有可控性。

ex:

CREATE TABLE public."Destination"
db-# (
db(# id integer PRIMARY KEY,
db(# x character varying(128),
db(# y character varying(128),
db(# z character varying(128));

CREATE SEQUENCE Destination_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

alter table test_c alter column id set default nextval('Destination_id_seq');

3.安装完geoserver之后,登上http://localhost:8080/geoserver/web/,因为我本地装了tomcat所以该服务运行在本地的tomcat上。输入用户名 admin 密码 geosever登录。

点击左侧数据存储,进去添加新的数据存储,选择PostGIS- PostGIS Database,然后填写相关的postgres数据库信息。

完成之后,会出现图层的发布页面,选择相应的存放图层数据的数据库,选择坐标参考系统中的定义SRS,选择相应的坐标系。

自动计算边框。(连接上数据库之后,想要发布另一个表里的图层,直接点击左侧的图层,添加新的资源)

完成之后可以在Layer Preview中进行预览。

4.在预览界面,查看网页源码,

var format = 'image/png';

var bounds = [40344004, 3525087.75,
40384268, 3570959];

var untiled = new ol.layer.Image({
  source: new ol.source.ImageWMS({
  ratio: 1,
  url: 'http://localhost:8080/geoserver/cite/wms',
  params: {'FORMAT': format,
  'VERSION': '1.1.1',
  LAYERS: 'cite:export_output4',
  STYLES: '',
  }
  })
  });

以wms方式加载源。

var projection = new ol.proj.Projection({
  code: 'EPSG:900913',
  units: 'm',
  axisOrientation: 'neu'
 

});

  var map = new ol.Map({
  controls: ol.control.defaults({
  attribution: false
  }).extend([mousePositionControl]),
  target: 'map',
  layers: [
  untiled //图层
   
  ],
  view: new ol.View({
  projection: projection//加载坐标系
  })
  });

map.getView().fit(bounds, map.getSize());

将这两个代码段加到自己的前台openlayer的js中即可。

postgresql,postgis,geoserver 发布地图服务,并用.net mvc openlayers3进行显示的更多相关文章

  1. geoserver发布地图服务

    1.      Geoserver启动 blog.csdn.net 2014-09-18 20:30 Geoserver是著名的开源GIS软件之一.也是项目中常用的地图服务软件.基于geoserver ...

  2. geoserver发布地图服务WMTS

    WMTS: 切片地图web服务(OpenGIS Web Map Tile Service) WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案.WMTS弥补了WMS不能提供分块地图的 ...

  3. geoserver发布地图服务WMS

    wms服务发布: 1.打开geoserver管理首页(网址为http://localhost:8080/geoserver/web/),并使用安装时设置的帐户名和密码登录(这里是admin/geose ...

  4. GeoServer自动发布地图服务

    1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...

  5. 基于GeoServer切片地图服务的发布

    接着上一篇文章,如何将JPG格式的图片转化为带地理坐标的TIFF格式里提及的最近的一个项目,数据源是一张高分辨率的2.5维图片,现在已经成功转化成了带有地理坐标的TIFF格式.下面将介绍借助GeoSe ...

  6. geoserver 通过代码实现发布地图服务

    GeoServer:代码实现批量发布地图服务 利用GeoServer发布WCS服务,那么如果我有很多数据需要进行发布,这样利用GeoServer提供的UI界面进行操作显然很不显示.那能不能利用GeoS ...

  7. JavaWeb和WebGIS学习笔记(六)——使用ArcGIS for Server发布地图服务

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  8. 利用 PortableBasemapServer 发布地图服务

    前段时间需要给自己的C/S系统加一个地图,但是没有数据,于是就想到了使用网上的切片地图,但是C/S系统又不能联网,于是就想本地发布切片服务来使用. 本来想用ArcGIS Server来发布从网上下载的 ...

  9. 动态创建地图文档MXD并发布地图服务

    原文:动态创建地图文档MXD并发布地图服务 1.动态创建MXD private bool CreateMxd(string MxdPath, string MxdName) { IMapDocumen ...

随机推荐

  1. 【工利其器】Android Lint篇——为Android量身定做的静态代码审查工具

    前言 我们在进行代码优化的时候,往往是通过开发者的经验来判断哪些代码可能存在潜在问题,哪些资源的使用不合规范等.实际上Android SDK提供了一款功能非常强大的工具,来帮助开发者自动检测代码的质量 ...

  2. Apache配置反向代理、负载均衡和集群(mod_proxy方式)

    Apache配置负载均衡和集群使用mod_jk的方式比较多,但是mod_jk已经停止更新,并且配置相对复杂.Apache2.2以后,提供了一种原生的方式配置负载均衡和集群,比mod_jk简单很多. 1 ...

  3. 史上最全的excel读写技术分享

    目录 简介 导出excel常用的几种方法 POI CSV jxl jxls easyexcel 快速入门 代码解读 总结 常用API 单元格样式 合并单元格 数据样式 多sheet设置 单元格添加超链 ...

  4. HtmlSpanner 使用小结 -- 安卓解析html

    如何利用 HtmlSpanner解析 HTML格式 的字符串: 1. GitHub 下载HtmlSpanner项目 https://github.com/NightWhistler/HtmlSpann ...

  5. php imagick生成图片需要注意的问题

    php imagick生成图片需要注意的问题 坐标必须写死不要写自适应 这样才能达到效果图的最好效果 而且不会出现各种问题如果前端显示的生成图片不达标 可以再写一套代码 把后台生成的图片透明度设成0 ...

  6. mysql导入sql出错,无脑解决办法

    找到my.cnf文件在[mysqld]的下面添加 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTI ...

  7. WordPress 添加title中的logo

    WordPress 添加title中的logo <!--网页标题左侧显示--> <link rel="icon" href="/favicon.png& ...

  8. Django 通过 ORM 实现表的CRUD

    Django 通过 ORM 实现表的CRUD 单表的创建 修改 setting.py 文件 DATABASES = { 'default': { 'ENGINE': 'django.db.backen ...

  9. CSS:CSS弹性盒子布局 Flexible Box

    一.简介 flexbox:全称Flexible Box, 弹性盒子布局.可以简单实现各种伸缩性的设计,它是由伸缩容器和伸缩项目组成.任何一个元素都可以指定为flexbox布局.这种新的布局方案在200 ...

  10. python:调用bash

    利用os模块 python调用Shell脚本,有三种方法: os.system(cmd)返回值是脚本的退出状态码 os.popen(cmd)返回值是脚本执行过程中的输出内容 commands.gets ...