{"id":13,"date":"2017-05-12T23:38:54","date_gmt":"2017-05-12T23:38:54","guid":{"rendered":"https:\/\/propagationtools.com\/wireless\/?p=13"},"modified":"2017-05-21T14:41:32","modified_gmt":"2017-05-21T14:41:32","slug":"introducing-the-simple-obl-vector-building-data-format","status":"publish","type":"post","link":"https:\/\/propagationtools.com\/wireless\/introducing-the-simple-obl-vector-building-data-format\/","title":{"rendered":"Introducing the Simple OBL Vector Building Data Format"},"content":{"rendered":"\n<div id=\"fb-root\"><\/div>\n<script>(function(d, s, id) {\n  var js, fjs = d.getElementsByTagName(s)[0];\n  if (d.getElementById(id)) return;\n  js = d.createElement(s); js.id = id;\n  js.src = \"\/\/connect.facebook.net\/en_GB\/sdk.js#xfbml=1&version=v2.6&appId=857807644244147\";\n  fjs.parentNode.insertBefore(js, fjs);\n}(document, 'script', 'facebook-jssdk'));<\/script>\n\n<div class=\"fb-like\" data-href=\"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/posts\/13\" data-layout=\"button_count\" data-action=\"like\" data-show-faces=\"false\" data-share=\"false\"><\/div><BR\/><div class='wp_content'><p>For outdoor scenarios, we often consider each building as the minimal unit, while in indoor scenarios, it can be further decomposed into walls. Despite many existing data formats, e.g. DXF\/DWG, Planet, we need something that is simple and does the job pretty well. The XML presents a well-structure document but is considered redundant especially if there are a huge number of walls\/buildings. Therefore, we are introducing the very simple OBL data format that can be used to store a list of vector building objects in text file format.<\/p>\n<h2>Starting a Comment<\/h2>\n<p>Here is a simple comment, that starts with a &#8216;C&#8217; or &#8216;c&#8217; (case insensitive for OBL file).<\/p>\n<pre lang=txt>\r\nC VERSION 0\r\n<\/pre>\n<h2>Starting a Polygon Plane<\/h2>\n<p>A Polygon consists of at least 3 vertices which are all 3D coordinates. So, to start a plane, use the following format:<\/p>\n<pre lang=txt>\r\nF OBJ_NAME VERTICE_COUNT X1 Y1 Z1 X2 Y2 Z2 ... XN YN ZN\r\n<\/pre>\n<p>As we can see, the values are separated by white space, if the layer name contains space, we can encapsulate the string with double quotes or single quotes. <\/p>\n<h2>Starting a 2.5D Outdoor Building<\/h2>\n<p>The 2.5D is defined as a bottom-polygon-shape and a height, which virtually makes a column, as shown below:<\/p>\n<div id=\"attachment_14\" style=\"width: 177px\" class=\"wp-caption alignnone\"><img  title=\"2.5d-building-column Introducing the Simple OBL Vector Building Data Format Building Modelling Data Formats \" loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-14\" src=\"https:\/\/propagationtools.com\/wireless\/wp-content\/uploads\/2017\/05\/2.5d-building-column.jpg\"  alt=\"2.5d-building-column Introducing the Simple OBL Vector Building Data Format Building Modelling Data Formats \"  width=\"167\" height=\"247\" class=\"size-full wp-image-14\" srcset=\"https:\/\/propagationtools.com\/wireless\/wp-content\/uploads\/2017\/05\/2.5d-building-column.jpg 167w, https:\/\/propagationtools.com\/wireless\/wp-content\/uploads\/2017\/05\/2.5d-building-column-100x148.jpg 100w\" sizes=\"auto, (max-width: 167px) 100vw, 167px\" \/><p id=\"caption-attachment-14\" class=\"wp-caption-text\">2.5d-building-column<\/p><\/div>\n<p>This is perfect for defining outdoor buildings as we, most of the cases, don&#8217;t have details for each buildings except the building polygon shapes and their heights (yes, some companies sell the outdoor city digital map data that can be best described as 2D coordinates and the heights for each building).<\/p>\n<p>To start defining a 2.5D <a  href=\"https:\/\/propagationtools.com\/wireless\/building-significant-factors-affect-5g-propagation-modelling\/\">building<\/a>, the syntax is quite similar than defining a Polygon plane.<\/p>\n<pre lang=txt>\r\nB BUILDING_NAME VERTICE_COUNT X1 Y1 Z1 X2 Y2 Z2 ... XN YN ZN HEIGHT\r\n<\/pre>\n<p>The annotation is B (Building) instead of F (Floor). And the last value is the height for this building in the unit of meters. Please note that the height value extends the building towards its plane normal vector so make sure it is pointing upwards i.e. you may need to list the building coordinates in the anti-clockwise order.<\/p>\n<p>Please note that a 2.5D building object with <i>N<\/i> coordinates will be eventually expanded to <I>N+2<\/I> polygons i.e. <I>N<\/I> walls, 1 roof and 1 ground.<\/p>\n<h2>OBL Sample Data<\/h2>\n<p>With these 3 annotations, we can easily define a outdoor\/indoor vector building\/walls format, which is space-saving and easy to parse, as compared to XML.<\/p>\n<pre lang=txt>\r\nC SAMPLE OBL\r\nF TRIANGLE 3 0 0 0 10 10 0 5 5 0\r\nB BUILDING 3 0 0 0 10 10 0 5 5 0 5\r\n<\/pre>\n<p>A sample OBL file can be <a href='\/data\/sample.obl'>downloaded here<\/a>.<\/p>\n\n<div class=\"fb-like\" data-href=\"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/posts\/13\" data-layout=\"button_count\" data-action=\"like\" data-show-faces=\"false\" data-share=\"false\"><\/div>  <font color=gray>505 words<\/font> \n\n<BR\/><\/div> <div>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- propagation blog bot -->\n<ins class=\"adsbygoogle\"\n     style=\"display:block\"\n     data-ad-client=\"ca-pub-5311181282559050\"\n     data-ad-slot=\"8425782656\"\n     data-ad-format=\"auto\"><\/ins>\n<script>\n(adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/div><div>\n\n<\/div><div class=\"addthis_toolbox addthis_default_style addthis_32x32_style\">\n<a class=\"addthis_button_facebook\"><\/a>\n<a class=\"addthis_button_twitter\"><\/a>\n<a class=\"addthis_button_linkedin\"><\/a>\n<a class=\"addthis_button_google_plusone_share\"><\/a>\n<a class=\"addthis_button_reddit\"><\/a>\n<a class=\"addthis_button_email\"><\/a>\n<\/div><BR\/>","protected":false},"excerpt":{"rendered":"<p>For outdoor scenarios, we often consider each building as the minimal unit, while in indoor scenarios, it can be further decomposed into walls. Despite many existing data formats, e.g. DXF\/DWG, Planet, we need something that is simple and does the job pretty well. The XML presents a well-structure document but is considered redundant especially if<span class=\"continue-reading\"> <a href=\"https:\/\/propagationtools.com\/wireless\/introducing-the-simple-obl-vector-building-data-format\/\"><B>Continue Reading<\/B> &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":14,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,12],"tags":[13,14],"class_list":["post-13","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-building-modelling","category-data-formats","tag-simple-obl","tag-vector-building-data-format"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":0,"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/media\/14"}],"wp:attachment":[{"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/propagationtools.com\/wireless\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}