staHuri
https://github.com/huifer/planar_algorithm
展开
-
[JAVA] mybatis 使用 geometry
mybatis 使用 geometry创建表DROP TABLE IF EXISTS `geo`;CREATE TABLE `geo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `g` geometry NULL, `s` json NULL, PRIMARY KEY (`id`) USING BTREE) ENGINE = Inno...原创 2020-03-03 09:51:43 · 4519 阅读 · 0 评论 -
移除一个面上的节点 , 根据两点间距
移除一个面上的节点 , 根据两点间距问题描述在一个平面中有多个面互相紧凑拼接在一起,由于每一个面上的节点很多需要抽稀一些节点。原始图细节A细节B细节C需要把其中的节点删除,在删除后每一个面还需要紧密相连。解法解法1获取每一个面上的点计算每一个点之间的距离距离大于容差该部分不操作距离小于等于容差该部分内容进行操作删除其中的一...原创 2019-02-13 19:06:27 · 634 阅读 · 0 评论 -
最小外接矩形思路以及实现
最小外接矩形外接矩形计算对一个凸多边形进行外接矩形计算,需要知道当前面的最大xy 和最小xy值,即可获得外接矩形最小外接矩形计算对凸多边形的每一条边都绘制一个外接矩形求最小面积。下图展示了计算流程计算流程旋转基础算法实现旋转点基础 /** * 旋转点 * * @param point 被旋转的点 * @param center ...原创 2019-02-25 08:23:04 · 11582 阅读 · 9 评论 -
凹多边形的切割
凹多边形的分割算法来源Elements of Computer Graphics.pdf算法概述已知:凹多边形不存在空洞。对凹多边形顶点进行编号找出凹点绘制凹点的延长线(延长线的起点为 凹点的上一个点)延长线与凹多边形求交点凹点延长线的情况延长线与多边形只有一个交点保留凹点到交点的线段延长线与多边形有多个交点保留凹点到每一个交点的最短距离的线段延长线互相...原创 2019-03-01 14:04:54 · 5385 阅读 · 9 评论 -
面或者直线上增加节点
面或者直线上增加节点问题概述已知平面和平面内的线段计算所有相交的节点以及线段上的点原始数据结果数据计算流程计算外部轮廓的增加点求外轮廓的凹点求外轮廓凹点所属线段的另一个点将另一个点打到外轮廓的线段上计算内部线段的增加点计算内部线段的相交节点将内部线段和相交节点做一个匹配内部线段内部线段上的交点(内部线段之间的交点)内部线段切割后...原创 2019-03-05 10:24:35 · 900 阅读 · 0 评论 -
凹多边形算法制作后回顾
凹多边形算法制作后回顾面或者直线上增加节点凹多边形的切割涉及内容向量直线方程点线面三者的拓扑关系无向图完成进度算法开始时间2.27Mon 26Mon 05算法设立 多边形凹点判断、凹点射线 内部线切割 无向图闭环切割 凹多边形算法测试如下面,对此用例是成功了,其他的也有成...原创 2019-03-08 16:53:51 · 1234 阅读 · 0 评论 -
矩形网格绘制
矩形网格绘制没有找到具体的定义网格的方式,放一个图片吧。Wikipedia上网格的定义绘制要求本次案例规定网格起始点(0,0) ,每一个方块大小为1*1,x轴正方向5个,y轴正方向6个绘图思路计算第一个矩形的坐标。先绘制一列(y轴方向)或者一行(x轴方向)在绘制基础上向另一个坐标轴反向偏移如果要计算椭球的只需要找到相对应椭球的描述公式进行计算点坐标即可本次绘图中从左下角...原创 2019-03-08 08:22:57 · 2380 阅读 · 0 评论 -
geowebcache配置
geowebcache环境jdk8apache-tomcat-9.0.13geoserver 2.14.1geowebcache配置geowebcache相关users.properties修改用户名密码admin=geoserveradmin=geoserver,ROLE_ADMINISTRATORweb.xml添加一条数据配置存放位置 <!-- 增...原创 2019-03-19 10:03:37 · 558 阅读 · 0 评论 -
openlayers 删除上一个图形
起因近几日群里经常有人问如何删除一个绘制的图形(openlayers 中) , 顾有此文需求在openlayers中绘制图形,并且分为不同的样式删除上一个绘制的图形思路创建多个point—style构造一个列表存放当前绘制的本文只有三个图层,使用了一个数组包装 :[图层索引,freature]删除根据图层索引删除jiankongLayerVector.ge...原创 2019-03-26 17:30:24 · 4977 阅读 · 3 评论 -
openlayers-自定义瓦片
openlayers-自定义瓦片定义一个瓦片地址ol.source.TileImage.tileUrlFunction官方文档由此我们只需要重写这个ol.source.TileImage.tileUrlFunction方法即可数据准备用爬虫下载了一些高德地图放大层数最小的图片256*256大小的简单服务器配置,将这些图片放到tomcat下使之能够正常访问...原创 2019-03-27 15:30:14 · 4850 阅读 · 0 评论 -
openlayers-方向标注
openlayers-方向标注需求给LineString 标注方向效果图设计思路设计一个方向箭头图标计算线段方向(LineString 可以放很多坐标而线段方向是两点之间)(0,1)(1,2)(2,3)…方式计算每一段的方向角度方向点安放坐标let array_coor = lineStringForl.getCoordinateAt(i * 1...原创 2019-03-28 13:43:17 · 2481 阅读 · 0 评论 -
[python] 旅游
旅游爬虫篇目标网页将这部分内容获取到,主要内容有城市名称,城市id,城市网页进一步增加json数据量,把这个目的地下的 行程路线,景点的路由获取 , 以杭州为例,其他城市替换对应的城市id即可,本文就直接进行字符串替换了路线:http://www.mafengwo.cn/mdd/route/10156.html景点:http://www.mafengwo.cn/jd/10...原创 2019-04-12 15:48:59 · 924 阅读 · 0 评论 -
[python] 下载天地图切片地图
下载xyz地图资源下列为常用xyz路由地址为了避免图片中出现文字标注(道路名称,建筑物名称等)本文选择天地图tian-vec 作为获取资源对象 var mapUrl = { /**** * 高德地图 * lang可以通过zh_cn设置中文,en设置英文,size基本无作用,scl设置标注还是底图,scl=1代表注记, ...原创 2019-04-24 10:07:41 · 7940 阅读 · 4 评论 -
[python] 天地图切片下载优化
天地图切片下载优化前提下载天地图切片地图,这篇文章中提供了一种天地图切片下载方案,其方案需要去寻找一个范围(切片的xy索引区间),在寻找切片范围的时候需要在大量的图片中寻找到结果比较麻烦,因此提出如下需求。需求输入经纬度返回切片索引制作本文参考内容上述代码不能正常运行所以对这个代码进行重构#! /usr/bin/env python# -*- coding: utf-8...原创 2019-05-06 10:49:16 · 2333 阅读 · 0 评论 -
线段交叉类型判断
线段交叉类型判断如图判断是T Y X 类型操作思路预处理数据集: 将所有LineString 打断,最终结果为 LineString 只有起点 终点2个点获取所有线段的交点 ,并制作成如下格式{"交点坐标":[相交线段]}求相交线段的夹角{"交点坐标":[夹角角度]}自定义环节: 怎么样才算是一个XYT 目前已经计算出角度, 后...原创 2019-05-21 14:36:44 · 950 阅读 · 0 评论 -
openlayers-放大、缩小级别
openlayers 放大缩小级别问题需求在使用鼠标滚轮放大地图或缩小地图时层次感太强,想要一个缓慢的缩放流程。或者每次放大0.5倍。需求理解假设切片地图的提供方并非本人,而是采用第三方(本文天地图),那么就没有办法修改切片,所以从切片角度没有办法进行操作假设鼠标滚轮滚动一次放大级别增加1(缩放级别减小1),那么我们是不是可以通过修改鼠标滚轮滚动次数来解决放大缩小问题呢? 本文采用...原创 2019-05-13 09:22:45 · 6915 阅读 · 1 评论 -
GIS面试问题
GIS面试问题文件类型shpgdbmdbsde数据类型点线面坐标转换形式仿射变换(二维空间)使用多个相同点进行平移,缩放,旋转,裁剪获得3参数,4参数,7参数转换常用地理坐标系,投影坐标系地理坐标系WGS-84投影坐标系北京54,西安80地理坐标系,投影坐标系区别地理坐标系经纬度为单位,确定一个可以量化计算的椭球体,确定一个可以将改椭球定...原创 2020-05-24 09:17:16 · 6311 阅读 · 0 评论 -
Geoserver 条件查询
Geoserver 条件查询发布数据选择数据储存选择数据类型选择文件将数据放到 geoserver-2.14.1\data_dir 目录下任意位置发布点击发布自行确认配置 主要配置内容查看数据在geoserver 中找到 LayerPreview打开后获取 urlhttp://localhost:8999/geoserver/wang...原创 2019-02-16 20:18:10 · 4068 阅读 · 0 评论 -
polygon移除一定角度的顶点连接线
polygon移除一定角度的顶点连接线上文描述了如何求解每个顶点的角度,在此基础上需要将不符合要求的点删除留下的点链接成面即可测试数据POLYGON ((290.890041493776 392.188796680498,279.707468879668 191.919087136929,307.155601659751 327.126556016598,363.06846473029 17...原创 2019-01-28 19:07:06 · 715 阅读 · 0 评论 -
【python】获取航线信息并且制作成图
获取航线信息并且制作成图航线信息航线信息查询网站 本次实例使用的航班号为 CES5496 查询后在network中可以寻找到如下内容https://zh.flightaware.com/ajax/ignoreall/trackpoll.rvt?token=c35ca45ecbca57cd1ea443d1c65c36426ea06630de026ffd737977e4a40a26ead...原创 2018-07-03 14:26:03 · 6462 阅读 · 2 评论 -
【python】folium 库绘制地图点击框
使用folium 库 生成 地图网页folium 官网import foliumimport pandas as pddef mark_map(data): """ 带有标注的地图 :param data: :return: """ # 地图制作 myMap = folium.Map(location=[20, 0], t...原创 2018-06-28 09:25:48 · 5151 阅读 · 6 评论 -
【python】shapefile转换geojson
import shapefileimport codecsfrom json import dumps# read the shapefiledef shp2geo(file="line出产.shp"): reader = shapefile.Reader(file) fields = reader.fields[1:] field_names = [field...原创 2018-06-28 09:28:47 · 3126 阅读 · 0 评论 -
【python】关于excel和shp的使用在matplotlib
关于excel和shp的使用在matplotlib使用pandas 对excel进行简单操作使用cartopy 读取shpfile 展示到matplotlib中利用shpfile文件中的一些字段进行一些着色处理#!/usr/bin/env python# -*- coding: utf-8 -*-# @File : map02.py# @Author: huifer# @...原创 2018-06-28 11:13:03 · 1611 阅读 · 0 评论 -
【python】使用folium excel 绘制point
使用folium excel 绘制point制作内容根据气象台资料获得的点进行绘制对一个特殊的点做特别的标注数据来源#!/usr/bin/env python# -*- coding: utf-8 -*-# @File : map03.py# @Author: huifer# @Date : 2018/6/28import pandas as pdimport ...原创 2018-06-28 14:24:34 · 2524 阅读 · 2 评论 -
【测绘程序设计试题集】 试题04 最短路径计算
数据武大,地大,6武大,光谷,11武大,图书城,24地大,光谷,4地大,华科,8光谷,地大,5光谷,图书城,9光谷,华科,7图书城,光谷,11华科,光谷,9问题解Edgepackage com.te.sortPath;/** * <p>Title : Edge </p> * <p>Description : 起点 ,...原创 2018-11-09 08:03:11 · 3993 阅读 · 1 评论 -
高斯消除矩阵
矩阵运算初始矩阵(a11a12a13a21a22a23a31a32a33)=(b1b2b3)\begin{pmatrix} a_{11} &amp;amp; a_{12} &amp;amp; a_{13} \\ a_{21} &amp;amp; a_{22} &amp;amp; a_{23} \\ a_{31} &amp;amp;...原创 2018-11-09 15:57:00 · 1363 阅读 · 0 评论 -
高斯消除矩阵
#! /usr/bin/env python# -*- coding: utf-8 -*-#def pprint(A): for i in A: print(i) print("")data = [ [1, 2, 1, 2], [3, 8, 1, 12], [0, 4, 1, 2]]n = len(data)print...原创 2018-11-09 15:59:28 · 912 阅读 · 0 评论 -
【arcmap】 utf8编码
shpfile-dbf编码以arcmap10.2为分界 , 在此之前的版本dbf编码都为GBK , 在此之后改为UTF-8编码(在windows 操作环境下) 10.2以后的版本可查看*.cpg文件得知是什么编码修改编码官方文档将下文另存为成 10.6gbk.reg ,以管理员运行 ,重启计算机即可修改成功注意 改成对应自己电脑的arcmap版本Windows Registry ...原创 2018-11-07 16:10:33 · 2313 阅读 · 0 评论 -
【测绘程序设计试题集】 试题15 纵横断面计算
数据H0,10.000K0,K1,K2K0,4574.012 ,3358.300 ,12.922 P01,4570.355 ,3382.210 ,10.558 P02,4571.827 ,3372.090 ,10.619 P03,4570.907 ,3362.574 ,10.771 P04,4569.494 ,3355.660 ,14.233 P05,4556.682 ,3361...原创 2018-11-13 19:45:15 · 5388 阅读 · 2 评论 -
【测绘程序设计试题集】 试题09 反距离加权插值
数据P01,4302.047,3602.652,10.804P02,4305.768,3598.683,10.855P03,4310.610,3595.393,10.998P04,4313.138,3595.086,12.038P05,4316.843,3594.703,12.818P06,4320.164,3593.923,12.784P07,4324.247,3592.690,1...原创 2018-11-12 10:05:03 · 2134 阅读 · 0 评论 -
【测绘程序设计试题集】 试题10 坐标系转换
坐标系转换数据a,6378137.0001/f,298.3L0,111Q71,36.082771,109.191366,5533.025P91,33.445550,110.154237,4785.906Q42,38.372964,108.023609,5453.323Q34,39.305664,111.361612,5800.386B99,37.264007,108.38506...原创 2018-11-12 14:23:34 · 5884 阅读 · 7 评论 -
最小二乘法矩阵
#! /usr/bin/env python# -*- coding: utf-8 -*-import numpy as npdef calc_left_k_mat(k): """ 获得左侧k矩阵 :param k: :return: """ k_mat = [] for i in range(k + 1): no...原创 2018-11-28 09:38:04 · 928 阅读 · 0 评论 -
非 ”回“ 型多边形平均宽度计算
非 ”回“ 型多边形平均宽度计算下文以平行四边形进行计算需求 :求解平均宽度 图形如下思路求改图形的四至 (最大x, 最大y,最小x,最小y)构造一条垂线 y无限大 无限小求该图形的左右宽度计算将垂线从该图形的左侧开始根据一个间隔向右侧平移 ,求每个垂线和该图形的相交线段得到图形内部的线段长度求平均值设置根据宽度要平均分成多少分然后计算每一段偏移值,最终得到垂线在图形内...原创 2019-01-11 15:36:23 · 1480 阅读 · 2 评论 -
基于K-means 切割多边形 JAVA实现
基于K-means 切割多边形 JAVA实现思路初稿详见多边形等分依赖geotoolsekmeans <!--geotools--> <!-- https://mvnrepository.com/artifact/org.locationtech.jts/jts-core --> <dependency> <gro...原创 2019-01-16 10:14:12 · 1274 阅读 · 0 评论 -
Polygon计算每一个角的角度
Polygon计算每一个角的角度主要算法Polygon 拆解 (孔型)两条线段之间求角度值测试数据面数据POLYGON ((350 100, 450 450, 150 400, 100 200, 350 100), (200 300, 350 350, 300 200, 200 300))流程注解JTS org.locationtech.jts.geom.Geometr...原创 2019-01-28 11:32:42 · 1698 阅读 · 0 评论 -
【python】GeoJson和bokeh-1
GeoJson 文档{ "type": "FeatureCollection", "features": [ { "geometry": { "type": "Polygon", "coordinates": [ [ [ 3,原创 2018-07-16 15:04:59 · 456 阅读 · 0 评论