summaryrefslogtreecommitdiff
path: root/create-data.js
diff options
context:
space:
mode:
authorChristopher Baines <cb15g11@soton.ac.uk>2014-09-10 21:08:36 +0100
committerChristopher Baines <cb15g11@soton.ac.uk>2014-09-10 21:08:36 +0100
commit25046fb610d1198c8c1fbc511e6538c4af48ba42 (patch)
treead57c7ddaa3b34394e7885938a0886389394cacd /create-data.js
parent47f0d35c5d1e7b210fce4928d62cdfe0ae5b5961 (diff)
downloadleaflet-soton-25046fb610d1198c8c1fbc511e6538c4af48ba42.tar
leaflet-soton-25046fb610d1198c8c1fbc511e6538c4af48ba42.tar.gz
Improve portal/door handling
Diffstat (limited to 'create-data.js')
-rwxr-xr-xcreate-data.js44
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);
});