点石成金之-开源GIS二维研发

geoserver java_JAVA+GeoServer+OpenLayers Java+OpenLayers3+GeoServer 二次开发应用(Java+OpenLayers3+GeoServe... JAVA结课实习工程/JAVA结课实习工程/.classpathJAVA结课实习工程/.projectJAVA结课实习工程/.settings/JAVA结课实习工程/.settings/.jsdtscopeJAVA结课实习工程/.settings/org.eclipse.core.resources.prefsJAVA结课实习工程/.settings/org.eclipse.jdt.core.pr... 阅读详情

作为点石成金的开门篇-开源GIS二维研发,链接均为本人博客园或者csdn地址

第一章:简介

开源GIS桌面应用程序uDig

它是什么

1、uDig是一个开源的桌面应用程序框架,构建在Eclipse RCP和GeoTools(一个开源的Java GIS工具包)上的桌面GIS(地理信息系统) ;

2、是一款开源桌面GIS软件,基于Java和Eclipse平台,可以进行shp格式地图文件的编辑和查看;

3、是一个开源空间数据查看器/编辑器,对OpenGIS标准,关于互联网GIS、网络地图服务器和网络功能服务器有特别的加强。uDig提供一个一般的java平台来用开源组件建设空间应用。

它可以做什么

1、可以编辑数据和提交数据。例如纠正一条道路的轨迹

2、可以创建、编辑地图,例如创建一个地图,自制道路、河流、湖泊

3、可进行SLD样式文件编辑,可设置是否显示标注信息

4、图层最大比例尺、最小比例尺设置

 

开源GIS服务器GeoServer

  它是什么

1、GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

2、兼容 WMS 和 WFS 特性;支持 PostgreSQL、 Shapefile 、 ArcSDE 、 Oracle 、VPF 、 MySQL 、 MapInfo ;支持上百种投影;

3、能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能够运行在任何基于 J2EE/Servlet 容器之上;

4、嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。

它可以做什么

1、连接数据库,发布数据库中的数据作为图层,详见文章GeoServer系列之三.将postGis数据表发布成WMS/WFS服务

2、导入shp,发布shp文件为地图,详见文章GeoServer系列之基于Geoserver发布shp文件为地图

3、SQLViews查库发布(参数设置、调用存储过程函数、防止注入),详见文章GeoServer系列之SqlView

4、切片GeoServer系列之四.基于GeoServer切片地图服务的发布

5、Geoserver可以发布两类数据,分别为shp文件类型和postgis数据表类数据

开源GIS前端类库openlayers

  它是什么

1、OpenLayers 是一个专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问

2、OpenLayers 支持Open GIS 协会制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等网络服务规范,可以通过远程服务的方式,将以OGC 服务形式发布的地图数据加载到基于浏览器的OpenLayers 客户端中进行显示

3、OpenLayers采用面向对象方式开发,并使用来自Prototype.js和Rico中的一些组件。

  可以做什么

  1、可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外,还可以进行选取面、选取线、要素选择、图层叠加等不同的操作

  2、可以对已有的OpenLayers 操作和数据支持类型进行扩充,为其赋予更多的功能。例如,它可以为OpenLayers 添加网络处理服务WPS 的操作接口,从而利用已有的空间分析处理服务来对加载的地理空间数据进行计算。

    openlayers实现wfs属性查询和空间查询

  3、同时,在OpenLayers提供的类库当中,它还使用了类库 Prototype.js 和Rico 中的部分组件,为地图浏览操作客户端增加Ajax 效果。

  4、WMTS的逐级无缝缩放

  5、前端支持返回WKT、GeoJson等格式,WKT直接存储几何对象,GeoJson可用于存储带属性的对象;详见:OpenLayers系列之-Geometry格式转换

  openlayers api http://openlayers.org/en/latest/apidoc/index.html

  6、openlayers系列之基于openlayers实现聚类统计展示

    Openlayers2中聚类的动态实现

  7、卷帘Openlayers2卷帘功能的实现

    OL3实现多图联动

  8、统计图Openlayers3中统计图的实现:结合highcharts实现统计图

    Openlayers2中统计图的实现

  9、热力图效果结合heatmap.js,在Openlayers中如何实现热力图

  10、A、B、C、D效果OL2中实现百度地图ABCD marker的效果

GeoWebCache

  它是什么,它可以做什么

  geowebcache就相当于是openlayer和geoserver之间的中介,可提升地图访问效率

  GeoWebCache的配置与使用

GeoJson

  它是什么

  1、GeoJSON是基于JavaScript 对象表示法的地理空间信息数据交换格式

  2、GeoJSON对象可以表示几何、特征或者特征集合。

  3、GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。

  4、GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。

  5、GeoJSON 可以被 JavaScript 简单、快速的解析,得到了包括FireEagle和OpenLayers在内的一些流行的 API 的支持

  6、地图聚合的数据格式前三名:KML、GeoRSS 和 GeoJSON

  7、GeoJSON就是JSON格式,只不过是针对Geometry的JSON,遵循JSON的语法和格式,其解析方式和JSON完全相同。

  可以做什么

  1、通过Openlayers展现后台服务提供的一个点的元素信息

  2、通过Openlayers展现后台服务提供的多个点的元素信息

  3、通过Openlayers展现后台服务提供的多个点的元素信息,并且根据状态改变成不同的图片信息

  资料地址:

  http://www.oschina.net/translate/geojson-spec#id2

  http://www.oschina.net/translate/geojson-spec#id3

  GeoJson在线工具地址:http://geojson.io/#map=3/44.53/111.80

  官网:http://geojson.org/

 

空间数据库

  常见开源空间数据库:postgresql、postgis、mysql

  mysql:http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/spatial-extensions-in-mysql.html

 

性能篇

   (一)海量POI如何进行快速搜索,并进行排序包括点查询、多边形查询、中英文分词查询?

   场景:比如查找当前所在位置附近1000米的酒店,如下图

      

  方案一:基于Solr的空间搜索

  方案二:使用Lucene索引和检索POI数据

  (二)海量POI,ol3加载缓慢

  方案一:抽稀。每放大一级加一部分点 抽稀+图片生成

  方案二:后台绘制,前台显示 大量POI点展示的一种解决方案

  方案三:取当前区域,绘制当前区域的  其他地方显示的时候再绘制  大量POI点展示的一种解决方案

第二章:思路整理

1、传统线路

空间表和shp数据--》打开udig--》导入空间表数据或shp数据--》编辑数据和样式--》打开geoserver--》geoserver发布wms--》openlayers访问

2、制图线路

打开udig--》制图--》编辑数据和样式--》打开geoserver--》geoserver发布wms--》openlayers访问

3、geoserver发布postgis数据表

创建链接--》设置样式--》发布

4、geoserver只支持发布arcgis格式的地图数据

5、多图层叠加

    geoserver发布图层组、openlayers加载的时候叠加

6、比例尺与图层样式的关系

udig设置不同图层比例尺与样式关系--》geoserver发布wms--》标注名显示+不同比例尺下样式的使用

 

 

 

 

第三章:可以做的事

一、GIS桌面应用程序

  可以基于uDig开发自己的GIS桌面应用程序,类似Supermap的Idesktop产品

二、可对Geoserver进行二次开发,调整为类似Supermap的Iserver产品

三、可将Geoserver作为war包或直接集成进项目进行开发,达到初步让地图使用者自己制作地图的目的,例如可以让使用者在面板进行坐标点绘制然后生成shp文件通过Geoserver发布为服务,然后采用openlayers进行调用,如下图

四、结合Sqlview+ssm框架进行空间分析

wfs获取图层信息并返回geoJson数据集 一段简单代码描述了用geoserver wfs服务获取图层数据并返回geojson数据 立即下载

相关推荐

二次开发中文系列

Epicor认识客户化_二次开发中文,讲epicor E9二次开发课程

geoserver mvm clean install 失败处理

在做基于geoserver的二次开发,svn checkout代码后发现它是OSGI框架,还通过maven管理。在mvm clean install时候老是报错通过不了,导致代码保存,缺库很严重。怎么搜索都搜索不到,在这里抛砖引玉。 一、   geoserver1.7.x和geoserver2.1.2的wcs包都会报错的,进去把pom.xml里面的版本信息都删除,这个估计是库更新不全,

dp studio 1083

地图服务器基于geoserver改造

基于geoserver改造的 采用tomcat包装开箱即用

基于GeoServer开发的地理场景可视化系统

图层预览模块是为了方便系统的使用者可以直观的去查看所部署至服务器中的地理图层,用户可根据左侧所构建的图层管理模块,选择服务器中所部署的图层进行预览。用户可在上方图(a)中输入服务器网址或选用本系统的地图服务器来加载服务器中的图层数据,选中任意空间数据便可在右侧的preview框中进行地理场景的预览。属性配置界面中的初始数据为服务器中所存储的图层信息,用户可结合自身需求进行图层信息的修改,以实现大规模地理场景的可视化分析。通过勾选模块中的图层并调节图层属性,便可实现多图层的可视化分析。...

不爱赖床的懒虫博客 2542

Openlayers 生成热力图

Openlayers 生成热力图 heatmap

Unity实现热力图.zip

在Unity中实现热力图,..

【GeoServer二次开发】基于GeoServer-Manager的REST自动部署模块开发

表现层状态转换简称为REST,是一种万维网的软件设计架构,可实现不同软件在网络中简易、高效的信息传递功能。REST是根基于HTTP协议之上而确定的一组属性和约束,通过识别客户端所发出的统一资源标识符和网络资源请求,将预先定义好的操作集合化,为用户在互联网中交互资源提供协助。此外用户亦可根据各自需求自定义操作集合,以满足不同场景、不同邻域的实际开发与应用。............

不爱赖床的懒虫博客 4706

GeoServer OGC服务文档

geoserver接口文档,geoserver二次开发,封装地图gis相关操作。 OGC 服务是 OGC(Open Geospatial Consortium,开放地理信息联盟),制定的一系列 GIS 服务规范。本文档主要介 绍 K-TopGeoserver Server 提供的 WMS、WMTS、WFS、WPS 的服务接口。描述了各服务的参数信息,以及前端调用示例。 例如: 1.GetMap 接口主要用于在请求服务器端生成一幅具有确定地理位置的地图图像,主要用作地图可视化展示。 2.逻辑运算符(And,or,not) [条件 BBOX(the_geom, 110.79868,26.91288,111.41391,27.48417) or gid=2]

GeoServer二级开发-环境配置 IDEA

title: GeoServer二级开发-环境配置 date: 2021-04-23 author: ac tags: GeoServer categories: GIS 1. 工具 jdk8:geoserver中的各模块都是指定了jdk为1.8,所以建议采用jdk8 maven:jar包管理 idea GeoServer Development requires Java 8, Maven, and git. Due to subtle changes in Java class lib.

weixin_38670190的博客 2697

ESP32接入扣子(Coze) API使用自定义智能体

本示例将使用ESP32开发板通过WiFi接入 **Coze API**,实现一个简单的聊天机器人功能。用户可以通过串口向机器人输入问题,ESP32将通过Coze API与智能体进行通信,并返回对应的回复。本文将详细介绍了如何通过HTTP请求和JSON解析来与API进行交互,并给出完整的代码示例。

宁子希的博客 1万+

新一代XMOS会议四麦方案主控芯片 XVF3800

2023年,知名的音频芯片制造厂商 XMOS 正式发布了新一代会议麦阵芯片片 XVF3800 ,这款芯片采用最先进的四麦音频算法,可在嘈杂的环境中提供高质量语音,算法支持圆形、条形阵列,可根据应用场景组成不同的产品形态。传统的麦阵解决方案,不仅需要捕捉会议中的人声,也会同时捕捉环境中的其他噪声,而 XMOS 先进的语音算法解决了这一问题。声学回声消除功能可消除麦克风音频输入的回声,同时减少远端回声,使 XVF3800 能提取清晰的语音信号。• 180度拾音条形麦克风阵列。• 360度拾音环形麦克风阵列。

PawPaw_electron的博客 784

Geoserver源码编译

1.起因 因业务升级,需对geoserver进行二次开发,因此需要对geoserver源码编译。 2.经过 系统环境 操作系统:win10 java版本:1.8.0_271 maven版本:3.6.1 下载源代码 官方最新版本:2.19.2,这里选择2.18.4 git clonehttps://github.com/geoserver/geoserver.git 导...

m0_37770700的博客 856

PyMuPDF`库实现PDF旋转功能

本文介绍了一个简单的Python应用程序,用于将PDF文件转换为旋转90度的PDF文件。通过使用`wx很抱歉,Markdown格式在当前聊天界面无法显示。我将为您提供纯文本格式的博客内容,您可以将其复制到Markdown编辑器中进行格式化。PDF转换工具本文介绍了一个简单的Python应用程序,用于将PDF文件转换为旋转90度的PDF文件。该工具使用了wxPython和PyMuPDF库。功能该PDF转换工具具有以下功能:1. 选择PDF文件:通过点击“选择文件”按钮,用户可以选择要转换的PDF文件。

Winfredzhang的博客 2734

GeoServer二次开发-OWS服务(自定义模块)

title: GeoServer二次开发-OWS服务(自定义模块) date: 2021-04-25 author: ac tags: GeoServer categories: GIS 本章介绍GeoServer Dispatcher如何在GeoServer中实现OWS服务,以及创建GeoServer 自定义模块的步骤,将其用作GeoServer扩展。 1. OWS OGC定义了一系列Web协议,这些协议都遵循类似的设计(接口)。将这些共有的接口实现规范和标准参考抽离出来,就形成了OWS。O.

weixin_38670190的博客 4607

C++ 程序稳定运行一段时间后异常中止?vc6 运行库的bug!!!

事件查看器提示:错误应用程序 xxxxxxx.exe,版本 0.0.0.0,错误模块 MSVCRTD.DLL,版本 6.0.9782.0,错误地址 0x00012b40。这是一个通信方面的软件,需要长期运行,在压力测试时,高负荷连续运行一定天数时必定崩溃,而且都是在msvcrtd.dll中崩溃。后来在dump文件中发现调用栈在是MSVCRTD.DLL模块,跟踪代码发现是在void * __cdecl _heap_alloc_dbg(        size_t nSize,        int nBloc

qingflying的专栏 2679

材料带隙预测(图神经网络)(⭐⭐)—— 用晶体图网络预测钙钛矿材料的能带隙,加速光伏材料筛选。技术栈:CGCNN、MEGNet、Materials Project数据集

钙钛矿太阳能电池以其高效率、低成本的优势迅速崛起,但传统“试错法”材料筛选效率极低,严重制约了光伏技术的迭代速度。近年来,基于图神经网络的材料带隙预测方法,特别是晶体图神经网络(CGCNN)和材料图网络(MEGNet),为这一问题提供了革命性的解决方案。本文系统梳理了材料带隙预测从传统计算到深度学习的演进历程,深入剖析了CGCNN与MEGNet的架构设计、数学原理及创新机制,详细阐述了Materials Project数据集的构建、特征工程与处理策略。

2201_76125393的博客 47

geoserver 二次开发,不显示自带 web页面

geoserver 二次开发,要让其web页面不可用。则删除原有系统gs-web有关的包即可

wuai66的博客 1593

DeepSeek网页版和DeepSeek Harness

DeepSeek网页版是开箱即用的对话工具,适合快速问答与日常任务;而DeepSeekHarness(dsh)是基于Node.js的开源智能体框架,支持文件操作、命令执行、多工具协同,实现“对话即执行”。二者定位不同:网页版为“大脑”,Harness为“躯体”。前者封闭易用,后者开放可扩展,具备可追溯的执行日志与插件化架构。未来,网页版将聚焦轻量化普及,Harness则致力于构建生态平台。对开发者而言,应将AI作为执行层,守住决策层,深耕垂直领域,并掌握AI工作流设计能力,以构建不可替代的技术优势。

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 872

GIS项目中数据开源、工具开源、开发开源的解决方案

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。     摆脱免费地图开发包的约束,拒绝商业地图软件的费用,高效、精确、完备是我们的开源解决方案的宗旨。 1.地图栅格数据开源   通过使用自主研发的多源地图下载器,我们的开源解决方案可以支持多种互联网免费地图,内网环境下同样可用。   目前我们提供的开源解决...

weixin_33939380的博客 171

人体分割笔记总结

人体分割 人体分割(human parsing),属于语义分割任务的子任务,旨在对人类图像进行像素级的是细粒度分割(例如,划分出身体部位和服装)。根据不同的场景,又可以分为单人人体解析(single-person human parsing)和多人人体解析(multi-person human parsing,或者 instance-level human parsing)。除此之外,按照处理媒介分类,还可以分为基于图像的人体解析和基于视频的人体解析。 对于人体解析任务,常用的度量指标包括 Pixel a

jacke121的专栏 4255

ArcGIS Pro 3.4 二次开发 - 地理数据库

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下,如何操作地理数据库的多种方法。首先,通过路径打开文件地理数据库,并处理可能出现的异常。其次,使用连接属性或sde文件路径打开企业级地理数据库。此外,还展示了如何从项目项、要素图层中获取地理数据库,以及如何执行SQL语句。最后,文章详细说明了如何从地理数据库中获取单个定义或定义列表,包括表定义、要素类定义、关系类定义和要素数据集定义。这些操作均在后台线程中执行,确保应用程序的响应性。

Winemonk 944

geoserver 二次开发构建项目遇到的坑

geoserver 二次开发项目搭建

wuai66的博客 1113

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

学习geoserver二次开发

小白学习geoserver二次开发有什么推荐的视频或者文章可以看嘛,目前已经会运行源码了。

qq_56464758的博客 340

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

基于udig(开源GIS软件)二次开发(1)

 很早时候就想基于GIS写一点东西,前面基于UDIG做过不短时间的二次开发。当前也有geoserver+openlayers的一些开发经验。未来一段时间每天一个文章好好写一下关于GIS或者RCP的一些东西,刚好UDIG就是基于GIS+RCP的产品。OK,话不多说我们先看看UDIG是个什么东西,大概接下来几天想讲讲UDIG。   百度百科中对udig的讲解是: http://baike.b...

jjxliu306的博客 1722

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: UML类图几种关系的总结
下一篇: Maven-Eclipse使用Maven deploy命令部署构建到Nexus上
韩慧兵
博客等级 码龄15年 170粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值