- 博客(71)
- 收藏
- 关注
原创 Geotif.js读取tif元信息相关问题记录
虽然但是没有GDAL_METADATA的tif,用gdalinfo是可以读取到元信息的,就不知道这个GDAL_METADATA是咋弄进去的,同样的数据同样的脚本生成的cog有的有有的没有。起因是使用OL加载COG时,出现了不指定sources的max就一片黑的情况,所以需要读取tif真实波段值范围而不是靠比例设置颜色了。乍一看简直完美,但是用了一下发现读取的贼慢,看了一下这大哥还做了不少围绕geotifjs的工作。所以这工具大概是使用nodejs在后端读取用的。问题暂时记录到这里,有时间再研究。
2023-09-05 08:59:14 1187
原创 openlayers渲染rgb三波段cog时达到类似rgba的效果(去掉黑底)
array后长度为4的数组,分别表示输出的rgba波段。前三个波段使用tif的三个波段,第四个透明度波段使用case表达式,将波段123都是0的设为0,其他为1,实现了黑底变透明。为了能在前端显示透明效果,之前是用python处理数据,给它加个透明度波段。图是arcgis渲染成rgb的,由于没有透明度波段,底下是黑的。后来研究了一下ol的样式表达式,可以直接在前端去掉黑底。
2023-08-04 15:05:21 1199
原创 vue3 element-plus @element-plus/icons-vue安装运行报错Could not resolve “@vue/shared“
rt
2022-12-29 10:35:18 11966 4
原创 遥感影像(tif,img)概览/金字塔(overviews)的创建与清除
使用python环境下的gdal进行遥感影像(tif,img格式)概览(overviews)的创建与清除,前边是测试过程,结论在最后。
2022-12-11 11:51:10 2451 1
原创 Vue2 TS类组件开发的vue3版本迁移方案
vue-class-component和vue-property-decorator被放弃了,vue3如何迁移vue2的类组件方式开发
2022-07-13 16:34:12 1328 5
原创 Vite+pnpm构建Vue3+TypeScript+vue-class-component+Vue router+pinia+ESLint(prettier)+sass
RT
2022-06-14 17:30:36 3007
原创 wfs获取geoserver矢量图层字段信息
对于ArcGIS server的mapserver,可以方便的获取图层字段信息,如下http://cache1.arcgisonline.cn/arcgis/rest/services/SimpleFeature/ChinaBoundaryLine/MapServer/0?f=pjsongeoserver的要素图层,可以通过WFS服务的DescribeFeatureType请求获取字段信息(范围,坐标参考等信息可以通过wms的GetCapabilities)例子图层信息如下请求地址http
2022-05-23 10:18:48 857
原创 GDAL使用OpenCL开启GPU加速
需要GDAL源码OpenCLVisual StudioSQLite(可选)PROJ(可选)1、查看自己电脑的显卡配置支不支持OpenCL方法很多,可以自行百度。我是下载TechPowerUp GPU-Z(点击链接进入下载页)查看OpenCL项目前有没打勾2、安装OpenCL可以使用Intel,Nvidia官网都能下,也能用CUDA里带的。我用的Intel家的Intel® SDK for OpenCL,选择符合你本地系统的SDK下载(需要自行注册账号),安装。安装过程没啥需要注意的,
2022-05-17 15:28:57 2530
原创 Openlayers使用Proj4js坐标转换cgcs2000分带(zone)投影的问题
问题源于使用4528投影按照官网示例定义view时地图一片空白,于是开始了对Proj4js和投影转换的抽丝剥茧,这里记录下了解的知识和最后的结论。官网示例和Proj4js的使用OL示例见wms-image-custom-proj这里简单介绍下proj4,我认知的proj4是基于一些约定参数组成的用于定义坐标参考的一组参数,和WKT相比更简约,省略了WKT里的完整参数定义。比如4528的wktPROJCRS["CGCS2000 / 3-degree Gauss-Kruger zone 40", .
2022-05-12 12:33:45 3313 4
原创 Geoserver图例解决中文乱码 修改样式
我是传了个样式SLD上来,预览图例的时候发现中文都变成了小方块经过一番研究,发现这个图例是每次现请求geoserver现生成的,可以通过设置请求参数里的字体为中文字体来生成中文图例如http://localhost:8080/geoserver/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&FORMAT=image/png&WIDTH=20&HEIGHT=20&LAYER=basic-platform:crops_typ
2022-05-07 16:58:58 1353 2
原创 Geoserver一些优化GetCapabilities的设置
geoserver可以通过GetCapabilities接口获取wms图层的原始信息,比如图层列表,图层的范围等。但是随着发布的图层数量增加,这个返回的结果会很大,这里记了一些优化方法以减小其体积。设置空间参考列表不设置的话,你会看到这么一大堆无用信息设置方法如下这里直接填写需要的空间参考的SRID需要的话也可以同时勾选Output bounding box for every supported CRS,选择输出所需坐标系的图层边界。效果如下十分方便加载图层后设置extent或者缩放
2022-04-29 11:03:17 1183
原创 使用TS装饰器优化VUE环境变量获取
在vue工程里使用env环境配置文件设置的全局变量,一般都是通过process.env.变量名获取,这里结合使用TypeScript的装饰器实现了一种更优(zhuang)雅(bi)的写法.env文件NODE_ENV = developmentVUE_APP_ServerHost = http://localhost:8080/geoserver/VUE_APP_ServerName = basic-platform装饰器定义import Vue from 'vue';/** * 获取全局
2022-04-28 14:41:17 696
原创 OpenLayers Popup(浮窗)的Vue组件
根据openlayers官方的popup实例改的,使用Vue2+TS,功能比较简单OLPopop.vue<template> <div ref="container" class="ol-popup"> <a href="#" ref="closer" class="ol-popup-closer"></a> <slot></slot> </div></template>impo
2022-04-25 17:04:16 1194
原创 解决cesium widgets.css is not exported from package
cesium使用ES引入,需要引入样式import "cesium/Build/Cesium/Widgets/widgets.css";在版本1.92.0会出现这个错误解决:在node_modules里找到cesium的package.json文件,在exports里增加导出widgets.css "exports": { "./package.json": "./package.json", "./widgets.css": "./Source/Widgets/widge
2022-04-20 08:43:43 3664
原创 WebGL学习之路
在这里记录一下个人的WebGL学习过程 作为GIS开发工程师四年,技术栈和项目经验都有了一定积累,感觉到了一个瓶颈。经过一些讨论和思考,认为可以向两个方向发力,后端方向的空间大数据处理,前端方向的三维。后端方向苦于以往接触的都是面向政府单位的项目,数据量和并发量都不大,后端能力也比较薄弱,所以先学习前端方向的三维开发。 GIS领域的三维开发有两个方向,一种基于桌面端三维引擎如UE、unity,另一种基于Web.
2022-04-07 21:16:51 5290 2
原创 GeoTiff的元数据问题记录(已解决)
还没有解决,先记一下,以后再研究用GDAL生成了个cog,生成中使用band.ComputeStatistics计算了波段信息,现在用gdal.Info可以获取到波段的最大最小值信息但是geotif.js获取不到元信息。geotifjs源码里解析主函数应该是这个我想要的那个tag,GDAL_METADATA,对照如下结合查到的资料,应该是保存了需要的元信息的,这些信息作为IFD保存在了tif文件里,geotifjs在parseFileDirectoryAt函数里读取IFD然而读不到。所
2022-03-11 15:01:29 695
原创 JSTS介绍和功能简单示例
JSTS是一个符合OGC标准的,包含空间拓扑功能的JavaScript类库。和turf类似,区别在于,JSTS是通过原始JTS Java 源代码翻译来的,保留了JTSAPI;而turf来自MapBox。个人感觉JSTS的文档不如turf明了(一些网址还404了),但是可以直接适用OpenLayers(以下简称OL)的几何对象,对JTS API熟悉的话在OL工程里可能会更方便。JSTS的参考文档比较分散,GitHub库里有比较全面的简介,这个地址里有一些简单的示例,JTS API直接用的JavaAPI,.
2022-03-08 10:08:46 4333
原创 Function.prototype.bind
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bindconst module = { x: 42, getX: function() { return this.x; }};const unboundGetX = module.getX;console.log(unboundGetX()); // The function gets inv.
2022-03-03 17:49:49 61
原创 Vue自定插件的简单示例(ts)
编写插件内容// plugin.tsimport Vue from "vue";function sayhellowFun(params: any) { console.log("hellow " + params);}export const sayhellowPlugin = { install: function (vue: typeof Vue, options: any): void { vue.prototype.sayhellow = sayhellowFun;
2022-03-02 17:18:02 646
原创 使用zip.js读取压缩包内文件名
zip.js除了能读取还能写入zip,这里只记录读取文件名的操作正常使用npm下载到项目里如果直接使用import * as JSZip from “@zip.js/zip.js”;在当前(2.4.5)版本会报错这里如下引入const JSZip = require("@zip.js/zip.js/dist/zip.min.js");测试方法// 获取zip内文件名export async function getZIPFileNames(file: Blob | File | .
2022-03-02 13:36:30 3196 3
原创 linux查看正在运行的nginx
服务器装了N各nginx,这时候要改配置,需要先找到正在用哪个,再顺着改运行ps -ef|grep nginx补充知识,从左到右各列分别为UID //用户ID、但输出的是用户名PID //进程的IDPPID //父进程IDC //进程占用CPU的百分比STIME //进程启动到现在的时间TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。CMD //命令的名称和参数所以看着一堆,主要的.
2022-02-25 15:05:36 8931
原创 OpenLayers风场图
用到的插件是ol-wind,作者除了Openlayers风场插件外还有其他平台的,详见wind-layer获取数据git里有如何获取数据的介绍,这里记一下我的实践过程。数据来源是nomads,见下图。git上curl命令里的下载地址现在好像不好使了,所以我用的是GFS 1.00 Degree,点击grib filter可以进入后续的筛选。一路往后点,到这个页面上面应该是一些参数啥的,总之就照着git上curl命令里的参数选或者修改curl命令里的数据源,把filter_gfs.pl改.
2022-02-25 11:52:44 2271 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人