什么是七参数?什么是四参数?有什么不同

上一节我们说到了各种坐标系问题,今天我们先来看看什么是测绘中的七参数和四参数?

1、四参数
两个不同的二维平面直角坐标系之间转换通常使用四参数模型,四参数适合小范围测区(5 km以内)的空间坐标转换。

在该模型中有四个未知参数,即:

(1)两个坐标平移量(△X,△Y),即两个平面坐标系的坐标原点之间的坐标差值。

(2)平面坐标轴的旋转角度A,通过旋转一个角度,可以使两个坐标系的X和Y轴重合在一起。

(3)尺度因子K,即两个坐标系内的同一段直线的长度比值,实现尺度的比例转换。通常K值几乎等于1。

四参数的数学含义是:用含有四个参数的方程表示因变量(y)随自变量(x)变化的规律。

举个例子,在珠海既有北京54的平面坐标又有珠海的平面坐标,在这两种坐标之间转换就用到四参数。四参数的获取需要有两个公共已知点。

2、七参数

七参数一般采用布尔沙模型法,三维坐标之间的转换,适合大范围测区(可达到15 km)的空间坐标转换,转换时需要至少3个公共已知点。因为有较多的已知点,所以七参数转换的坐标精度要高于四参数转换的坐标精度,但是操作较四参数法复杂。

七参数需要在测区布设一定密度的等级控制网点,利用整个网的 W G S - 8 4 坐标系下的三维约束平差结果和当地坐标系统的二维约束平差结果及各点的高程解算,求解较为复杂。

七参数模型中有七个未知参数,即:

(1)三个坐标平移量(△X,△Y,△Z),即两个空间坐标系的坐标原点之间坐标差值。

(2)三个坐标轴的旋转角度(△α,△β,△γ)),通过按顺序旋转三个坐标轴指定角度,可以使两个空间直角坐标系的(X,Y,Z)轴重合在一起。

(3)尺度因子K,即两个空间坐标系内的同一段直线的长度比值,实现尺度的比例转换。通常K值几乎等于1。

七参数其涉及到的七个参数为:X平移,Y平移,Z平移,X旋转,Y旋转,Z旋转,尺度变化K。

七参数坐标转换通常至少需要三个公共已知点,在两个不同空间直角坐标系中的六对(X,Y,Z)坐标值,才能推算出这七个未知参数,计算出了这七个参数,就可以通过七参数方程组,将一个空间直角坐标系下一个点的(X,Y,Z)坐标值转换为另一个空间直角坐标系下的(X,Y,Z)坐标值。

如 1954坐标系 和 W G S 8 4 转换公式为:
坐标转换公式
看个图片直观点
Δx,Δy,m,α 就是需要求解的4个参数。m表示尺度因子,α表示旋转角。

一步一步的来看,假设现在需要将1坐标系下的A点转换到2坐标系下。可以理解为三步走:旋转、伸缩、平移。
在这里插入图片描述
那么问题来了,现在已知两个公共已知点,需要反求这四个参数?这才是最重要的。(这个地方需要用最小二乘原理,因为方程组需要求最优解,这里不一定是个确定的数。)
0.0
C = m * cosα;D = m * sinα
0.0
V = B * X — L根据最小二乘原理可以解出:
在这里插入图片描述
进而得出X0 ,Y0 ,C, D。
在这里插入图片描述
完毕!

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Redis是一个开源的键值对存储数据库。它使用内存作为主要的数据存储介质,因此在处理大量数据时,需要考虑内存的使用和管理问题。Redis通过实现一些内存淘汰机制来解决这个问题。本文将对Redis的内存淘汰机制进行详细解析。 一、Redis的内存淘汰机制概述 Redis的内存淘汰机制用于在内存使用超过预设阈值时,删除一些不常用的键值对,以释放内存空间。Redis提供了多种内存淘汰机制,包括: 1. noeviction(默认):当内存不足以容纳新写入数据时,新写入操作会报错。 2. allkeys-lru:在所有的键中,最近最少使用的键会被优先移除。 3. volatile-lru:在设置了过期时间的键中,最近最少使用的键会被优先移除。 4. allkeys-random:从所有的键中随机移除键。 5. volatile-random:从设置了过期时间的键中随机移除键。 6. volatile-ttl:从设置了过期时间的键中,根据键值对的ttl(time-to-live)值,移除最近将要过期的键。 其中,noeviction是Redis的默认策略,表示当内存不足以容纳新写入数据时,新写入操作会报错。而其他五种策略则是在内存不足时,用于删除一些键值对以释放内存空间的策略。 二、allkeys-lru淘汰策略 allkeys-lru策略是基于最近最少使用(LRU)算法的内存淘汰机制。它会在所有的键中,选择最近最少使用的键进行淘汰。 这个算法的实现依赖于Redis记录键的访问时间。当一个键被访问时,Redis会记录下当前时间,并将该时间戳与键的访问时间进行比较。当内存不足以容纳新写入数据时,Redis会选择访问时间最早的键进行淘汰。 allkeys-lru策略的优点是可以保证数据的热度。它会优先保留经常访问的数据,而淘汰不常用的数据。这样可以避免一些冷数据占用过多的内存空间,从而提高Redis的性能。 三、volatile-lru淘汰策略 volatile-lru策略是基于LRU算法的内存淘汰机制,但它只会在设置了过期时间的键中选择最近最少使用的键进行淘汰。 volatile-lru策略的实现方式与allkeys-lru相同,只是在选择淘汰键的时候,只考虑设置了过期时间的键。 volatile-lru策略的优点是可以在保证数据热度的同时,避免长期不使用的过期键占用过多的内存空间。 、allkeys-random淘汰策略 allkeys-random策略是一种随机淘汰算法,它会从所有的键中随机选择一个键进行淘汰。 这种算法的实现方式比较简单,只需要在选择淘汰键时,从所有的键中随机选择一个即可。它的优点是可以避免一些冷数据占用过多的内存空间,但缺点是无法保证数据的热度。 五、volatile-random淘汰策略 volatile-random策略是一种随机淘汰算法,它会从设置了过期时间的键中随机选择一个键进行淘汰。 这种算法的实现方式与allkeys-random相似,只是在选择淘汰键时,只考虑设置了过期时间的键。它的优点是可以避免长期不使用的过期键占用过多的内存空间,但缺点是无法保证数据的热度。 六、volatile-ttl淘汰策略 volatile-ttl策略是根据键值对的ttl值,选择将要过期的键进行淘汰。 这种算法的实现方式比较简单,只需要在选择淘汰键时,从设置了过期时间的键中选择将要过期的键即可。它的优点是可以在保证数据热度的同时,避免长期不使用的过期键占用过多的内存空间。 七、Redis的内存淘汰机制配置 Redis的内存淘汰机制可以通过配置文件进行设置。在Redis的配置文件redis.conf中,可以设置maxmemory和maxmemory-policy两个参数。 maxmemory参数用于设置Redis使用的最大内存大小。当Redis使用的内存超过这个值时,就会触发内存淘汰机制。 maxmemory-policy参数用于设置Redis的内存淘汰机制策略。它可以设置为noeviction、allkeys-lru、volatile-lru、allkeys-random、volatile-random和volatile-ttl中的任何一个值。 例如,以下是Redis配置文件中的maxmemory和maxmemory-policy参数设置: ``` maxmemory 1gb maxmemory-policy allkeys-lru ``` 这表示Redis最大使用1GB的内存,当内存使用超过1GB时,会使用allkeys-lru策略进行内存淘汰。 八、总结 Redis的内存淘汰机制通过实现一些内存淘汰算法,可以在内存使用超过预设阈值时,删除一些不常用的键值对,以释放内存空间。其中,Redis提供了多种内存淘汰机制,包括noeviction、allkeys-lru、volatile-lru、allkeys-random、volatile-random和volatile-ttl。不同的策略有不同的优点和缺点,应该根据实际需求进行选择。在配置Redis的内存淘汰机制时,需要设置maxmemory和maxmemory-policy两个参数,以控制Redis的最大内存使用量和内存淘汰策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值