澄清了ogr2ogr中的“ 25D”选项


11

[编辑:在我的原始帖子中,我收到了一个基于错字的错误,因此我取消了该部分问题,但保留了仍然适用的问题。]

ogr2ogr文档中说:

-nlt type:
Define the geometry type for the created layer. One of NONE, GEOMETRY, POINT, LINESTRING, POLYGON, GEOMETRYCOLLECTION, MULTIPOINT, MULTIPOLYGON or MULTILINESTRING. Add "25D" to the name to get 2.5D versions.

这部分内容是否Add "25D" to the name to get 2.5D versions适用于将东西加载到postgres中以及将数据从postgres导出到.shp文件?

另外,我假设25D表示一个可以具有对应于每对xy坐标的z值(与PolygonZ shapefile类型的情况一样),但是这些坐标可能不会重叠。这个对吗?在这种情况下,2.5D和3D之间的预期区别是什么?

谢谢


要回答第一个问题:不必将-nlt与25D一起用于输出到shapefile。看来,如果我使用-nlt MULTIPOLYGON25D选项将shapefile加载到Postgres中,然后在不使用-nlt选项的情况下将生成的特征导出为shapefile,则每个形状的坐标将保留其单独的z值。
BenjaminGolder

Answers:


11

使用术语2.5D代替3D,因为尽管您具有Z值,但是在执行任何空间操作时都不会考虑它们。交集,缓冲区,任何空间谓词(在内部,在重叠中等)都通过忽略Z值来进行操作。


4

并非不同意或矛盾,而是增加了拉吉的答案:

2D,2.5D和3D之间的区别

一般地,GIS保持(至少)2D设有二维地图。也就是说,要素在两个主要地理维度中处于地理位置:X和Y。根据上下文,我们将其称为北向和东向或纬度和经度。这些要素由点,线和面表示,其元素为XY数据对。

为了更有用,GIS将保留地理表面,甚至是位于这些表面上的要素。明显的情况是地球的表面,但它可能是更抽象的“表面”,例如本地人口密度或本地每年的日照天数。有两个主要的地理维度X和Y,第三个维度Z。这些要素再次由点,线和多边形表示,但现在其元素是XYZ数据三元组。那是3D吗?是的,没有。地理表面的一个显着特征是,尽管它可以存在于2D XY空间的任何地方,但在任何给定的2D位置仅具有一个Z值

拥有地理容量的系统更加有用。这些是3D空间中存在的“真实” 3D要素,并且可以被所有侧面的表面包围。考虑复杂的地质,海洋或气象模型。或多层建筑物或复杂的工业厂房模型。它们由点,线,多边形(如上所述)和多面体表示。并且如上所述,元素仍然是XYZ数据三元组。但是,地理体积的一个显着特征是它可以存在于3D XYZ空间中的任何位置。而在任何给定的2D位置可以有多个Z值

那么,如果中间数据类型大于2D但小于真正的3D,该如何称呼中间数据呢?


1
感谢您抽出宝贵的时间来添加此内容。我认为这会使几个方面更加混乱。例如,似乎在使用z值指示3维空间关系与使用z值保持其他参数值之间存在混淆。地理表面或多或少不是地理体积的“真实” 3D要素。此外,表面和体积之间的这种区别并不对应于GDAL中2.5D的重要性。
BenjaminGolder

听起来您是否不同意或不理解我所说的话?我不知道“ Z值表示3D空间关系 ” 是什么意思。在重新阅读了您的最后2句话之后,到目前为止,我确实需要修改或添加到我的答案中。
马丁F

抱歉,不清楚。“空间关系”是指“高程值”。您的表面示例使用z值存储参数(人口密度,日照),而所有体积示例都使用z值存储高程。但是曲面可以将高程存储为z值,而体积可以将参数存储为z值(例如时间间隔)。
BenjaminGolder

是。如果我删除任何关于非高程曲面的信息,可能是最好的。
马丁F
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.