Skip to content
Permalink
Browse files

NVDB-4152: Updated client to responseRevision 1

  • Loading branch information...
krimjo committed Aug 30, 2019
1 parent 1bc7508 commit 3765e42a30728fb4efc023c2f72472a046ec20a2
@@ -53,7 +53,7 @@
private final String userAgent;
private final String xClientName;

private static final String apiRevision = "application/vnd.vegvesen.nvdb-v3-rev0+json";
private static final String apiRevision = "application/vnd.vegvesen.nvdb-v3-rev1+json";
private final ProxyConfig proxyConfig;

private Datakatalog datakatalog;
@@ -75,30 +75,13 @@ public static Geometry parseAttribute(JsonObject obj) {
String wkt = parseStringMember(obj, "verdi");
Projection srid = Projection.UTM33;

Quality quality = getAttributeQuality(obj);
Quality quality = getQuality(obj);

GeometryAttributes geometryAttributes = getGeometryAttributes(obj);

return new Geometry(wkt, srid, quality, false, true, geometryAttributes);
}

/*
Remove in response rev 1
*/
private static Quality getAttributeQuality(JsonObject obj) {
if (obj.has("kvalitet")) {
Integer method = parseIntMember(obj, "kvalitet.målemetode");
Integer accuracy = parseIntMember(obj, "kvalitet.nøyaktighet");
Integer heightMethod = parseIntMember(obj, "kvalitet.målemetodeHøyde");
Integer heightAccuracy = parseIntMember(obj, "kvalitet.nøyaktighetHøyde");
Integer tolerance = parseIntMember(obj, "kvalitet.maksimaltAvvik");
Integer visibility = parseIntMember(obj, "kvalitet.synbarhet");
return new Quality(method, accuracy, heightMethod, heightAccuracy, tolerance, visibility);
} else {
return null;
}
}

private static Quality getQuality(JsonObject obj) {
if (obj.has("kvalitet")) {
Integer method = parseIntMember(obj, "kvalitet.metode");
@@ -73,11 +73,6 @@ static Placement parsePlacement(JsonObject obj) {
return parsePlacement(obj, "startposisjon", "sluttposisjon");
}

// Will be fixed in response rev1
static RefLinkExtentPlacement parseRefLinkExtentPlacementAttribute(JsonObject obj) {
return parseRefLinkExtentPlacement(obj, "fra_posisjon", "til_posisjon");
}

public static RefLinkExtentPlacement parseRefLinkExtentPlacement(JsonObject obj) {
return parseRefLinkExtentPlacement(obj, "startposisjon", "sluttposisjon");
}
@@ -108,12 +103,7 @@ private static RefLinkExtentPlacement parseRefLinkExtentPlacement(JsonObject obj
String endPosField) {
if (isNull(obj)) return null;

long netElementId;
if(obj.has("veglenkesekvens")){
netElementId = parseLongMember(obj, "veglenkesekvens");
}else{
netElementId = parseLongMember(obj, "netelementid");
}
long netElementId = parseLongMember(obj, "veglenkesekvensid");

double startPos, endPos;
if (obj.has("relativPosisjon")) {
@@ -200,7 +200,7 @@ private static Segment parseSegment(JsonObject obj) {
double endPos = isPoint ? startPos : parseDoubleMember(obj, "sluttposisjon");

return new Segment(
parseLongMember(obj, "veglenkesekvens"),
parseLongMember(obj, "veglenkesekvensid"),
startPos,
endPos,
geo,
@@ -254,18 +254,18 @@ public static Attribute parseAttribute(JsonObject obj) {
case "Linje":
return new ReflinkExtentAttribute(
id,
parseLongMember(obj, "netelementid"),
parseLongMember(obj, "veglenkesekvensid"),
Direction.from(parseStringMember(obj, "retning")),
SidePosition.from(parseStringMember(obj, "sideposisjon")),
parseStringListMember(obj, "kjørefelt"),
parseDoubleMember(obj, "fra_posisjon"),
parseDoubleMember(obj, "til_posisjon")
parseDoubleMember(obj, "startposisjon"),
parseDoubleMember(obj, "sluttposisjon")
);
case "Sving": return new TurnExtent(
id,
parseLongMember(obj, "netelementid"),
PlacementParser.parseRefLinkExtentPlacementAttribute(obj.getAsJsonObject("startpunkt")),
PlacementParser.parseRefLinkExtentPlacementAttribute(obj.getAsJsonObject("sluttpunkt"))
parseLongMember(obj, "nodeid"),
PlacementParser.parseRefLinkExtentPlacement(obj.getAsJsonObject("startpunkt")),
PlacementParser.parseRefLinkExtentPlacement(obj.getAsJsonObject("sluttpunkt"))
);
default: throw new IllegalArgumentException("Unknown stedfestingstype " + stedfestingstype);
}
@@ -36,7 +36,7 @@
private ShortRefLinkParser() {}

public static RefLinkPosition parseShortRefLink(JsonObject reflink) {
int id = parseIntMember(reflink, "veglenkesekvens");
int id = parseIntMember(reflink, "veglenkesekvensid");
double position = parseDoubleMember(reflink, "relativPosisjon");
String shortName = parseStringMember(reflink, "kortform");

@@ -20,7 +20,7 @@
"kortform": "FV913 S1D1 M962"
},
"veglenkesekvens": {
"veglenkesekvens": 320753,
"veglenkesekvensid": 320753,
"relativPosisjon": 0.99636,
"kortform": "0.99636@320753"
},
@@ -43,10 +43,9 @@
"egenskapstype": "Stedfesting",
"datatype": "GeomLinje eller Kurve",
"stedfestingstype": "Linje",
"netelementid": 383266,
"netelementtype": 50002,
"fra_posisjon": 0.0,
"til_posisjon": 1.0,
"veglenkesekvensid": 383266,
"startposisjon": 0.0,
"sluttposisjon": 1.0,
"retning": "MED",
"kjørefelt": []
}
@@ -93,7 +92,7 @@
"stedfestinger": [
{
"type": "Linje",
"veglenkesekvens": 383266,
"veglenkesekvensid": 383266,
"startposisjon": 0.0,
"sluttposisjon": 1.0,
"kortform": "0.0-1.0@383266",
@@ -109,7 +108,7 @@
},
"vegsegmenter": [
{
"veglenkesekvens": 383266,
"veglenkesekvensid": 383266,
"startposisjon": 0.0,
"sluttposisjon": 1.0,
"lengde": 46,
@@ -133,7 +132,7 @@
}
},
{
"veglenkesekvens": 383266,
"veglenkesekvensid": 383266,
"startposisjon": 0.0,
"sluttposisjon": 1.0,
"lengde": 46,
@@ -18,10 +18,9 @@
"egenskapstype": "Stedfesting",
"datatype": "GeomPunkt",
"stedfestingstype": "Punkt",
"netelementid": 384011,
"netelementtype": 50002,
"fra_posisjon": 0.07178555,
"til_posisjon": 0.07178555,
"veglenkesekvensid": 384011,
"startposisjon": 0.07178555,
"sluttposisjon": 0.07178555,
"retning": "MED",
"kjørefelt": []
},
@@ -124,7 +123,7 @@
"stedfestinger": [
{
"type": "Punkt",
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"kortform": "0.07178555@384011",
"kjørefelt": [],
@@ -138,7 +137,7 @@
},
"vegsegmenter": [
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2000-11-27",
"sluttdato": "2003-05-21",
@@ -151,7 +150,7 @@
"vegsystemreferanse": {}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2003-05-21",
"sluttdato": "2003-07-01",
@@ -164,7 +163,7 @@
"vegsystemreferanse": {}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2003-07-01",
"sluttdato": "2007-07-08",
@@ -186,7 +185,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2007-07-08",
"sluttdato": "2007-08-30",
@@ -208,7 +207,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2007-08-30",
"sluttdato": "2008-01-01",
@@ -230,7 +229,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2008-01-01",
"sluttdato": "2011-01-01",
@@ -252,7 +251,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2011-01-01",
"sluttdato": "2013-02-26",
@@ -274,7 +273,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2013-02-26",
"sluttdato": "2014-05-01",
@@ -296,7 +295,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2014-05-01",
"sluttdato": "2016-01-01",
@@ -318,7 +317,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2016-01-01",
"sluttdato": "2016-03-10",
@@ -340,7 +339,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2016-03-10",
"sluttdato": "2017-09-29",
@@ -362,7 +361,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2017-09-29",
"sluttdato": "2017-11-07",
@@ -384,7 +383,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2017-11-07",
"sluttdato": "2017-12-15",
@@ -406,7 +405,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2017-12-15",
"sluttdato": "2018-01-01",
@@ -428,7 +427,7 @@
}
},
{
"veglenkesekvens": 384011,
"veglenkesekvensid": 384011,
"relativPosisjon": 0.07178555,
"startdato": "2018-01-01",
"geometri": {
@@ -38,12 +38,12 @@
"datatype": "GeomPunkt",
"verdi": "POINT Z(88206.76856 6783844.94758 259.86262)",
"kvalitet": {
"målemetode": 95,
"metode": 95,
"nøyaktighet": 5,
"synbarhet": 2,
"målemetodeHøyde": 1,
"nøyaktighetHøyde": 1,
"maksimaltAvvik": 2
"høydemetode": 1,
"høydenøyaktighet": 1,
"toleranse": 2
},
"datafangstdato": "1012-12-12",
"verifiseringsdato": "1012-12-13",
@@ -120,10 +120,9 @@
"egenskapstype": "Stedfesting",
"datatype": "GeomPunkt",
"stedfestingstype": "Punkt",
"netelementid": 384011,
"netelementtype": 50002,
"fra_posisjon": 0.07178555,
"til_posisjon": 0.07178555,
"veglenkesekvensid": 384011,
"startposisjon": 0.07178555,
"sluttposisjon": 0.07178555,
"retning": "MED",
"kjørefelt": ["1"],
"sideposisjon": "MH"
@@ -133,10 +132,9 @@
"egenskapstype": "Stedfesting",
"datatype": "GeomPunkt",
"stedfestingstype": "Linje",
"netelementid": 384011,
"netelementtype": 50002,
"fra_posisjon": 0.07178555,
"til_posisjon": 0.15652675,
"veglenkesekvensid": 384011,
"startposisjon": 0.07178555,
"sluttposisjon": 0.15652675,
"retning": "MED",
"kjørefelt": ["1"],
"sideposisjon": "MH"
@@ -146,21 +144,20 @@
"egenskapstype": "Stedfesting",
"datatype": "GeomPunkt",
"stedfestingstype": "Sving",
"netelementid": 384011,
"netelementtype": 50002,
"nodeid": 384011,
"startpunkt": {
"veglenkesekvens": 942450,
"fra_posisjon": 0.23585116,
"til_posisjon": 0.23585116,
"veglenkesekvensid": 942450,
"startposisjon": 0.23585116,
"sluttposisjon": 0.23585116,
"kortform": "23585116-0.23585116@942450",
"kjørefelt": [ ],
"retning": "MED",
"sideposisjon": "M"
},
"sluttpunkt": {
"veglenkesekvens": 942694,
"fra_posisjon": 0.64558392,
"til_posisjon": 0.64558392,
"veglenkesekvensid": 942694,
"startposisjon": 0.64558392,
"sluttposisjon": 0.64558392,
"kortform": "0.64558392-0.64558392@942694",
"kjørefelt": [ ],
"retning": "MED",

0 comments on commit 3765e42

Please sign in to comment.
You can’t perform that action at this time.