
Python
文章平均质量分 57
GIS开发者
辽宁工程技术大学硕士研究生毕业,长期从事WebGIS、移动GIS开发工作,全栈 (前端、后端、Android、小程序、H5),现任某地理信息公司研发部经理,叩叩965894265
展开
-
从PostgreSQL同步数据到Elasticsearch
之前用Elasticsearch进行数据查询的方式很少,最近在进行Elasticsearch相关的查询操作。这里记录一下如何使用python语言,将PostgreSQL数据库中的数据同步到Elasticsearch中,方便进行高效的查询。原创 2024-05-08 20:07:23 · 1240 阅读 · 0 评论 -
GDAL与PostGIS使用的PROJ库版本冲突问题解决方案
安装PostGIS后,在进行GDAL开发时,出现Proj库冲突问题,从错误里可以看出,GDAL在调用PROJ时,遇到了版本冲突的问题。原创 2023-05-16 20:30:00 · 2023 阅读 · 0 评论 -
python实现给pdf文件加骑缝章效果
骑缝章是在合同上经常看到的一种盖章方式,如下图所示。现在电子合同的应用已经越来越广泛,合同上如何实现骑缝章的效果 ,也是有必要研究一下的。本文几乎Python的方式,讲述了如果对印章图片进行处理,然后,实现给Pdf文件加上骑缝章的效果。原创 2023-01-16 11:23:48 · 5465 阅读 · 1 评论 -
Python+GDAL面数据中心点提取为单独shape文件,并复制属性数据
最近需要使用GDAL实现shape面数据批量将中心点提取为点shape文件,并复制所有的属性信息。整体的逻辑不是非常复杂,但是在网上现成的代码也找不到。原创 2022-12-27 18:17:37 · 705 阅读 · 0 评论 -
基于PyTorch和Fast RCNN快速实现目标识别
Faster RCNN,相对于R-CNN在结构上,Faster RCNN已经将特征抽取(feature extraction),proposal提取,bounding box regression(rect refine),classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。相对于TensorFlow更加轻量化,更适合于科研和小型项目的使用。这里介绍一个简单的例子,基于原创 2022-07-05 18:02:35 · 1321 阅读 · 0 评论 -
使用python-docx实现对word文档里的字符串、图片批量替换
python-docx 是用于创建和更新Microsoft Word(.docx)文件的Python库。它的API文档也非常简单,看完之后,只能简单理解一些基础用法。最近碰到一个需求,需要对word模版里的内容进行统一替换,替换内容比较多。从网上查到了很多种基于python-docx 的做法,但都有一定的缺陷,不能适用于各种场景。网上的做法整体是两种:相对比较好的解决办法:对runs中的内容进行一定程度的拼接,但是有缺点,部分文字的样式可能会消失,可以尽量让每一段文字的样式保持一致来避免这种情况。...原创 2022-07-05 14:31:58 · 7087 阅读 · 3 评论 -
ArcGIS Python工具箱集成第三方模块的解决办法
在ArcGIS中开发Python工具箱时,引入ArcPy开发一些空间处理工具和逻辑是没有问题。但是,在更复杂的场景下,就需要依赖其他的Python模块来实现,例如读写word、查询PostgreSQL数据库等。在Python工具箱的代码里引入其他Python模块时,语法检查中,会报下面的错误...原创 2022-06-30 15:23:11 · 1826 阅读 · 6 评论 -
python使用scrapy爬取百度地图POI数据
前面已经介绍过使用scrapy爬取百度图片内容,这里介绍一下通过百度地图提供的接口爬取POI数据,并且保存到postgresql数据库中。图片爬虫与数据爬虫处理的方式还是有一些不一样的。在百度地图开放平台上可以找到相关的地点检索的文档,关于接口的使用方法有很详细的描述,主要还是通过关键词和POI分类进行检测,注意不同的关键词可能得到的数据有重复,注意通过uid来去重。具体的创建项目的过程,前面的博文里已经讲过,这里只展示一下核心代码请求数据代码farm.pyimport scrapyimport原创 2022-04-27 17:40:55 · 2457 阅读 · 0 评论 -
使用scrapy爬取指定内容相关的百度图片
基于Python+Scrapy快速搭建一个百度图片的爬虫项目原创 2022-03-30 15:22:53 · 2316 阅读 · 8 评论 -
python 开发GDAL报Cannot find proj.db错误
问题今天在用python调用GDAL进行裁剪时,出现如下问题:ERROR 1: PROJ: proj_create_from_database: Cannot find proj.dbERROR 1: Failed to process SRS definition: EPSG:4326有时出现:ERROR 1: PROJ: proj_create_from_database: \postgis-3.1\proj\proj.db lacks DATABASE.LAYOUT.VERSION.MAJ原创 2021-08-13 18:17:30 · 5419 阅读 · 3 评论 -
python 使用GDAL实现栅格tif转矢量shp
前言目前有一张tif格式的栅格影像,需要在web地图上进行展示,使用动态切片WMS的方式,渲染速度比较慢,而且大的时候会出现模糊的问题。并且后面需要做多期影像的切换,渲染与加载效率也值得关注。计划是使用栅格转矢量的方式,将栅格数据转为矢量shp文件,然后进行矢量切片,使用Mapbox进行前端动态渲染。在网上查询了很多资料,有人说使用d3-contour在node.js中生成或者使用rasterio在python中进行转换,整体过程都比较麻烦,很不易实现。最终选定了使用GDAL进行栅格转矢量的方法,代原创 2021-08-06 12:23:40 · 7336 阅读 · 3 评论 -
python实现jpg图片批量转pdf
背景工作中遇到一个问题,同事整理资料比较麻烦,希望把一个文件夹下的jpg 图片批量转到一个pdf上,避免自己一张一张向pdf插入word,这里用python实现了一下。同时支持多个文件夹,每个文件夹下的照片生成一个pdf,不多说了,上代码:代码from PIL import Imageimport osfrom fpdf import FPDFimport PIL.ImageOpsdef exif_transpose(img): if not img: re原创 2021-04-28 10:35:51 · 1614 阅读 · 0 评论 -
python调用tippecanoe实现矢量切片
前言mapbox提供的官方的切片工具tippecanoe,可以快速进行矢量切片,生成pbf格式切片或者mbtiles。也可以将矢量瓦片反向合成为具体数据。这里主要实现,用python调用tippecanoe实现将geojson转换为pbf切片。环境部署可以参考我之前的博文https://hanbo.blog.youkuaiyun.com/article/details/113172570实现代码import osif __name__ == '__main__': command =原创 2021-02-02 07:53:03 · 2185 阅读 · 1 评论 -
python 实现将shapefile转为geojson
使用pyshp库可以轻松地对shapefile进行操作,这里简单记录一下使用pyshp如何将shapefile转为geojso。本来使用ArcGIS也可以实现,但是速度是在太慢了。安装库pip install pushuppython代码import shapefileimport codecsfrom json import dumps# read the shapefiledef shp2geo(file="出产.shp"): reader = shapefile原创 2021-02-01 22:28:18 · 839 阅读 · 1 评论 -
python改变图片的分辨率
这里使用Python代码做一个简单的功能,基于PIL库改变图片的分辨率。代码也不多,这里就不多做介绍了代码实现from PIL import Imagedef ResizeImage(filein, fileout, scale=1): """ 改变图片大小 :param filein: 输入图片 :param fileout: 输出图片 :param width: 输出图片宽度 :param height: 输出图片宽度 :param原创 2020-05-23 18:31:50 · 9839 阅读 · 0 评论 -
基于python和GDAL实现遥感影像重采样(改变分辨率)
很多时候都需要改变已经影像的分辨率,这里自己动手研究了一下相关原理,并进行了实现,以后可以很方便地改变影像的分辨率。影像重采样核心重采样的核心是影像的坐标范围不变,改变影像像元的大小,来实现像元个数的增减,即分辨率的改变。像元的面积*像元个数=固定值像元大小变为原来的1/2时,影像的像元数量变为原来的四倍。代码实现from osgeo import gdal, gdalconstimport osimport numpy as npdef resampli..原创 2020-05-23 18:26:08 · 14488 阅读 · 8 评论 -
python pip使用国内镜像,提升各类库下载速度
前言python安装各类包这块一直挺失败的,不像nodejs那么简单。python各版本还得需要不同版本的包,pip安装太慢。晚上一直很流行的anaconda,个人用起来感觉也不是非常好,很多包都找不到,而且还不安装最新版。还是得依靠pip,最近在网上找到了一些方法来,给pip安装国内镜像,这里分享一下。国内镜像源阿里云http://mirrors.aliyun.com/pypi/simple/ 中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/..原创 2020-05-12 08:58:15 · 669 阅读 · 0 评论 -
基于python实现遥感影像预览图生成
目的遥感影像通常无法直接查看,还需要经过专业软件打开,才能看到其具体内容。最近,需要开发对遥感影像直接生成预览图,就使用GDAL提取波段信息,通过opencv写入图片环境python3.5 gdal2.4.1 opencv-python代码from osgeo import gdalimport cv2import numpy as npnp.seterr(d...原创 2020-04-09 19:51:49 · 2492 阅读 · 0 评论 -
基于python和GDAL实现对shape文件要素进行查询
前言最近使用GDAL对shape文件进行查询,走了很多弯路,查看网上的代码,发现很多代码都是错误的,或者不详细,浪费了很多时间。这里简单记录一下使用GDAL查询和读取要素的代码。python版本3.5 GDAL版本2.1.0代码实现读取shape代码from osgeo import ogr# 注册所有的驱动ogr.RegisterAll()ds = ogr.Ope...原创 2020-04-02 10:22:20 · 2764 阅读 · 2 评论 -
简单python代码实现三层神经网络识别手写数字
准备这个过程非常简单,就是用到了很多的矩阵运算。训练数据集下载地址, 测试数据集下载地址,数据格式.csv格式数据的每一行都是一个28*28像素的手写数字图片,每一行的第一个像素是数字的值,从第二个数字开始时像素值import matplotlib.pyplotimport pylabimport numpy# 读入训练数据training_data_file...原创 2020-03-13 15:57:28 · 2867 阅读 · 0 评论 -
python基于Sen2Cor对哨兵影像进行大气校正
Sen2cor是ESA发布的专门生产L2A级数据的插件。Sen2Cor下载地址L2A级数据主要包含经过辐射定标和大气校正的大气底层反射率数据。L1C级多光谱数据(MSI),L1C级数据是经过几何精校正的正射影像,并没有进行辐射定标和大气校正。通过Sen2cor可以将L1C级数据转换为L1A级数据。这里简单记录一下如何对哨兵2 L1C级数据进行大气校正和辐射定标。完整项目代码地址码云...原创 2020-01-04 14:55:15 · 2698 阅读 · 3 评论 -
python实现基于GDAL的哨兵2影像NDVI值计算
NDVI是什么NDVI(归一化植被指数)是近红外波段的反射值与红光波段的反射值之差比上两者之和。即(NIR-R)/(NIR+R),NIR为近红外波段的反射值,R为红光波段的反射值。归一化植被指数是反映农作物长势和营养信息的重要参数之一。根据该参数,可以知道不同季节的农作物对氮的需求量, 对合理施用氮肥具有重要的指导作用。NDVI的应用:检测植被生长状态、植被覆盖度和消除部分辐射误差等; ...原创 2019-12-25 20:08:47 · 5647 阅读 · 5 评论 -
Python使用openpyxl读取Excel信息
Python的用途越来越广,不能不开始学习使用了,今天写个练手的demo,最大的感觉是python和ES6挺像的。主要功能是弹出对话框,选择本地excel文件,然后循环读取出来。使用的是openpyxl模块,只支持xlsx,不支持xls。代码如下:import openpyxlimport tkinter.filedialog# 弹出文件对话框:fname = tkinter.fil...原创 2019-07-31 17:15:23 · 794 阅读 · 0 评论 -
opencv-python读取tiff影像,并展示
opencv-python可以读取各类图片,然后对图像进行处理,结合矩阵操作,可以非常方便的对图像进行各类操作,下面就展示一个简单的demo,用opencv-python读取图像并展示出来。Opencv的库安装可能比较麻烦一点。# 导入cv模块import cv2 as cvimport numpy as np# 读取图像,支持 bmp、jpg、png、tiff 等常用格式# 第...原创 2019-08-01 09:13:55 · 19488 阅读 · 1 评论 -
python-opencv实现实时人脸识别
python_opencv这个库功能还是非常强大的,可以读取本地摄像头的内容,并且可以直接使用不同分类器对人脸进行识别。这里主要展示使用opencv实现对笔记本摄像头中的人脸实时识别和标注。主要是笔记本摄像头实时 获取画面,然后获取其中人脸的位置,并在人脸位置的正方形进行标注。代码主要如下:# 导入cv模块import cv2cap = cv2.VideoCapture(0)# 告诉...原创 2019-08-01 11:05:43 · 2588 阅读 · 0 评论 -
opencv-python读取tiff影像上任意点的灰度值和RBG值
主要是给OpenCV的窗体添加鼠标的滑动事件,通过鼠标的事件返回的X,Y值,去图像的数据上查找对应的值,绘图值需要将tiff转为灰度图像来查找,RGB值是通过tiff以RGB模式读取获得。方便查看图像上任意一点的像元值,可以做研究用。代码如下# 导入cv模块import cv2 as cvimport timeimport numpy as np# 读取图像,支持 bmp、j...原创 2019-08-01 16:17:05 · 6669 阅读 · 3 评论 -
opencv-python特征点识别
图像识别主要有特征点识别、特征点提取、特征点匹配三个过程。这里主要是利用特征点识别中的FAST算法,对图片上的特征点进行识别,然后添加到图片上进行展示,FAST算法计算比较迅速,但是缺点也很明显,就是点太多了,很多都是没有用的点。代码如下:# 导入cv模块import cv2frame = cv2.imread("timg.jpg", 1)title = "image"poin...原创 2019-08-01 18:07:13 · 1571 阅读 · 0 评论 -
基于百度翻译API和python的批量地名翻译的实现
这次接到一个需求,需要把postgresql数据库中批量的地名进行翻译,大约200多个,自己翻译也非常的慢。于是想到用百度翻译的API对数据库的数据逐条进行翻译。正好也在学习Python语言,正好可以用Python对数据库的内容进行朱行翻译。数据如下所示:百度API标准版:提供基础文本翻译服务,QPS(每秒并发请求量)=1,个人或企业用户均可申请使用高级版:提供基础文本翻译服务,同...原创 2019-08-19 15:26:57 · 1692 阅读 · 0 评论 -
基于python的批量excel坐标数据导入Postgresql空间数据库
有一份csv格式的坐标数据,需要将它导入Postgresql数据库,方便进行后期分析,坐标需要转换为geometry类型。首先我将它转换成了excel,方便python利用库进行读取。数据概览数据demo如下:包含一个起点坐标、一个终点坐标、和一个路线轨迹坐标串,用“#”好分割 。数据库字段和格式如下图所示Python代码import xlrdimport p...原创 2019-08-19 15:47:08 · 1939 阅读 · 2 评论 -
Python使用pyshp库读取shapefile信息
通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为https://github.com/GeospatialPython/pyshp#reading-shapefile-meta-dataimport shapefile # 使用pyshp库file = shapefile.Reader("data\\市界.shp")shapes = file.sha...原创 2018-08-14 11:41:46 · 18005 阅读 · 6 评论