标签: coordinate-transformation

如何通过保持svg中的固定位置来缩放元素

我想在固定位置缩放下面的元素.

<path id="container_svg_rectsymbol1" fill="red" stroke-width="1" stroke="Gray" d="M 73.1111111111111 -71.75 L 83.1111111111111 -71.75 L 83.1111111111111 -61.75 L 73.1111111111111 -61.75 L 73.1111111111111 -71.75" transform="scale(1)"/>
Run Code Online (Sandbox Code Playgroud)

当我开始缩放时,它从一个位置移动到另一个位置.我不想移动对象我只想扩大对象的大小.

我已经提到以下链接.

http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Transforming_the_Coordinate_System

怎么做固定缩放?

我想为元素设置动画,即在固定位置放大尺寸.我已按以下方式实施.但它会从原点移动元素.请参考以下代码.

 var box = element.getBBox();
 var scaleVal=null, x=null, y=null;
 $(element).animate(
     {
          scale: 1,
          centerX:box.x+(4*transX),
          centerY:box.y+(4*transY)
     },
     {
          duration: 4000,
          step: function(now,fx) {
              if (fx.prop == "scale") {
                   scaleVal = now;
              } else if (fx.prop == "centerX") {
                   x = now;
              } else if (fx.prop == "centerY") {
                   y = now;
              }

              if(!sf.util.isNullOrUndefined(scaleVal) && !sf.util.isNullOrUndefined(x) …
Run Code Online (Sandbox Code Playgroud)

svg scale coordinate-transformation jquery-svg jquery-animate

8
推荐指数
1
解决办法
8941
查看次数

Python pyproj将ecef转换为lla

我想在python中使用带有pyproj的WGS84将x/y/z-ECEF位置转换为lla(lat/lon/alt),但似乎转换失败了.

示例代码在这里:

import pyproj

# Example position data, should be somewhere in Germany
x = 652954.1006
y = 4774619.7919
z = -2217647.7937

ecef = pyproj.Proj(proj='geocent', ellps='WGS84', datum='WGS84')
lla = pyproj.Proj(proj='latlong', ellps='WGS84', datum='WGS84')
lon, lat, alt = pyproj.transform(ecef, lla, x, y, z, radians=True)

print lat, lon, alt
Run Code Online (Sandbox Code Playgroud)

有人能看出问题所在吗?

编辑:到现在为止,我猜计算是正确的,只是从我的接收器得到的数据似乎是错误的.有人可以证实吗?

python coordinate-transformation

8
推荐指数
3
解决办法
8824
查看次数

将带有度分秒 (DMS) 坐标的熊猫数据框转换为十进制度数

我有一个data frame类似下面的内容,并希望将度、分、秒格式的LatitudeLongitude列转换为十进制度数 - 正确半球的负数。有没有简单的方法来做到这一点?

Parent Company  CPO PKO Latitude    Longitude
Incasi Raya X       0°51'56.29"S    101°26'46.29"E
Incasi Raya X       1°23'39.29"S    101°35'30.45"E
Incasi Raya X       0°19'56.63"N    99°22'56.36"E
Incasi Raya X       0°21'45.91"N    99°37'59.68"E
Incasi Raya X       1°41'6.56"S 102°14'7.68"E
Incasi Raya X       1°15'2.13"S 101°34'30.38"E
Incasi Raya X       2°19'44.26"S    100°59'34.55"E
Musim Mas   X       1°44'55.94"N    101°22'15.94"E
Run Code Online (Sandbox Code Playgroud)

例如0°51'56.29"S将转换为-0.8656361

python geolocation coordinates coordinate-transformation pandas

8
推荐指数
1
解决办法
5624
查看次数

Python - 批量转换GPS位置为Lat Lon小数

嗨,我有一个带有一些位置数据的遗留数据库.字段只是带有这样字符串的文本字段0°25'30"S, 91°7'W.有没有一些方法,我可以转换这些两个浮点数为Decimal LatitudeDecimal Longitude

编辑:

所以一个例子是: 0°25'30"S, 91°7'W- > 0.425,91.116667其中原始单个字段位置产生两个浮点数.

任何帮助非常感谢.

python gps coordinates coordinate-transformation

7
推荐指数
2
解决办法
8062
查看次数

如何在给定视图空间深度值和ndc xy的情况下恢复视图空间位置

我正在写一个延迟着色器,我正试图更紧密地收拾我的gbuffer.但是,我似乎无法正确计算视图空间深度的视图位置

// depth -> (gl_ModelViewMatrix * vec4(pos.xyz, 1)).z; where pos is the model space position
// fov -> field of view in radians (0.62831855, 0.47123888)
// p -> ndc position, x, y [-1, 1]
vec3 getPosition(float depth, vec2 fov, vec2 p)
{
vec3 pos;
pos.x = -depth * tan( HALF_PI - fov.x/2.0 ) * (p.x);
pos.y = -depth * tan( HALF_PI - fov.y/2.0 ) * (p.y);
pos.z = depth;
return pos;
}
Run Code Online (Sandbox Code Playgroud)

计算出的位置是错误的.我知道这是因为我仍然在gbuffer中存储正确的位置并使用它进行测试.

c++ glsl perspectivecamera coordinate-transformation

7
推荐指数
2
解决办法
3743
查看次数

创建QTransform,给定4个点,定义变换后的单位平方

鉴于4分是结果

QPolygon poly = transform.mapToPolygon(QRectF(0, 0, 1, 1));
Run Code Online (Sandbox Code Playgroud)

我该怎么找QTransform transform?(甚至更好:还有一个任意的源矩形)

动机:给定在透视扭曲坐标系中绘制图像的四个角点,如何使用QPainter绘制图像?

问题的插图

这是一个屏幕截图,说明了GIMP中的问题,可以通过围绕图层的4个角移动来转换图层.这导致透视变换.我想在Qt应用程序中做同样的事情.我知道QTransform不仅限于仿射变换,还可以处理透视变换.

math geometry qt perspective coordinate-transformation

7
推荐指数
1
解决办法
3314
查看次数

CSS3,ZOOM + PAN(谷歌地图风格)

我需要使用CSS3 ZOOM和PAN一个div元素,
能够混合缩放和平移,
所以你可以放大,平移,放大一些,平移,缩小等.

ZOOMING已经解决了这个问题: CSS3缩放鼠标光标
,绝对是BRILLIANT的答案!这里: CSS3缩放鼠标光标

现在的问题是:如何将PANNING与ZOOMING结合起来(从上面的答案中)?

到目前为止,我尝试使用jQuery UI draggable http://jqueryui.com/draggable/, 如下所示:

<div id="graphics"> 
$("#graphics").draggable();
$("#graphics").draggable('enable');
Run Code Online (Sandbox Code Playgroud)

但是当我在放大图像时开始拖动图像时它会"跳跃".

我认为一个好的答案可以帮助很多人,因为这是非常基本的功能,但在网络上没有解决方案,我可以在相当广泛的搜索后找到它!

zoom css3 pan coordinate-systems coordinate-transformation

7
推荐指数
1
解决办法
3428
查看次数

如何将 x,y 坐标投影到 netcdf 文件中的纬度/经度

我已从 CCI 网站下载了格陵兰冰盖的速度场 NetCDF 文件。但是,投影给出如下(见下文,其中 x 范围在 [-639750,855750] 和 y [-655750,-3355750] 之间)

如何将这些数据投影到 NetCDF 文件中的实际纬度/经度坐标?已经谢谢了!对于感兴趣的人:可以在此处下载该文件:http ://products.esa-icesheets-cci.org/products/downloadlist/IV/

Variables:
    crs                                
           Size:       1x1
           Dimensions: 
           Datatype:   int32
           Attributes:
                       grid_mapping_name                     = 'polar_stereographic'
                       standard_parallel                     = 70
                       straight_vertical_longitude_from_pole = -45
                       false_easting                         = 0
                       false_northing                        = 0
                       unit                                  = 'meter'
                       latitude_of_projection_origin         = 90
                       spatial_ref                           = 'PROJCS["WGS 84 / NSIDC Sea Ice Polar Stereographic North",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Polar_Stereographic"],PARAMETER["latitude_of_origin",70],PARAMETER["central_meridian",-45],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUTHORITY["EPSG","3413"]]'
    y                                  
           Size:       5401x1
           Dimensions: y
           Datatype:   double
           Attributes:
                       units         = 'm'
                       axis          = 'Y'
                       long_name     = 'y coordinate of projection'
                       standard_name …
Run Code Online (Sandbox Code Playgroud)

python projection netcdf coordinate-transformation nco

7
推荐指数
1
解决办法
5055
查看次数

陀螺传感器漂移和正确角度估计

我正在使用LG Optimus 2x智能手机(陀螺仪和加速计传感器)进行定位.

我想从陀螺仪中获得正确的旋转角度,以后可以用于身体到地球的坐标转换.我的问题是

我如何测量和消除陀螺仪传感器的漂移.

一种方法是取陀螺样本的平均值(当移动设备处于静止状态时)一段时间并从当前样本中减去,这不是好方法.

当移动设备处于旋转/运动状态时,如何获得无漂移角度?

android accelerometer coordinate-transformation gyroscope

6
推荐指数
1
解决办法
2万
查看次数

使用opencv进行外在矩阵计算

我正在使用 opencv 来校准我的网络摄像头。所以,我所做的是将我的网络摄像头固定到一个装备上,使其保持静止,我使用了棋盘校准模式并将其移动到相机前,并使用检测到的点来计算校准。所以,这是我们可以在许多 opencv 示例中找到的(https://docs.opencv.org/3.1.0/dc/dbb/tutorial_py_calibration.html

现在,这为我提供了相机内在矩阵和旋转和平移组件,用于将这些棋盘视图中的每一个从棋盘空间映射到世界空间。

然而,我感兴趣的是全局外部矩阵,即一旦我移除了棋盘格,我希望能够在图像场景中指定一个点,即 x、y 及其高度,它给我在世界空间中的位置. 据我了解,为此我需要内在和外在矩阵。应该如何从这里开始计算外部矩阵?我是否也可以使用从棋盘校准步骤中收集到的测量值来计算外部矩阵?

opencv camera-calibration coordinate-transformation

6
推荐指数
1
解决办法
4239
查看次数