GIS剖分数据模型研究(二)

5 篇文章 1 订阅

论文作者 陈东

空间数据编码化计算


继续昨天的问题,分别探讨两种解决思路的可行性

重定义加减法

先解决分级、秒级编码的问题。因为二者格式相同,所以应该能够套用统一方法解决问题。
测试数据 59’59” ,在+1s的情况下,应得出结果 1° 但在网格运算中 其结果为 59’60”
其层级为 21层(1”) 同时要考虑61”的情况 ,例如 21层级对应跨度30m左右 如果计算该网格东边1830m处网格 即为61”

解决加减法的问题 首先要研究加减法的当前实现算法。
此处引用了wupenm的思路

http://blog.csdn.net/wupenm/article/details/49963011
对于二进制加法运算,若不考虑进位,则1+1=0, 1+0=1, 0+1=1, 0+0=0,通过对比异或,不难发现,此方法与异或类似。因而排除进位,加法可以用异或来实现。
然后考虑进位,0+0的进位是0,1+0的进位为0,只有1+1时进位才为1,该操作与位运算的&操作相似。

对于分级编码的运算,若不考虑进位,则正常加法运算。 然后考虑进位,如果大于59,则进1
对于进位需要重新计算
思路如下:

Step 1:正常计算加减法A+B=C;
Step 2: 计算度、分的进位,如果有进位,加上4'(4")*进位差(C_degree-A_degree,C_minute-A_minute ) 返回Step 1.若无进位,进行Step 3
Step 3: 判断分级、秒级编码是否超过60,如有超过,进行进位运算,进行Step 1.如果没有,则运算结束,返回运算值。
减法同样适用。 

建立网格宽度矩阵

借鉴齐师兄的论文思路,通过事先简历网格距离矩阵,来计算网格间距离。

参考距离:44°附近的网格距离 其误差在6%内
4”层级以下均可以均分,所以存储4”对应层级的网格宽度

通过事先建立的经向、纬向网格距离矩阵 来计算网格间的距离
通过不断调用对应数列中的值 来叠加两个网格间的距离、
针对不同层级的网格 可以通过该层级的网格宽度进行父子关系运算。

其实质为 预先判断网格是否为空,而不采取计算的方式 空间换时间

判断网格是否真实

利用上一篇文章提到的 JE(Code) 算子同样可以判断网格是否真实

20160728

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值