User Tools

Site Tools


Writing /app/www/public/data/meta/development/applications/ems/indoormapping.meta failed
development:applications:ems:indoormapping

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
development:applications:ems:indoormapping [2017/07/18 14:02] – [Loading of the Venue Data] wleedevelopment:applications:ems:indoormapping [2021/06/25 10:09] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== Indoor Mapping Widget ======
 +
 +Authors: Andrey Shevyakov and Won Lee
 +
 +User manual is available [[https://idmsqa.errigal.com/Support/userGuide/document/8|here.]]
 +
 +===== Data Model =====
 +{{:development:applications:ems:indoor_mapping_model.png?800|}}
 +
 +
 +===== Rendering Mechanics =====
 +
 +The GWT widget is used for the information presentation.
 +
 +==== Building (Venue) Drill-Down Level ====
 +All zones are visible. The venue layout image is visible (if set up). The building (venue) boundaries are determined by its most northeastern and most southwestern points (always square shape, obviously). The zones shapes (polygons) are formed from their child section shapes (polygons). A zone shape (polygon) is rendered based on the supplied LatLng order (**SectionBoundary** model, **latLngZoneOrder** property). 
 +
 +{{:development:applications:ems:venue.png?600|}}
 +
 +==== Level Drill-Down Level ====
 +All child sections are visible. The level layout image is visible (if set up). The level boundaries are determined by its most northeaster and most southwestern points (always square shape, obviously).
 +
 +{{:development:applications:ems:level.png?600|}}
 +
 +==== Zone Drill-Down Level ====
 +All child sections are visible. The level selection list is filtered to exclude levels which do not share the currently visible child sections. The zone has no boundaries and no image.
 +
 +{{:development:applications:ems:zone.png?600|}}
 +
 +==== Section Drill-Down Level ====
 +The currently selected section is visible. The currently selected section-associated network elements (**NetworkElementSection** model) are visible (the alarms on the network elements are only visible to the relevant users (carrier-visibility filtering)). The section shape (polygon) is rendered based on the supplied LatLng order (**SectionBoundary** model, **latLngOrder** property). 
 +
 +{{:development:applications:ems:section.png?600|}}
 +
 +====== Loading of the Venue Data ======
 +
 +
 +
 +====== Hours Spent for each Venue ======
 +
 +===== AT&T Stadium =====
 +Around 80 hours to complete.
 +
 +  * 10 hours to create script that converting loading sheet into sql script
 +  * 15 hours to identify section boundary (writing on paper)
 +  * 55 hours to populating LatLng data
 +
 +====== Data Customer should provide us ======
 +
 +===== Floor Plan Image =====
 +This is the image to be used as Overlay Image for Level.
 +Image below is modified by Errigal, adding transparency to outside stadium floor.
 +
 +{{:development:applications:ems:wiki_vdl_att-s_ul_floor_plan.png?nolink|}}
 +
 +===== Data for define section boundary and network element belongings =====
 +
 +Those documents don't have to be separate documents except Floor Plan.
 +Floor Plan image will be used as overlay image so it will be better if
 +image doesn't contain a lot of clutters that makes map difficult to see.
 +Following document will help [determining Section Boundary](#draw_section_on_paaper).
 +
 +==== Zone Divided Floor Image ====
 +
 +This gives you idea how zone are divided.
 +
 +{{:development:applications:ems:wiki_vdl_att-s_ul_zone.jpg?nolink|}}
 +
 +==== Document that describes where Network Element located in each Level ====
 +
 +This document gives you idea where network element and antenna connected to RU are located.
 +
 +{{:development:applications:ems:wiki_vdl_ru_antenna_location.png?nolink|}}
 +
 +==== Document that describes what Antenna connected to Network Element ====
 +
 +This document will be necessary if above document is difficult to see Antenna - Network Element connection.
 +This could happen because document is low resolution or to many lines draw close togather.
 +
 +
 +This document gives you idea what antenna connected to network element.
 +
 +{{:development:applications:ems:wiki_vdl_ru_antenna_connection.png?nolink|}}
 +
 +==== Ideal Document Provided ====
 +
 +If we could get document that already has section boundary, we don't have to do work written in section [determining Section Boundary](#draw_section_on_paaper).
 +
 +Example is
 +{{:development:applications:ems:wiki_vdl_section_boundary_on_paper.jpg?nolink|}}
 +
 +===== Document that connect network element in SnmpManager and above document <a name="ne_connect_document"></a> =====
 +
 +Network Element (RU) name in Document from AT&T Stadium example is totally different from what's in SnmpManager database.
 +
 +{{:development:applications:ems:wiki_vdl_loading_sheet_att-s.png?nolink|}}
 +
 +====== Process Data ======
 +
 +Scripts that could be useful can be found in [[https://bitbucket.org/errigal/ems-venue-data-loading/src|Bitbucket]]
 +===== Draw Section Boundary on Paper <a name="draw_section_on_paaper"></a> =====
 +
 +{{:development:applications:ems:wiki_vdl_section_boundary_on_paper.jpg?nolink|}}
 +
 +If, sadly, you didn't get document that how section is divided, you have to draw section boundary by your self.
 +
 +  * Print out floor plan image
 +  * Check where RU and it's antenna located
 +  * Draw line into paper
 +
 +Good things about paper are easy to discard and easy to recover all line you draw correctly.
 +
 +**Section is supposed to be CONTIGUOUS**
 +
 +  * It can't cross zone and level
 +  * It can't be divided by another section
 +
 +Venue map doesn't such a section
 +
 +Section can contain multiple RU.
 +Check [document](#ne_connect_document) carefully.
 +
 +===== Build Basic & Scaffolding Building Data =====
 +
 +==== VenueOwner and Building. ====
 +
 +VenueOwner is simple domain that only has name.
 +
 +Building has following fields
 +
 +  * name
 +  * buildingImage ... image to be used as overlay in map
 +  * northEast ... LatLng that specify north east point and used as south east corner of overlay image
 +  * southWest ... LatLng that specify south west point and uses as south west corner of overlay image
 +
 +Image is not necessary. northEast and southWest is necessary.
 +Those two point also used to calculate center of map.
 +
 +==== Zone, Level and Section ====
 +
 +If datasource is name_in_trap field of load sheet, you may be able to use [[https://bitbucket.org/errigal/ems-venue-data-loading/src||script]].
 +
 +For AT&T Stadium, I turned all name_in_trap field value into new line separated file.
 +Script parse each line and create insert statement for zone, level and section.
 +
 +{{:development:applications:ems:wiki_vdl_loading_sheet_att-s.png?nolink|}}
 +
 +Zone is simple domain that has name.
 +It also has building_id filed which specify which building the zone belongs to.
 +
 +Level domain has following fields
 +
 +  * name
 +  * overlayImage ... image to be used as overlay in map
 +  * northEast ... LatLng that specify north east point and used as south east corner of overlay image
 +  * southWest ... LatLng that specify south west point and uses as south west corner of overlay image
 +  * building_id ... specify which building the zone belongs to
 +
 +northEast and southWest is mandatory. Ideally this is the same as building.
 +
 +Section domain has following fields
 +
 +  * name
 +  * level_id ... specify which level the section belongs to
 +  * zone_id ... specify which zone the section belongs to
 +  * manuallyOrderedBoundaries ... field that forgotten to remove, not used
 +
 +In order to map works, you need to add SectionBoundary entry for each section you've created.
 +For now, create temporal/scaffold LatLng point. Assign that LatLng to all section you've created.
 +The same LatLng can be used for unlimited number of sections.
 +
 +===== Create Section Boundary =====
 +
 +All the boundary you see in the map is stored in LatLng (lat_lng) domain.
 +
 +LatLng and section association are stored in SectionBoundary (section_boundary) domain.
 +
 +SectionBoundary is linking domain which holds
 +
 +  * Section
 +  * LatLng
 +  * lat_lng_order ... order of rendering for section, can be NULL
 +  * lat_lng_zone_order ... order of rendering for zone, can be NULL
 +
 +if order is not filled in, it will use SectionBoundary's id in descending order.
 +If oder is filled in for some of entry, only the SectionBoundary with order not null will be used.
 +
 +<code>
 +def zoneBoundaries = SectionBoundary.findAllBySectionInListAndLatLngZoneOrderIsNotNull(sections)
 +if (zoneBoundaries.size() == 0) {
 +  zoneBoundaries = SectionBoundary.findAllBySectionInList(sections)
 +}
 +</code>
 +
 +In order to assist getting coordinate, open console of your browser.
 +Click any point in Venue Overview Map widget.
 +You will see latitude and longitude are displayed in console.
 +
 +{{:development:applications:ems:wiki_vdl_browser_console.png?nolink|}}
 +
 +LatLng domain has following fields.
 +
 +  * latitude ... float(9,6)
 +  * longitude ... float(9,6)
 +  * label ... format used for AT&T stadium is "BuildingName - LevelName - ZoneNames - SectionNames"
 +
 +If LatLng is used by multiple level, zone and section, use character "&" and by alphanumeric order.
 +
 +For instance, "AT&T Stadium - Main & ROH - Zone 17 & 48 - 401 & 603 & 700".
 +
 +Be very very careful if LatLng can be used by multiple sections, crossing different levels.
 +Reuse of LatLng makes maps looks better because there are less overlapping polygons on the map.
 +But if you didn't label correctly, you might miss LatLng when you putting seciton boundary for another section in different Level or/and Zone.
 +
 +**Label IS Important**
 +
 +{{:development:applications:ems:wiki_vdl_section_boundary_entry.png?nolink|}}
 +
 +Insert new entry into section_boundary.
 +I strongly recommend that lat_lng_id follows descending order as id for section_boundary.
 +
 +{{:development:applications:ems:wiki_vdl_lat_lng_zone_2.png?nolink|}}
 +{{:development:applications:ems:wiki_vdl_section_boundary_zone_2.png?nolink|}}