diff options
author | Christopher Baines <cb15g11@soton.ac.uk> | 2014-09-10 21:08:36 +0100 |
---|---|---|
committer | Christopher Baines <cb15g11@soton.ac.uk> | 2014-09-10 21:08:36 +0100 |
commit | 25046fb610d1198c8c1fbc511e6538c4af48ba42 (patch) | |
tree | ad57c7ddaa3b34394e7885938a0886389394cacd /create-data.js | |
parent | 47f0d35c5d1e7b210fce4928d62cdfe0ae5b5961 (diff) | |
download | leaflet-soton-25046fb610d1198c8c1fbc511e6538c4af48ba42.tar leaflet-soton-25046fb610d1198c8c1fbc511e6538c4af48ba42.tar.gz |
Improve portal/door handling
Diffstat (limited to 'create-data.js')
-rwxr-xr-x | create-data.js | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/create-data.js b/create-data.js index 60947d2..2cd3353 100755 --- a/create-data.js +++ b/create-data.js @@ -660,17 +660,23 @@ function createBuildingParts(buildings, callback) { portal.buildingpart = "entrance"; - buildingParts.push({ + var portalObj = { type: "Feature", - geometry: { + + properties: portal + }; + + if ("lat" in portal && "lon" in portal) { + portalObj.geometry = { type: "Point", coordinates: [ parseFloat(portal.lon, 10), parseFloat(portal.lat, 10) ] - }, - properties: portal - }); + }; + } + + buildingParts.push(portalObj); buildingProperties = building.properties; if (!("entrances" in buildingProperties)) { @@ -1066,11 +1072,11 @@ PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>\ SELECT * WHERE {\ ?portal a portals:BuildingEntrance;\ portals:connectsBuilding ?building;\ - rdfs:comment ?comment;\ - rdfs:label ?label;\ - geo:lat ?lat;\ - geo:long ?long;\ OPTIONAL {\ + ?portal rdfs:comment ?comment .\ + ?portal rdfs:label ?label .\ + ?portal geo:lat ?lat .\ + ?portal geo:long ?long .\ ?portal portals:connectsFloor ?floor\ }\ }" @@ -1095,16 +1101,28 @@ SELECT * WHERE {\ var obj = { uri: portal.portal.value, building: portal.building.value, - label: portal.label.value, - comment: portal.comment.value, - lat: portal.lat.value, - lon: portal.long.value } if ("floor" in portal) { obj.floor = portal.floor.value; } + if ("label" in portal) { + obj.label = portal.label.value; + } + + if ("comment" in portal) { + obj.comment = portal.comment.value; + } + + if ("lat" in portal) { + obj.lat = portal.lat.value; + } + + if ("long" in portal) { + obj.lon = portal.long.value; + } + portals.push(obj); }); |