首页 / 浏览问题 / 桌面GIS / 问题详情
SmLength字段是存储什么信息的?
588EXP 2024年11月05日
iDesktopX11i版本:11.2.0.240430.10565 x64(SuperMap iObjects Java:11.2.0.111248)

桌面新建了EPSG:4490 坐标系的两个线图层,两个线图层都存储了赤道线,但两个线图层的SmLength字段值不一样,而且都与赤道周长不一样,请问是什么原因?

线图层A的坐标(-180,0)(180,0)

线图层B的坐标(-180,0)(90,0)(180,0)

重现步骤:桌面新建两条线,编辑状态选中线条双击,在右侧编辑线节点的坐标为上述坐标。

2 个回答

您好,

SmLength 字段存储测地线周长信息,测地线是依地球表面弧度的曲线,测地线周长为曲面的周长。

此处的线图层A节点从 (-180,0)到(180,0) ,实际测地线周长即为0,可在地图中点击线对象,右键选择属性即可查看该线对象基本信息。

属性表中 SmLength 字段显示的值为误差,可以忽略不计,如下图所示:

此处的线图层B中的节点是从 (-180,0)到(90,0) ,再从 (90,0)到(180,0) ,测地线周长约等于赤道长度的1/2,具体对象属性可参考上方图片进行查看。

希望能够帮助到您!

955EXP 2024年11月05日
  • supermap里表示赤道线要几个坐标点?
  • supermap里表示南纬10度和北纬10度构成的多边形如何表示?
  • 南纬10度和北纬10度构成的区域用±170经线切两刀后形成两个多边形,如何表示这两个多边形?

补充点测试结果,供有同样疑惑的人查阅。

  • 线图层A的坐标(-180,0)(180,0)
    • arcgis计算线图层A(-180,0)(180,0)的长度结果:360度。
    • turf.js计算线图层A(-180,0)(180,0)的长度结果:0度。
    • supermap计算线图层A(-180,0)(180,0)的长度结果:0.0000000015569552748969(SmLength字段)。有点怪异,一般要么是0,要么是360度,或者360度对应的其他单位长度。
  • 线图层B的坐标(-180,0)(90,0)(180,0)
    • arcgis计算线图层B的长度结果:360度。
    • turf.js计算线图层B的长度结果:180度。
    • supermap计算线图层B的长度结果:20,037,508.342780758(SmLength字段,4490坐标,换成4326坐标后长度又变了,按理说4326和4490地球长半轴一样,应该结果一致才对。还有这个长度是不是转成3857坐标计算的呢),转成度后约等于180度了。
  • 基于以上结果继续提问:
    • supermap里表示赤道线要几个坐标点?
    • supermap里表示南纬10度和北纬10度构成的多边形如何表示?
    • 南纬10度和北纬10度构成的区域用±170经线切两刀后形成两个多边形,如何表示这两个多边形?

588EXP 2024年11月06日

您好,

测地线周长单位为米,本地使用 iDesktopX 11.2.1官网版本桌面端测试4490坐标系投影转换为4326坐标系后 SmLength 字段值未改变。

(1)对于表示赤道线,在 (-180,0)(90,0)(180,0) 三个点的基础上添加一个点即可,参考以下节点信息:

(2) 表示南纬10度和北纬10度构成的多边形可参考以下节点,面数据集可添加到球面场景查看,图层属性中可调整该矢量图层的“瓦片边长”:

(3) 南纬10度和北纬10度构成的区域用±170经线切两刀后形成的两个多边形可参考以下节点:


希望能够帮助到您。

...