GIS
铭净止水
这个作者很懒,什么都没留下…
展开
-
空间分析“完全覆盖”判断
后端实现“输入图形是否被指定图形完全覆盖”这个判断主要利用postgis的st_coveredby函数实现,该函数与另一个可以判断图形重叠关系的函数st_within的区别,官方给出的解释如下:因为多边形边界并不算多边形内部,因此st_within为判断“真包含”,即两图形完全覆盖或者说输入图形与指定图形有任何边界上的相交,都会判断为false,不完全覆盖。而st_coveredby则为判断“假包含”,即如果有边界上的相交,只要输入图形没超出指定图形边界,就认为是被完全覆盖。以上方法,当原创 2021-02-20 13:36:03 · 1057 阅读 · 0 评论 -
windows安装python的gdal环境简略提要
首先注意安装的不是gdal而是python的gdal从这个网址https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal中找到和你python版本对应的whl文件,举例,我用的是python3.8,64位操作系统,所以我下载下面那个:下载完成之后 打开cmd切换到该文件所在目录,执行命令: pip installGDAL-3.1.2-cp38-cp38-win_amd64.whl即可安装成功。不必使用pip install gdal,这个会产生.原创 2020-07-14 11:45:59 · 616 阅读 · 2 评论 -
cesium更改3dtiles姿态,包括位置,旋转角度,高度
感觉好多人都写了,我在这就是记录一下:var boundingSphere = new Cesium.BoundingSphere(Cesium.Cartesian3.fromDegrees(120,37,0.0), 0);//外接圆 var viewer = new Cesium.Viewer("cesiumContainer", { terrainProvider: Cesium.createWorldTerrain(), });...原创 2020-06-19 14:40:27 · 8474 阅读 · 2 评论 -
使用geoalchemy2进行空间表的建立和空间数据的录入
编程语言是python,使用的是flask框架我之前进行postgis数据库增删改查的时候一直是自己手动在pg里面创建空间数据表,然后用sql语句进行操作,觉得也没什么,刚开始知道orm的时候觉得这玩意好麻烦,sql语句又不是不能用,还灵活,真正用一下才发现真香。基础的orm我就不多讲了,在这说一下GIS相关的空间表,在这里我们用的类库是geoalchemy2一、建表:通过代码就可以创...原创 2019-02-03 09:46:05 · 1285 阅读 · 0 评论 -
python读取kml为geojson
(服务器到期,修复中)转载自本人的文章:http://www.kingpika.top:5599/post/65原创 2019-03-21 20:09:33 · 2233 阅读 · 0 评论 -
根据epsg代号进行坐标的批量投影转换
接口来源:http://epsg.io/transform#s_srs=4490&t_srs=4326转换参数使用的是默认值而不是精确的自定义数值,有更高精度要求就别用了,或者拿去改改也行。将要转换的坐标文本放在txt文件夹里,然后直接运行convert.py脚本。格式参考示例数据demoData.txt,其中s_srs为待转换坐标的epsg代号,t_srs为输出的坐标的epsg...原创 2019-06-19 17:57:58 · 2352 阅读 · 0 评论 -
python批量导入shp至postgresql数据库中
原文地址:http://www.kingpika.top:5599/post/79一、准备好数据并组织成以下格式:点线面格式均可二、代码(需要安装相应的库)#coding:utf-8import geopandas as gpdimport pandas as pdfrom sqlalchemy import create_enginefrom geoalchemy2 ...原创 2019-06-10 17:15:30 · 2122 阅读 · 0 评论 -
谷歌切片和tms切片的区别以及经纬度转化成二者行列号的方法
我的原文:http://www.kingpika.top:5599/post/84一、相同点:首先二者的缩放级别zoom和瓦片数量都遵循下列表格,读者脑海中想必已经有画面了 Zoom 瓦片排列 瓦片总数 0 1 tile covers whole world 1 tile...原创 2019-09-18 10:25:55 · 5684 阅读 · 1 评论 -
vue中使用leaflet,地图加载时残缺时的解决办法
通常这种情况摁一下f12才会显示正常在map容器所在的vue页面中,在方法中加入this.$nextTick(()=>{创建地图对象代码})外面包的那一层的作用是在所有元素加载完毕之后才执行,因为这种情况一般是容器dom还没调整到相应大小,地图就已经创建了,所以在加载完毕之后会显示异常,基于此,就不要在这个里面进行其他操作了...原创 2018-11-28 09:02:27 · 5265 阅读 · 1 评论 -
开源切片工具--TileStache
因为有体积较大的地理数据需要进行可视化,可是直接在前端叠加上一个geojson文件或是shp又太浪费性能,于是就想把它切成瓦片。接下来讲一下这个tilestache的配置与使用。首先是电脑环境,我是windows64位系统,python是32位(这个工具好像只支持32位)首先安装依赖包mapnik,注意并不是简单的pip install就行,这个需要经过一定的配置: 1.下载http...原创 2018-07-25 11:38:04 · 5946 阅读 · 1 评论 -
连接数据库Arcserver不关闭服务或是winform不关闭窗体无法显示编辑完毕的数据
地块入库接口开发中,需要在SOE中执行地块插入postgresql数据库,可是在实现过程中发现虽然已经在数据库中插入了数据,可是如果不断开server的服务,数据库里的数据就不能刷新显示出编辑之后的结果。后来在操作完毕的代码后我使用了 System.Runtime.InteropServices.Marshal.ReleaseComObject()方法释放连接的数据库空间,依然无果。原代码:原创 2017-05-24 21:28:53 · 342 阅读 · 0 评论 -
ArcEngine ICommand控件
转自豆瓣:原文链接:初学arcengine——ICommand 用法 https://www.douban.com/note/153701872/ ICommand 用法 在ArcEngine类库中有大量的Command控件用来与地图控件进行操作和交互。比如有一系列的地图浏览控件、地图查询控件、图斑选取控件、编辑控件来与MapControl和PageLayoutControl进行交互。这些控件转载 2017-05-27 09:21:36 · 752 阅读 · 0 评论 -
使用ArcMap Add-in 创建交互窗体
在ArcMap使用过程中我们常常想开发一些小功能插件,在此就要用到add-in插件的开发方法,创建add-in插件的步骤就不细述了。在此说明如何在ArcMap中添加自定义交互窗体(之所以将这个是因为网上找到的教程中好像没有讲一些细枝末节的东西,在此讲明一下)首先创建一个DockableWindow类型的程序集:打开VS,右击解决方案,选择“添加”,选择新建项,在ArcGIS模板中选择原创 2017-07-06 14:25:58 · 6584 阅读 · 6 评论 -
ArcGIS Server重装后保留原有服务的问题
在安装Sever完毕后,需要选择是否创建新站点,此时选择新建站点而不是加入现有站点,在设置完用户名密码之后(不必和之前一样),选择存储路径;此时选择之前的Sever站点存储文件夹,因为之前遗留下来的锁文件未删除,此时点击确定会报错,因此需要去该文件夹下删除".site"文件夹、"lock"文件夹以及version.lock文件。再点击确定,即可顺利安装PS:站点创建完毕之后多刷新几次原创 2017-10-25 14:41:22 · 2517 阅读 · 0 评论 -
leaflet加载地图出现瓦片乱序的问题
记得加上leaflet.css记得加上leaflet.css记得加上leaflet.css原创 2017-11-21 11:46:06 · 3667 阅读 · 2 评论 -
为什么需要空间索引(转载)
原文地址:http://www.cnblogs.com/LBSer/p/3392491.html一、问题 先思考个常见的问题:如何根据自己所在位置查询来查询附近50米的POI(point of interest,比如商家、景点等)呢(图1a)? 每个POI都有经纬度信息,我用图1b的SQL语句在mySQL中建立了POI_spatial的表,其中lat和lng两个字段来代表纬度和经度。为后续分析...转载 2018-04-22 19:03:30 · 535 阅读 · 0 评论 -
空间索引--网格索引
原文地址:http://www.cnblogs.com/LBSer/p/3403933.html深入浅出空间索引2 第一篇讲到了传统的索引如B树不能很好的支持空间数据,比如点(POI等)、线(道路、河流等)、面(行政边界、住宅区等)。本篇将对空间索引进行简单分类,然后介绍网格索引。(深入浅出空间索引1:http://www.cnblogs.com/LBSer/p/3392491.html)一、空...转载 2018-04-22 20:38:39 · 9784 阅读 · 0 评论 -
基于pgrouting的任意两点间的最短路径查询函数(转)
原文:https://blog.csdn.net/longshengguoji/article/details/46051111前面文章介绍了如何利用postgresql创建空间数据库,建立空间索引和进行路径规划。但是在真实的场景中用户进行路径规划的时候都是基于经纬度数据进行路径规划的,因为用户根本不会知道道路上节点的ID。因此文本讲述如何查询任意两点间的最短路径。 一、定义函数名及函数参数...转载 2018-04-26 23:07:28 · 939 阅读 · 0 评论 -
python ogr shp字段写入中文乱码问题
首先,先确认一下你的字段值是不是乱码,如果是,按照以下方法: 我的字段值是来自于一个geojson字符串,我在对它解析时做了如下处理: properties = fea.get("properties") pro_json=json.dumps(properties) pro_json.replace('u\'','\'')#将unicode编码转化为中文先处理一下 ...原创 2018-07-09 17:01:00 · 3831 阅读 · 1 评论 -
关于多线程产生的各种lock
1.生成FeatureClass时会生成.sr.lock,此时 图层锁 IWorkspaceFactoryLockControl ipWsFactoryLock = (IWorkspaceFactoryLockControl)pWorkspaceFactory; if (ipWsFactoryLock.SchemaLockingEnabled)原创 2017-05-24 21:26:37 · 397 阅读 · 0 评论