Zh-hans:基本三维建筑
本页描述建筑物基本3D属性的标签。有关高级3D标注提案,请参阅F3DB。
以下标注方法是Garching第二次3D研讨会的结果,其中大多数3D开发人员都同意在其程序中支持统一的标签子集。基本上,我们使用两种类型的区域来描述建筑物的体积:1)复合建筑物主体的建筑物轮廓,以及2)用于描述建筑物各部分的建筑物部分,尤其是具有不同高度或其他属性的建筑物。
如何绘制
建筑物轮廓
建筑轮廓线表示建筑物各个部分覆盖的土地区域。在大多数情况下,轮廓线也可以视为建筑物的投影。这是用building=*标记的封闭路径或多边形。
建筑物属性(例如地址,名称,总高度,经营者等)必须在建筑物轮廓上标记。
建筑轮廓为2D渲染软件(例如Mapnik)和其他对3D建模不感兴趣的数据使用者提供了向后兼容性。 当建筑物具有任何building:part=*区域时,将不考虑建筑物轮廓进行3D渲染。
建筑物部分
建筑物中具有不同物理特性(高度,颜色等)的部分通常是通过在建筑物轮廓内绘制带有building:part=*标签的区域来建模的。building:part=*标签的值通常为yes,但可以是任何building=*值。
整个建筑物轮廓由building:part=*区域填充,并标记了它们各自的高度和其他属性。根据建筑物的不同,这些区域可能彼此重叠或分离。尽管二维投影的路径可能(且经常需要)重叠,但请避免重叠以此表示的三维体积——尤其不要重叠相同路径的体积。
有关建筑物属性标签的详细信息,请参见以下部分,该属性标签通常应用于用building:part=*标记的区域。
标记有building:part=*的区域主要用于3D渲染。2D渲染器将忽略下一节中描述的建筑物属性标签。
提示:重叠这样的形状可能很难选择。在JOSM中,在按住“ Alt”键的同时单击以在重叠的对象之间循环并进行所需的选择。(from https://blog.mapbox.com)
建筑物关系
如果建筑物的至少一部分悬空在建筑物的投影上方,或者建筑物的结构复杂有很多部分,则可以使用type=building关系对建筑物轮廓和所有建筑物部分一起组合。否则,无需创建type=building关系,即如上所述简单地将所有建筑物部件放置在建筑物轮廓内。
如果某建筑物存在type=building关系,则必须将所有建筑物部件列为具有 part角色的关系成员。必须以角色 outline列出建筑物轮廓线。在存在type=building关系的情况下,可以相对于建筑物轮廓以任何可能的方式(内部,外部,相交,接触)定位建筑物的各个部分。
如果没有type=building关系,则应用程序将建筑物轮廓区域内的所有建筑部分都视为该建筑物的一部分。
标注建筑物轮廓与部分
以下标签可用于建筑物轮廓和建筑物部分。
高度与层数
关键字 | 注解 |
---|---|
height=* | 与地面接触的最低位置与建筑物屋顶顶部之间的距离,不包括安装在屋顶上的天线,尖塔和其他设备。 |
min_height=* | 建筑物下表面的大概高度。 请注意,当使用min_height时,height仍被定义为从地面到建筑物顶部的距离。 因此,具有3米高的连廊(连廊的底部位于离地面10米的位置)应有min_height=10, height=13标签。 |
building:levels=* | 建筑物在地面以上的层数(不包括屋顶中的楼层),以供对建筑物进行纹理处理。
如果标注新建筑物,请试着标注height值,仅使用building:levels=*作为高度标签的补充! |
building:min_level=* | 类似于min_height的建筑物部分中跳过的楼层。 |
屋顶
屋顶形状
您可以使用常见屋顶类型的目录来表征建筑物的屋顶。
图片 | ||||||
---|---|---|---|---|---|---|
roof:shape | flat | skillion | gabled | half-hipped | hipped | pyramidal |
平顶 | 披屋 | 山墙 | 两坡 | 四坡 | 金字塔形 |
图片 | ||||||
---|---|---|---|---|---|---|
roof:shape | gambrel | mansard | dome | onion | round | saltbox |
复斜 | 折面 | 球形 | 洋葱式 | 圆柱形 | 盐盒式 |
其他屋顶标签
关键字 | 注解 |
---|---|
roof:orientation=along/across | 对于带有屋脊的屋顶,假定屋脊与建筑物的最长边平行(roof:orientation=along)。但是可以使用此标签明确标注。 |
roof:height=* | 建筑物的高度(即立面的高度)计算为建筑物的总height=*减去roof:height=*。 |
roof:angle=* | 除了roof:height=*之外,还可以通过提供坡面的倾斜度(以度为单位)来间接指定屋顶高度。 |
roof:levels=* | 尚未计入building:levels=*中的屋顶内楼层数。 |
roof:direction=* | 从屋顶背面指向正面的方向,即屋顶坡面朝向的方向。 |
标签提案
某些屋顶(例如方形建筑物)无法使用本页上描述的简单技术准确建模。
基本三维建筑提案中建议了其他屋顶形状,包括用于手动建模的高级方法(例如屋顶线提案或OSM-4D/Roof_table的一部分)。
本节为模板,editable here,可于此处编辑。
表面颜色与材质
关键字 | 注解 |
---|---|
building:colour=* | 建筑立面颜色。参阅colour=*以获取可能的值。 |
roof:colour=* | 屋顶颜色。参阅colour=*以获取可能的值。 |
building:material=* | 建筑立面材料。 |
roof:material=* | 屋顶材料。 |
3D范例
要查看大规模的3D建筑群,请参见此处的示例: 3D示范区
要查看单个3D建筑物,请参见此处的示例: 3D建筑范例
软件支持
- 主条目:3D development
许多地图和工具都支持简单的3D建筑架构。首批工具包括2009年的OSM-3D.org渲染器,2011年的OSM2World渲染器和Kendzi3D插件,以及2012年的Nutiteq Android 3D映射SDK(现为Carto Mobile SDK)和WikiMiniAtlas。OSMBuildings在2012年推出了2.5D显示,随后是2015年的3D版本。2013年,F4 Map成为第一个完全支持简单3D建筑架构的渲染器。
编辑工具
软件名称 | 平台 | 架构支持 | 许可 | 备注 |
---|---|---|---|---|
Kendzi3d | Windows, macOS, Linux | 是 | BSD | JOSM插件 |
SketchOSM | Windows | 部分的 | Proprietary | SketchUp plugin in beta |
地图应用
应用名称 | 平台 | 架构支持 | 许可 | 备注 |
---|---|---|---|---|
Streets GL | Web | 是 | MIT | |
OSM2World | Web | 部分的 | LGPL | Currently implementing the remaining features for the 0.2.0 release - slippymap (Germany only) |
OSMBuildings | Web | 部分的 | BSD | |
F4 Map | Web | 是 | Proprietary | 具有渲染和场景支持的Demo Web Map |
Mapbox Static API | Web | 部分的 | BSD | 需要一个免费的Mapbox Studio帐户。 |
OpenScienceMap | Web | 部分的 | LGPL | Interprets only height/min_height tags client-side. The S3DB Layer uses vtm meshes generated on the server (using plpgsql with PostGIS and SFCGAL). Web map |
CartoType Maps App | Windows, Linux, Macintosh | 部分的 | Proprietary but unrestricted use | 专有CartoType库的免费演示应用程序。CartoType GL版本实现了大多数屋顶形状。包括样式表编辑器。 |
OSG-Maps | Android | 部分的 | Proprietary | |
OSM-3D.org | Web | 部分的 | see OSM-3D#Buildings | |
osmapa.pl Mapnik stylesheet | Web | 部分的 | 在2.5D视图中实现的大多数屋顶类型 | |
OSM go | Web | 部分的 | GPL | 仅金字塔顶和圆顶(但默认为平顶) |
WikiMiniAtlas | Web | 部分的 | GPL | 仅金字塔顶 |
VR Map | Web | 部分的 | MPL | 仅高度和颜色 |
地图框架
- 主条目:Frameworks
软件名称 | 平台 | 语言 | 架构支持 | 许可 | 备注 |
---|---|---|---|---|---|
Carto Mobile SDK | Android, iOS, Windows Phone | Java, Objective-C++, Swift, C# | 部分的 | BSD | most roof shapes supported; see Carto's documentation |
CartoType for Android | Android | Java | 部分的 | Proprietary | Most roof shapes supported.Styles can be controlled using CartoType's XML style sheets. Uses OpenGL ES graphics acceleration. Viewing angle, height, field of view, etc., can be modified. |
CartoType for iOS | iOS | Objective C, Swift | |||
CartoType for C++ | Windows, Linux, OS X (Macintosh) | C++ | |||
CartoType for .NET | Windows | C#, VB.NET and other .NET languages | |||
CartoType for Qt | Qt on Windows, Mac (OS X) and Linux | C++ | |||
Mapbox GL JS | Web | JavaScript | 部分的 | BSD | Options for customizing 3D building display are included in the Mapbox Style Specification. (See Mapbox's blog post announcing GL JS support.) |
Mapbox Android SDK | Android | Java | |||
Mapbox iOS SDK | iOS | Objective-C, Swift, Interface Builder | |||
Mapbox macOS SDK | macOS | Objective-C, Swift, Interface Builder, AppleScript | |||
Mapbox Qt SDK | Qt | C++, QML | |||
Mapbox Unity SDK | Cross-platform | C# | Apache | ||
node-mapbox-gl-native | Node.js | JavaScript | BSD | ||
osm2x3d | Web | 部分的 | Unknown | see also [1] and [2] | |
OSMBuildings | Web | JavaScript | 部分的 | BSD | 2.5D and 3D versions available |
Tangram | Web | JavaScript | 部分的 | MIT | Mapzen renders 3D buildings in Tangram and other products |
Tangram ES | Android, iOS, Linux, macOS | C++ | |||
VTM | Android, iOS, Web | Java | 部分的 | LGPL | Part of the mapsforge project. |
设计工具
软件名称 | 平台 | 架构支持 | 许可 | 描述 |
---|---|---|---|---|
blender-osm | Windows, macOS, Linux | 部分的 | GPL | One click download and import of OpenStreetMap and terrain. Can import more than 100,000 buildings. A large number of roof shapes is supported: flat, gabled, hipped (for a quadrangle outline only), mono-pitched, half-hipped, round, pyramidal, gambrel, dome, onion and saltbox. |
Mapbox Studio | Web | 部分的 | Proprietary | Includes a Mapbox GL style editor that supports building (part) heights. |
Maputnik | Web | 部分的 | MIT | A Mapbox GL style editor that supports building (part) heights. |
Tangram Play | Web | 部分的 | MIT | A Tangram scene editor that supports extruded buildings with heights based on OSM data. |
术语
帮助您理解建筑术语的图片。
相关提案
- F3DB (Full 3D buildings)