
地理信息
文章平均质量分 82
surpassLiang
视野决定效率
展开
-
Vue弹窗用也可以直接调用Js方法了
vue组件中的弹出,不在需要将组件引用到template中了。直接可以通过调用js方法即可,极大程度避免了代码的入侵性。原创 2024-10-24 21:42:24 · 853 阅读 · 0 评论 -
ArcGIS API for JavaScript 4.x 实现动态脉冲效果
主要通过定时刷新,每一次的脉冲渲染圈不停的放大,并且透明度缩小,直到达到一定的大小再退回0。原创 2023-09-09 13:27:04 · 1100 阅读 · 4 评论 -
基于Jetty9的Geoserver配置https证书
由于Geoserver自带的jetty版本不具备https模块,所以需要下载完整版本jetty。这里需要先查看本地geoserver对应的jetty版本,进入geoserver安装目录,执行如下命令。可以看到当前的jetty版本为。我们需要将etclibmodules三个文件夹拷贝到geoserver对应的目录中。原创 2023-09-09 13:01:06 · 1574 阅读 · 1 评论 -
postgresql自定义方法创建之坐标的自动转换
postgresql导入点类型的空间数据,一般会提供xy坐标(或者lon和lat)字段,一般的工具并没有提供转换为空间数据的功能。此时,我们需要提供一些方法或者触发器来实现空间字段的自动更新。而xy坐标在导入的时候也会存在两种情况,一种是以度分秒的字符串形式提供,一种是小数的方式提供。所以这里我们还要提供一个针对坐标的归一化函数。下面就是相关设计的方法方法代码。原创 2023-08-18 14:39:45 · 1017 阅读 · 0 评论 -
ArcGIS Engine 与 Visual Studio版本对照表
通过C#对于Arcgis的二次开发,需要Visual Studio版本需要与ArcGIS Engine对应,Visual Studio版本的或高或低都不能使ArcObjects SDK for microsoft.Net framework安装成功。下面是各个版本的对照表。如果Visual Studio与ArcGIS Engine不对应,解决办法如下:这里以vs2015与ArcgisEngine10.2安装为例。原创 2023-07-25 13:41:25 · 6049 阅读 · 1 评论 -
基于本地centos构建gdal2.4.4镜像
基于基础镜像构建gdal环境一般特别大,一般少则1.6G,多则2G甚至更大,这对于镜像的迁移造成了极大的不便。究其原因在于容器中有大量的源码文件以及编译中间过程文件,还要大量编译需要的yum库。本文主要通过在centos系统上先构建基础gdal环境,然后将编译好的二进制文件以及动态库拷贝出来。通过DockerFile或者操作容器的方式构建进行。通过这样的方式,镜像700M左右(基础镜像200M+gdal500M)。当然文章末尾还提供压缩的方式导出镜像(大小约250M左右)。原创 2023-03-05 00:21:11 · 1602 阅读 · 1 评论 -
gbk与utf8自动识别
UTF-8是一种变长字节编码方式。对于某一个字符的UTF-8编码,如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的位数,其余各字节均以10开头。UTF-8最多可用到6个字节。0xxxxxxx通过上图我们可以知道,0xxxxxxx是占用一个字节,那么他最大代表0~127(000000000~011111111)。这个也就是ASCII编码区,即utf-8完全兼容ASCII编码。我们知道,一个汉子的3个字节,所以对应。...原创 2022-07-20 20:38:40 · 2772 阅读 · 0 评论 -
基于geotools实现shp图层的合并
对于shp图层的合并功能,也就是说两个shp图层如果出现交集的要合并成一个图斑,对于geotools框架,还没有找到两个shp合并对方法。这里提供了一种思路,供大家参考。原创 2022-05-23 00:17:38 · 1975 阅读 · 3 评论 -
PostGIS源码安装
Postgis源码编译安装教程原创 2022-05-15 18:32:31 · 1657 阅读 · 0 评论 -
GeoTiff格式文件说明
1. 前言在TIFF文件结构详解中,我们得知TIFF是Tagged Image File Format的缩写。Tiff对GeoTiff的支持已写入了Tiff6.0,也就是说,GeoTiff是一种Tiff6.0文件,它继承了在Tiff6.0规范中的相应部分,所有的GeoTiff特有的信息都编码在Tiff的一些预留Tag(标签)中,它没有自己的IFD(图像文件目录)、二进制结构以及其它一些对Tiff来说不可见的信息。用来描述GeoTiff流行的众多影射参数及类型信息,如果每一个信息都采用一个标签那将至少需要原创 2021-12-13 15:18:53 · 15410 阅读 · 2 评论 -
HttpServletResponse 返回图片的几种方法对比
1.前言最近在看geowebcache源码,发现这里有这么一段代码,引起了我的注意,这段代码位于如下:geowebcache->core->org.geowebcache.util.ResponseUtils#writeFixedResponse()具体代码内容如下,public static void writeFixedResponse(HttpServletResponse response, int httpCode, String contentType, Resour原创 2021-12-06 13:24:08 · 5820 阅读 · 1 评论 -
LZW编码与解码的那点事
1. 前言在前面一片文章TIFF文件结构详解里,我们在解析TIF文件中,提到使用了LZW算法。那么LZW算法是什么呢?就让我们揭开它的神秘面纱。2. 什么是LZWLZW算法又叫“串表压缩算法”就是通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩。 LZW压缩算法是Unisys的专利,有效期到2003年,所以对它的使用已经没有限制了。字符串和编码的对应关系是在压缩过程中动态生成的,并且隐含在压缩数据中,解压的时候根据表来进行恢复,算是一种无损压缩。这里涉及到对应关系表,最开始会有一个单个字原创 2021-12-05 13:47:11 · 2401 阅读 · 0 评论 -
TIFF文件结构详解
1. TIFF概述TIFF是Tagged Image File Format的缩写。在现在的标准中,只有TIFF存在, 其他的提法已经舍弃不用了。做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活, 理论上来说, 任何其他的图像格式都能为TIFF所用, 嵌入到TIFF里面。比如JPEG, Lossless JPEG, JPEG2000和任意数据宽度的原始无压缩数据都可以方便的嵌入到TIFF中去。由于它的可扩展性, TIFF在数原创 2021-12-04 03:06:43 · 13546 阅读 · 6 评论 -
基于geotools实现图片的缩放
1. pom依赖参见文章基于geotools实现geotif切瓦片。2. 代码展示package cn.surpass;import org.geotools.coverage.grid.GridCoverage2D;import org.geotools.coverage.grid.io.AbstractGridCoverage2DReader;import org.geotools.coverage.grid.io.AbstractGridFormat;import org.geotoo原创 2021-11-28 19:26:07 · 1022 阅读 · 4 评论 -
基于geotools实现geotif切瓦片
1. 前言本篇文章主要提供了geotools实现瓦片的切割。程序默认的瓦片大小是256✖256。另外,提供了保存png格式和webp格式的瓦片文件。2. pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem原创 2021-11-28 19:20:13 · 5424 阅读 · 9 评论 -
Gdal编译(gdal2.4.3+geos3.7.2+proj4.9.2+Visual Studio 2015)
1. 源码下载本次编译需要gdal,geos和proj三个框架的源码,具体的下载地址如下:序号框架名称源码地址1gdalhttps://hub.fastgit.org/OSGeo/gdal.git2projhttps://hub.fastgit.org/OSGeo/PROJ.git3geoshttps://hub.fastgit.org/libgeos/geos.gitfastgit也算一个国内github的一个加速版本。当然也可以把代码搞到自己的gi原创 2021-11-25 10:49:18 · 1604 阅读 · 2 评论 -
基于PostGis实现空间点抽稀
1. 数据准备1.1 创建测试表格CREATE TABLE "public"."pointset" ( "geom" "public"."geometry");1.2 创建数据原创 2021-08-23 23:21:01 · 2818 阅读 · 3 评论 -
GeoTools入门(九)-- DE-9IM
1. 概述在前面章节GeoTools入门(六)-- 查询那点事中,我们主要介绍了GeoTools关于shape查询的一些功能。作为一个地理信息处理框架,拓扑关系的处理是一种非常重要的功能。在GeoTools中,我们通过ECQL.toFilter()传递一个WKT字符串(RELATE)就可以实现DE-9IM 的查询:Filter filter =ECQL.toFilter("RELATE(geometry, LINESTRING (-134.921387 58.687767, -135.303391 59原创 2021-06-29 18:30:50 · 1536 阅读 · 3 评论 -
GeoTools入门(八)-- (SLD)样式处理
1. 样式概述样式(Style)犹如一盒蜡笔,使我们把地图绘制的更好看。实际上,制图的重点是使用地图进行交流,选择要包含的信息,严格删除偏离主题的信息等等。有时候,制图必须遵守制图标准,例如线条必须有多粗,水用什么颜色表示。所以制图标准可以为我们省去大量的时间去发挥创造力去展现地理要素信息。样式层描述符 (SLD) 就可以帮助我们实现这个需求,该文档为我们以 Java 对象的形式捕获的样式定义了一个很好的数据结构。1.1 控制渲染过程这是使用 GeoTools制作地图的核心。你可以想象一个大漏斗把原创 2021-06-29 01:23:51 · 5316 阅读 · 5 评论 -
GeoTools入门(七)-- 操作栅格数据
1. 概述在前面的章节,我们主要讲述了GeoTools对于矢量(主要是Shape)数据的操作。在地理信息系统的世界里,还有一类很重要的数据类型,那便是栅格数据。虽然GeoTools对于栅格数据的支持并没有gdal强大,但既然他作为GeoTools的一部分,我们还是又必要了解一下它。2. GridCoverageGeoTools对于栅格数据的支持主要又由GridCoverage实现的。作为一名程序员,我们习惯于处理诸如JPEG、GIF或者PNG等格式的栅格数据。在地理空间方面,有一个Coverage个概原创 2021-06-29 01:16:00 · 5844 阅读 · 4 评论 -
GeoTools入门(六)-- 查询那点事
1. 查询概述作为一名程序员,每天都在开发着大量的CRUD,而查询在CRUD中占有大多数。在前面的文章里介绍了对于shp的创建和修改i,今天我们就聊一聊GeoTools里的查询,准确的说是GeoTools对shp的查询。好了,我们先看一下GeoTools对于shp查询的基本语法结构:SimpleFeatureSource source = dataStore.getFeatureSource(typeName);FeatureType schema = source.getSchema();Filt原创 2021-06-29 01:11:24 · 5800 阅读 · 9 评论 -
GeoTools入门(五)-- CRS操作
1. CRS概述CRS全称为CoordinateReferenceSystems,中文叫坐标参考系统。它是GeoTools中的一个类,也是我们这次讨论的重点。在前面我们谈到了JTS库,了解到了数据模型,在这个基础上我们定义了几何体。那么什么是几何体呢?长方形、正方形、长方体等等等等,我们可以求他的周长、面积、体积。然而,在实际生活中,他们仅仅是我们想象的一个物体,并没有任何实际意义。只有当你给他附加一个单位,那么它才具备实际的意义。然而,对于一个地理几何体,我们还需要知道他们的位置。那么记录这些信息的数原创 2021-06-29 00:45:49 · 9083 阅读 · 4 评论 -
GeoTools入门(四)-- 创建shape要素
1. 几何体的创建在上一节中,我们通过一个csv文件转shp的示例展示了如何去创建一个点状的shp文件。然而在实际工作中,点要素只是几何体要素的一小部分,他还有线、多线、面、多面、曲线等多种几何体。那么他们都是怎么创建的呢?我们今天来探究一下他的真实面目。2. WKT简介因为GeoTools支持WKT创建几何体,那么我们有必要先简单了解一下什么是WKT。WKT(Well-known text)是一种文本标记语言,用于表示矢量几何对象、**空间参照系统**及空间参照系统之间的转换。它的二进制表示方式,亦原创 2021-06-29 00:32:49 · 3964 阅读 · 2 评论 -
GeoTools入门(三)-- 初识Shape文件
1. Csv2Shp在GeoTools官网用户向导的第二个示例Feature Tutorial主要将一个csv文件的点要素转换为shp文件。之前我们通过arggis等去创建shp文件已经司空见惯,而这次能通过代码创建一个shp文件,真是一件令人兴奋地事情。好了,已经迫不及待的寻找操作shp的方法了。至于官网的具体描述,感兴趣的可以详细阅读以下。我们还是以使用为主,就不做翻译式的描述了。2. 文件准备我们就按照官网提供的测试数据进行编写,将下面的代码复制到一个csv文件中。LAT, LON, CITY原创 2021-06-29 00:28:06 · 1870 阅读 · 5 评论 -
GeoTools入门(二)-- 快速入门
1. 前言本系列文章主要参考GeoTools官网的13个示例GeoTools Tutorials,做一简化阐述以及扩展。在第一节Quickstart中,我们主要讲述一下Maven Quickstart这个示例讲解,其他的实例大家可以参照官网做进一步学习。另外,为了降低学习成本,本系列课程的摒弃了QGIS、UDig等可视化工具,而是通过本篇文章提到的JMapFrame框架展示处理结果。2. 数据准备本实例主要用到的数据为官网提供的实例数据1:50m Cultural Vectors。3. pom文件原创 2021-06-29 00:22:38 · 5021 阅读 · 5 评论 -
GeoTools入门(一)-- 源码构建
1. GeoTools源码构建首先我们要明白为什么要进行源码构建?有人说为了学习优秀的代码,并于调试,做笔记。也有人会说为了满足项目的需求进行对源码的修改。我想,对于第一点还是很多人的想法,但是第二点,不仅需要身后的代码功能,但是一般也不建议这么做,因为如果要升级版本,这也算是灾难级别的影响。那有没有其他办法吗?根据代码的特性,合理的运用java的封装、继承和多态的特性进行改造,说白了就是要学会使用匿名内部类。今天我们不是去研究怎么改造代码,而是要搭建源码环境。构建不同版本的GeoTools工具类。免于原创 2021-06-29 00:17:53 · 2554 阅读 · 4 评论 -
Web地图服务规范(WMS、WMTS、TMS)简析
Web地图服务规范(WMS、WMTS、TMS)1.概况Web地图服务规范包括WMS(网络地图服务)、WMTS(网络地图瓦片服务)、TMS(瓦片地图服务)等。WMTS服务和WMS服务都是由开发地理信息联盟(OGC)指定。其不同在于,WMTS服务采用缓存技术能够缓解WebGis服务器端数据处理的压力。TMS服务由开源空间信息基金会(OSGEO)指定。TMS与WMTS服务的差异主要体现在:TMS是纯Restful,而WMTS可以有KVP、SOAP和Restful三种。TMS瓦片是正方形的,而WMTS是矩原创 2021-04-15 17:10:29 · 28959 阅读 · 18 评论