postgresql,postgis,geoserver 发布地图服务,并用.net mvc openlayers3进行显示
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进行显示的更多相关文章
- geoserver发布地图服务
1. Geoserver启动 blog.csdn.net 2014-09-18 20:30 Geoserver是著名的开源GIS软件之一.也是项目中常用的地图服务软件.基于geoserver ...
- geoserver发布地图服务WMTS
WMTS: 切片地图web服务(OpenGIS Web Map Tile Service) WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案.WMTS弥补了WMS不能提供分块地图的 ...
- geoserver发布地图服务WMS
wms服务发布: 1.打开geoserver管理首页(网址为http://localhost:8080/geoserver/web/),并使用安装时设置的帐户名和密码登录(这里是admin/geose ...
- GeoServer自动发布地图服务
1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...
- 基于GeoServer切片地图服务的发布
接着上一篇文章,如何将JPG格式的图片转化为带地理坐标的TIFF格式里提及的最近的一个项目,数据源是一张高分辨率的2.5维图片,现在已经成功转化成了带有地理坐标的TIFF格式.下面将介绍借助GeoSe ...
- geoserver 通过代码实现发布地图服务
GeoServer:代码实现批量发布地图服务 利用GeoServer发布WCS服务,那么如果我有很多数据需要进行发布,这样利用GeoServer提供的UI界面进行操作显然很不显示.那能不能利用GeoS ...
- JavaWeb和WebGIS学习笔记(六)——使用ArcGIS for Server发布地图服务
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- 利用 PortableBasemapServer 发布地图服务
前段时间需要给自己的C/S系统加一个地图,但是没有数据,于是就想到了使用网上的切片地图,但是C/S系统又不能联网,于是就想本地发布切片服务来使用. 本来想用ArcGIS Server来发布从网上下载的 ...
- 动态创建地图文档MXD并发布地图服务
原文:动态创建地图文档MXD并发布地图服务 1.动态创建MXD private bool CreateMxd(string MxdPath, string MxdName) { IMapDocumen ...
随机推荐
- Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! Red ...
- 【gradle使用—gradle介绍】
Gradle基本组件 Gradle是一个框架,定义了一套自己的规则,所以要搞清楚Gradle,必须要遵守它设计的原则,下面我们要先搞清楚一些Gradle的概念: Gradle中,每一个待编译的工程是 ...
- windows使用docker运行mysql等工具(一)windows安装docker
由于我本地的mysql版本比较低,最近想着要升级一下mysql版本,鉴于docker容器的火热,就想着在本地装个docker环境,然后下载最新版的mysql镜像,完成mysql8.0的安装.电脑是wi ...
- NLP-BM25算法理解
前两天老师给我们讲解了BM25算法,其中包括由来解释,以及算法推导,这里我再将其整理,这里我不讲解之前的BIM模型,大家有兴趣可以自行了解.Okapi BM25:一个非二值的模型bm25 是一种用来评 ...
- 关于GDAL读写Shp乱码的问题总结
目录 1. 正文 1.1. shp文件本身的编码的问题 1.2. 设置读取的编码方式 1.2.1. GDAL设置 1.2.2. 解码方式 1.2.3. 其他 2. 参考 1. 正文 最近在使用GDAL ...
- linux系统LAMP环境部署
一.安装虚拟机 二.安装CentOS7 注意:以下安装,用的root权限. 三.安装Apache 1.安装 yum -y install httpd 2.开启apache服务 systemctl st ...
- Class文件结构全面解析(上)
什么是Class文件? 在Java刚刚诞生的时候就提出了一个非常著名的口号:"一次编写,到处运行.(Write Once,Run Anywhere)".为了实现平台无关性,各种不同 ...
- My First Cloud Application's Design
Structure Diagram as following: Questions list: 1. Skydrive Integration > Based on the MSDN commu ...
- visible:hidden和dispaly:none的区别
display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失,通俗来说就 ...
- 领扣(LeetCode)翻转二叉树 个人题解
翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 备注:这个问题是受到 Max Howell的 原问题 ...