- 博客(72)
- 资源 (14)
- 问答 (2)
- 收藏
- 关注
原创 吉他初学者学习网站搭建系列(1)——目录
利用周末时间搭建一个兴趣驱动的小网站,帮助吉他初学者更好地学习,目前已集成乐谱滚动播放、查和弦、调音、节拍器、制作乐谱等功能,欢迎使用
2023-11-25 23:05:28 979
原创 图片标注编辑平台搭建系列教程(3)——画布拖拽、缩放实现
标注平台很关键的一点,对于整个图片为底图的画布,需要支持缩放、拖拽,并且无论画布位置在哪里,大小如何,所有绘制的点、线、面的坐标都是相对于图片左上角的,并且,拖拽、缩放,点、线、面的坐标不改变。要实现这一点,其实就是理解这个画布的坐标系,以及变换矩阵。
2024-03-28 22:32:21 537
原创 图片标注编辑平台搭建系列教程(2)——fabric.js简介
fabric提供了二维图形编辑需要的所有基础能力,包括:数据管理、图形渲染、图形编辑和事件监听。其中,图形编辑可以通过事件监听和图形渲染来实现,所以可以弃用。下一章,讲讲图片标注中,画布的拖拽、缩放涉及的坐标系相关知识。
2024-03-26 22:40:52 283
原创 图片标注编辑平台搭建系列教程(1)——目录
这个系列教程,我将结合自己的工作经验,以及碰到过的难点问题,教大家如何构建一个比较完善的标注系统。涉及领域包括图形学和数学,语言主要是JavaScript。
2024-03-25 21:52:26 341
原创 源码学习系列——green-gis-server
源码学习系列——green-gis-server,仓库:https://github.com/ly15927086342/openSourceLearning
2022-09-03 17:54:08 633
原创 万语千言,不敌一纸情书
背景2.14就是情人节了,不知道各位读(直)者(男)想到了什么样的礼物,或者是还没有女盆友。。想来和女盆友在一起已经五年多了,想当年没少给她写情书。尽管后来这一个习惯断了,但是情书这种形式还是很有意义。现在作为一名理工男,想用技术来实现一个电子情书。我给这个项目起了一个挺浪漫的名字:一纸情书。实际上这个项目是去年疫情期间,我和女盆友异地,我花了一天时间做出来送给她的,她还挺喜欢的。网页链接:[https://railwayhs.cn/loveletter](https://railwayhs.c
2021-02-10 15:13:02 2588 13
原创 rasterio实用教程(5)——解决同一掩膜提取图像范围不一致问题
文章目录背景解决方案背景不同数据源做重采样或者投影变换后,用同一掩膜进行提取,往往会出现范围不一致的情况。这里说的范围不一致是指图像的上下左右平面坐标不完全一致,会出现细微的差别,导致栅格像素无法完全重叠。本文教大家如何解决该问题。解决方案我调研过rasterio,发现并没有解决方案。calculate_default_transform函数无法固定输出图像范围,只能固定输入图像范围,而输入图像因为不同源,往往是没法固定的。我的解决方案是引入arcpy包。arcpy是arcmap中的toolbo
2021-02-09 23:48:05 5285 4
原创 rasterio实用教程(4)——坐标系转换
文章目录背景实战背景在测绘领域中提到的坐标系有两种,一种是地理坐标系,用经纬度高程来表达;另一种是投影坐标系,即经过投影变换后的平面坐标系,通常是xy表达。坐标系转换有四种情况:地理坐标系转投影坐标系(也叫大地坐标正算)投影坐标系转地理坐标系(也叫大地坐标反算)一种地理坐标系转另一种地理坐标系一种投影坐标系转另一种投影坐标系本文的坐标系转换理论上涵盖以上四种情况。实战import numpy as npimport rasteriofrom rasterio.warp impor
2021-02-09 23:35:48 2279
原创 rasterio实用教程(3)——图像重采样
文章目录背景实战背景图像重采样是指改变图像的分辨率,通常指分辨率变小,即像素的宽高变长,是科研常用的操作。比如我们手头只有300m分辨率的图像,但是为了统一不同数据源的数据精度,需要统一为1000m分辨率,这时候就需要重采样。实战import numpy as npimport rasteriofrom rasterio.warp import calculate_default_transform, reprojectfrom rasterio import crsdataset = r
2021-02-09 23:14:16 2092 11
原创 rasterio实用教程(3)——图像掩膜提取
文章目录背景实战背景掩膜提取是指基于矢量面范围内的栅格像素值,并输出为新图像的操作。因为涉及矢量面数据获取,所以需要引入fiona包,未安装的读者请自行安装。实战import fionaimport rasterioimport rasterio.maskmask = 'D:/A_2021寒假/城市群相关/Data/0Slab中国基础地理数据/China/China_single.shp'src_img = 'input.tif'dst_img = 'output.tif'# 读取
2021-02-09 22:52:25 3058 8
原创 rasterio实用教程(2)——图像镶嵌
文章目录背景实战注意事项背景图像镶嵌指讲几张栅格图像镶嵌到同一张图像中,也就是拼接图像。栅格图像是有明确的坐标系和空间范围的,因此待镶嵌的图像必须有一样的地理坐标坐标系或者投影坐标系,否则是无法镶嵌在同一坐标系中的。本文使用的是gdal,而不是rasterio,但rasterio是基于gdal的,本文默认你已经安装好了gdal,没有装的请移步我的geopandas安装教程。实战from osgeo import gdal, gdalconsttifPath = './data/' # 待融合的
2021-02-09 22:29:04 1241 1
原创 rasterio实用教程(1)——图像读写
文章目录背景安装简介基操图像读取图像写入展望背景最近在做一些和图像处理相关的工作,涉及利用rasterio来实现遥感影像的镶嵌、重采样、重投影等,故开一个系列记录下来。rasterio是栅格图像处理的python包,依赖GDAL,如果你想了解如何二安装GDAL,可以转到我的另一篇博文。安装在GDAL安装完成的基础上,到这个网站下载对应版本的rasterio包,然后运行以下命令安装whl文件,即可安装好rasterio。pip install xxx.whl简介rasterio的完整接口可以
2021-02-09 22:02:42 4145 1
原创 python3.7+win10环境下,geopandas的安装教程
文章目录环境下载wheel文件安装查看是否安装成功其他geopandas的安装需要gdal、Fiona,如果版本不一致,很容易安装失败,如图。网上有很多教程,如Anaconda等,但是我试了都不行,因为我的电脑以前用c++编译过gdal,还装过osgeo等,所以版本比较乱,容易出问题。今天就给大家出一个100%成功的安装方式!环境python 3.7.0 64bitwin10下载wheel文件网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/在该
2021-01-11 13:54:49 1992 8
原创 2020,非专科前端的自我救赎
目录实习秋招成果1. 约球online小程序的2.0版本2. 百度个性化地图及遥感图瓦片下载合成器3. 通用爬虫框架4. 基于栅格图像的城市边界识别软件5. BikeMap6. SharePics结语无意间看到CSDN的年度征文活动,想借这个契机写写我2020年的经历。本人是某高校地信(GIS)专业的学硕,现在已经是研三了。地信这个专业算是一个交叉学科,属于测绘的一个分支。理论上无非是一些空间分析或者制图综合,技术方面就是一些数据库和可视化等。就开发这个层面而
2021-01-10 21:43:57 361
原创 基于行政区划的百度个性化地图及遥感影像栅格瓦片下载合成器(可叠加行政区划,适合用作科研遥感影像附图)
文章目录背景背景我们知道,地图分为栅格和矢量两种。以往基本都是栅格地图,后来随着技术发展和地理数据不断积累,矢量地图慢慢开始流行。现在网络上看到的百度、高德、腾讯地图等,基本都是基于矢量切片来显示的,而遥感卫星影像,自然还是栅格切片。百度地图个性在线编辑器旧版...
2020-11-23 17:28:13 2424 8
原创 通用型静态网页爬虫框架介绍region-based-crawler——以赶集网租房为例
文章目录痛点简介特点适用范围爬虫原理案例总结痛点说下为什么写这么一个爬虫框架?我们用python爬取静态页面,其实并不难,用bs4之类的库就可以基本解决节点解析取值的功能,我们往往觉得麻烦的地方在于:每次爬不同的网站要重新写一整套包括解析、存储、多线程、容错、日志等功能的爬虫,有没有一套框架,可以把所有可复用的功能封装起来,只把解析这部分工作丢给开发者呢?而把相同的部分封装,不同的部分暴露给开发者,其实本身就映射了某一种设计模式,这种设计模式叫做模板方法设计模式。该设计模式将相同的功能和流程控制放
2020-11-10 15:56:39 288
原创 【约球online】小程序构建系列教程第三话——地图点聚合功能实现
文章目录前言需求聚合算法具体实现调用时机前言用过微信小程序的map组件开发地图的同学,应该知道mapcontext这个对象的api相当少,功能远不如百度、腾讯、高德地图的JavaScript API。如果要实现聚合、热力图等,都必须自己动手实现。地图开发最常见的一个需求就是展示点要素,如果需要展示大量的点要素,如果全部展示,不仅渲染上存在很大的开销,而且也会存在图标压盖等问题,影响体验,因此就需要有点聚合的功能,并且随地图缩放来自动重算。这篇教程就交大家如何实现一个通用的点聚合功能,并在文末附上源码
2020-10-11 22:51:42 2284 6
原创 【约球online】小程序构建系列教程文章目录
目录文章导航项目简介关于教程文章导航【约球online】小程序构建系列教程第一话——技术选型及架构设计【约球online】小程序构建系列教程第二话——合理使用websocket【约球online】小程序构建系列教程第三话——地图点聚合功能实现项目简介约球online小程序是个人开发的一款实时约球小程序,属于个人主体类小程序,服务类目为信息查询和报名/预约。目前正常运营,暂未做推广。小程序码如上图所示,感兴趣的朋友可以扫码体验。该小程序整包代码600+k,基于uniapp框架开发,主要技术是v
2020-10-11 12:00:58 540
原创 利用ssh config管理多个git
文章目录背景生成多个ssh-key在远程仓库添加ssh-keyconfig文件配置检测ssh配置背景用过github的都知道,可以通过两种方式获取远程repo。第一种是ssh,第二种是https。选择ssh是更安全的一种方式,而使用ssh需要在本地生成公匙和私匙,然后在远程仓库配置公匙,才可以连接成功。通常情况下,我们只需要在本地生成一个ssh-key即可,但是如果我们有多个远程仓库账号,比...
2020-05-05 15:05:00 1768
原创 微信小程序图片内容审核功能云函数+小程序端代码完整实现【填坑】
文章目录背景实现技术栈小程序端基本思路主要代码云函数思考主要参考背景开发微信小程序的同学如果涉及了社交类目,应该都会碰到由于缺少内容审核机制导致不过审的情况。微信小程序官方实际上提供了图片、文本、视频的审核接口,可以通过https和云函数两种方式调用,对于一些小项目的前端开发者而言,云函数是非常方便的一种选择。一般来说,文本检测的接口没什么难度,比较容易出问题的是图片检测的实现(视频接口本人没...
2020-05-02 18:45:55 3860
原创 手把手教你搭建一个【文件共享平台】系列教程目录树
本文是手把手教你搭建一个【文件共享平台】系列教程的导航页,方便读者快速找到需要的博文。第一话 你想知道的,这里都有第二话 环境搭建第三话 Koa初步使用(路由、静态文件、session、跨域)第四话 node.js与mongodb的交互,封装基本操作第五话 koa后端路由实现用户基本功能模块第六话 koa后端路由处理文件读写+CURD第七话 node后端生成缩略图(gm库使用)未完...
2020-03-17 11:01:12 1391 3
原创 手把手教你在windows下frp内网穿透,访问内网服务不是梦
文章目录背景技术列表方案frpwinsw具体实施服务端客户端添加windows服务总结背景之前对内网穿透一无所知,后来听到这个名词,才发现内网穿透的魅力。什么是内网穿透?内网穿透就是让外网电脑能够找到处于内网的电脑,从而相互通信。最常用的例子就是让外网可以访问你内网的web服务。本篇文章就完整地教大家如何在windows环境下实现多个二级域名的内网穿透,并且开机自启动该服务。看完该教程,你仅...
2020-01-25 19:54:09 8457 3
原创 uniapp开发h5页面实现图片预加载功能
背景h5页面,很多时候存在大量的图片、动画,这些都需要下载大量的静态资源,如果我们直接打开页面,会发现部分图片正在加载或者还未下载的现象,严重影响体验效果。为了解决这个问题,我们需要进行图片预加载的操作。什么是图片预加载?简单来说,图片预加载就是在页面渲染前把所有的图片、GIF等静态资源全部下载完毕,使得页面渲染后直接打开缓存的图片资源,从而减少卡顿的问题,优化用户体验。那么如何在h5中...
2020-01-24 17:24:44 11595 1
原创 uniapp开发h5页面,实现背景音乐播放+暂停
背景我们平常见到的h5页面,大多数都有背景音乐,打开页面自动播放,该文教大家如何利用uniapp开发h5,实现内置音乐播放、暂停,以及音乐icon的旋转和暂停动画。创建音乐对象代码如下:var innerAudioContext = uni.createInnerAudioContext();innerAudioContext.autoplay = true;//自动播放innerAu...
2020-01-24 17:03:38 12066 7
原创 解决uniapp开发h5页面时使用canvas字体显示大小有误问题
背景用uniapp开发h5页面,如果你使用canvas画图,可能会用到canvasContext.setFontSize()这个函数,经过测试,如果设置的size是小数,那么在csdn、知乎等内置浏览器中访问,字体大小是不正确的。解决方法用Math.round()等取整函数,将小数转为整数,再赋值。建议最好使用canvas中,涉及数字的都取整,不要用小数,以免出现其他问题!...
2020-01-04 16:47:25 2537
原创 OSM路网数据(xml或json格式)如何转为shapefile格式
获取OSM路网数据获取OSM路网数据的方法参考这篇博文,方法我试过,确实可用。网上基本上都是这篇文章的转载,说明获取OSM路网数据大多数人应该都可以找到方法,并获取到。但是,从来没有一篇博文教你怎么把xml或json格式的OSM路网数据转为shapefile,这就很鸡肋了。拿到数据不能用是怎样一种体验?。。我自己google搜了一下,找到了一个很方便的方法注意涉及国家边界的,还是不要用OS...
2020-01-04 14:36:11 8363 21
原创 手把手教你搭建一个【文件共享平台】系列教程第七话——node后端生成缩略图(gm库使用)
文章目录本话概要为什么要生成缩略图如何生成缩略图安装GraphicsMagick安装gm node包实现代码下期预告本话概要上一讲我教大家如何利用koa路由处理文件和文件夹,这一讲,我将教大家如何为上传的图片生成缩略图,并存入本地和数据库。为什么要生成缩略图首先,生成缩略图的意义在于可以让前端更加快速地渲染出展示图片,通常是卡片的头部,图片文件以缩略图的形式展示。点击后可预览,这时候返回原...
2019-12-28 02:24:54 1106 4
原创 手把手教你搭建一个【文件共享平台】系列教程第六话——koa后端路由处理文件读写+CURD
文章目录本话概要初识文件管理系统文件管理路由实现数据库文件表设计file.js结构单/多文件上传文件下载文件删除分页获取文件夹下的所有文件信息下期预告本话概要又见面啦~9102年马上就要结束了,我要抓住时间的尾巴多出几篇博文!!等待候补车票兑现的第n天????本期涉及的主要内容包括:koa后端处理文件及文件夹的读写和增删改查功能。初识文件管理系统文件共享平台的核心就是文件云管理。需要满足多用户...
2019-12-28 01:04:29 717 3
原创 手把手教你搭建一个【文件共享平台】系列教程第五话——koa后端路由实现用户基本功能模块
文章目录本话概要用户表设计用户功能模块注册登陆登出返回所有用户信息完整代码下期预告本话概要最近闲得发慌,赶紧写点博客打发时间。。这期我将教大家【文件共享平台】的后端用户路由模块如何设计,包括用户表设计、用户注册、登陆、登出基本功能,以及信息查询。该模块不仅仅是该平台用到,基本所有需要记录用户信息的系统都会涉及,而本期仅仅是教大家最基础的入门知识,欢迎指正!用户表设计我们在第四话已经教大...
2019-12-24 23:55:17 401
河北省各行政区划遥感图(来源百度地图)
2020-12-22
北京市各行政区划遥感图(来源百度地图)
2020-12-22
Qt中一个类moveToThread后,线程结束后如何自动析构?
2019-06-20
qt引用gdal库出现问题
2017-10-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人