缩放地图上的多边形 - 纬度拒绝缩放

时间:2016-07-15 02:30:29

标签: dictionary geometry geospatial latitude-longitude affinetransform

问题:

我正在尝试在地图上缩放多边形,它似乎在水平(经度)中工作, 但垂直(纬度)保持不变。

我是如何接近它的

使用以下步骤进行转换:

1)将纬度和经度转换为笛卡尔点

2)通过对每个点和多边形质心进行差异来将点移动到对象空间

3)按因子缩放每个点

4)通过在质心中加回来将它们移回世界空间。

可能的原因:

在翻译和缩放期间,我只是操纵x和y值。自从 缩放只是2D形状我认为它可以被忽略,但也许我需要操纵 它也在这个过程的某个地方。

我的代码:主执行堆栈,后跟他们使用的所有功能。

protected void btnSend_Click(object sender, EventArgs e)
{
    if (Request.Form.GetValues("sendme") != null && Request.Form.GetValues("vidsend") != null)
    {
        string _docValues = String.Join("<br>", Request.Form.GetValues("sendme"));
        string _vidValues = String.Join("<br>", Request.Form.GetValues("vidsend"));
    }
    else
    {
        string _docValues = "";
        string _vidValues = "";
    }
}

1 个答案:

答案 0 :(得分:0)

您可能需要的是 SLERP (球面线性插值):https://en.wikipedia.org/wiki/Slerp。只是slerp&#34;之间&#34;多边形的每个点和所选的放大中心,使用参数t作为缩放因子。