kartverket / NGIS-OpenAPI

Tjenestebasert grensesnitt mot NGIS, basert på OpenAPI og REST.
3 stars 9 forks source link

Objektet ligger utenfor datasettets avgrensning, test01 #96

Closed larsop closed 2 months ago

larsop commented 1 year ago

Jeg er logget inn som NIBIO_Trondheim og har tilgang til Trondheim kommune.

Det å gjøre endringen på en flate som ikke grenser til polygon utenfor er ikke noe problem slik som her.

Screenshot 2022-09-23 at 14 52 01

Men så ønsker å tegne følgende linje som ligger rett inntil Trondheim kommune sin grenser.

Screenshot 2022-09-23 at 14 29 24

Jeg får da følgende melding tilbake (bare deler av mld. her)


"ngisError": "{\"detail\":\"Et eller flere objekter ble ikke godkjent av valideringsrutinene\",\"errors\":[{\"lokalid\":\"00af2893-a01f-4ce0-9472-caacd0e2a116\",\"positio
n\":{\"east\":581707.60207809543,\"north\":7004101.3836396225},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"022749e0-0028-4a33-ab82-4e43433b
adc7\",\"position\":{\"east\":582857.32425622491,\"north\":7004327.0088774618},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"025d5dbe-689e-40
7d-b000-7bf1cfeaab01\",\"position\":{\"east\":581598.17342868564,\"north\":7004442.1194348782},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"
027eaf53-70f2-4272-acb5-f9daefb25dcd\",\"position\":{\"east\":581176.69577696314,\"north\":7002919.5382626224},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"}
,{\"lokalid\":\"02f2d0af-fe37-40c3-b492-59f4f33c1240\",\"position\":{\"east\":581307.20679900202,\"north\":7002192.677675806},\"reason\":\"Objektet ligger utenfor datasettets
 avgrensning\"},{\"lokalid\":\"0404b130-20ef-48ac-b248-3f56e4856b2e\",\"position\":{\"east\":581052.03295422869,\"north\":7003264.5187530257},\"reason\":\"Objektet ligger ute
nfor datasettets avgrensning\"},{\"lokalid\":\"04789b01-860d-439e-9c44-072dcc2614e4\",\"position\":{\"east\":580409.64125784312,\"north\":7006086.7241592556},\"reason\":\"Obj
ektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"04dbeb90-9fd8-4a18-9bfd-9080978c5130\",\"position\":{\"east\":581615.06676593109,\"north\":7003432.8434636174},
\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"07ad0f50-cc84-485b-9c09-1eb9cf92e656\",\"position\":{\"east\":580427.66382452322,\"north\":7006
215.8304103343},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"07f80519-6bb3-4923-a619-788b258479d9\",\"position\":{\"east\":582467.4792471934
3,\"north\":7003600.7962954529},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"08b3452e-bbd5-4cb8-9808-c306eb0c3106\",\"position\":{\"east\":5
81398.41356046672,\"north\":7004238.8016852047},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"0ab8118b-5aac-4454-89cb-6f85558cd1bc\",\"position\":{\"east\":580923.00496922247,\"north\":7002997.0296528228},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"0b5a1102-76e9-4f70-bc24-d7bce12a5eba\",\"position\":{\"east\":580299.50702602603,\"north\":7005548.9083273243},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"0b88cc3e-6b36-4353-a84b-d12f8477aa81\",\"position\":{\"east\":580865.40497030411,\"north\":7004751.5045225378},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"0ba3d078-64f8-4cf3-96b2-6ad028e713cf\",\"position\":{\"east\":582278.54633030877,\"north\":7003312.2743809018},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"0ceb5db1-f610-4106-9779-d730201d7cda\",\"position\":{\"east\":580652.56811356719,\"north\":7004610.8159696637},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"0ed8e3ce-dcec-4201-85c1-7fb298a3354c\",\"position\":{\"east\":582786.60667546093,\"north\":7002560.8334293254},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"0fecc7b2-c75b-4d94-9202-aced3b492415\",\"position\":{\"east\":581055.76931505569,\"north\":7003768.8922504876},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"1298c03e-64ca-48bd-a5a6-568fa6ffa86d\",\"position\":{\"east\":582814.31142438122,\"north\":7001758.5278793015},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"1305e7b0-827b-4054-adaf-261ca6ecbaa3\",\"position\":{\"east\":581443.51300299028,\"north\":7002898.0875586569},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"13af4397-a6eb-4bf7-bbcb-f521965641ce\",\"position\":{\"east\":581084.90120819828,\"north\":7001832.4198121456},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"16ab76ee-c259-4ba9-8479-b17d7b17fcd0\",\"position\":{\"east\":580493.50504653342,\"north\":7005720.5311646815},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"16ac7e9e-6a2a-4ae0-a948-a70aa2c0571d\",\"position\":{\"east\":582585.41542466998,\"north\":7003651.1740945941},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"1862bb03-e761-46b8-9624-9f3a972e2272\",\"position\":{\"east\":581600.01918770815,\"north\":7004191.1520465743},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"19e019f7-c575-498f-b5fb-501a2087eec9\",\"position\":{\"east\":580875.26193619636,\"north\":7003725.038685956},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"1a6c2f71-9786-43a6-a189-82d4b777993e\",\"position\":{\"east\":581112.30633094627,\"north\":7004103.4264082517},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"1c55d3ca-c4c8-4a12-b892-559b9ef534ed\",\"position\":{\"east\":583501.02957350772,\"north\":7002537.4603451621},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"1c6cfdf8-ce6e-4bdc-8afa-f989a67a5bf4\",\"position\":{\"east\":580959.16868419456,\"north\":7002243.8022130765},\"reason\":\"Objektet ligger utenfor datasettets avgrensning\"},{\"lokalid\":\"1c8fcc38-7a8f-430e-bdb8-0e9140449fa6\",\"position\":{\"east\":582893.07625648228,\"north\":7004289.618459655},\"reason\":\"O

Melding gir mening som dere ser fordi dette omådet nokså stort.

Screenshot 2022-09-23 at 14 38 34

Her er payloaden jeg sender over til NGISOpenApi. ar5_upadteDatasetFeatures_FAIL_UTF-81663934866164.json.gz

Noe av problemmet her reglene for tilgang er styrt avstand til kommune grensen i meter og når man har polygoner som dette for man ikke gjort endringene selv om de ligger innenfor kommune grensen.

Her kunne tilgang heller vært styrt av at flatene har spatial relation til kommune grensene.

NilsIvarNes commented 1 year ago

Prinsippet er at man gis tilgang til å oppdatere alle objekter som overlapper et gitt polygon (i praksis et kommunepolygon med en buffer). Problemet oppstår når man prøver å oppdatere en flate med delt geometri og prøver å sende inn oppdateringer på avgrensningsobjekter som i sin helhet ligger utenfor polygonet man har tilgang. Dette håndteres i gammelt NGIS-API (som brukes av GISLINE/WINMAP/Fysak) ved at disse avgrensningskurvene sendes med som "hjelpeobjekter", men foreløpig ikke av NGIS-OpenAPI med data på JSON-format.

Den gode løsningen på dette er derfor at man får bygd inn en støtte a la NGIS-API også i NGIS-OpenAPI. Dette vil tidligst kunne være på plass med QMS13/FKB 5.0 i løpet av vårparten.

Vet ikke om det går an å leve med dette problemet så lenge?

larsop commented 1 year ago

Prinsippet er at man gis tilgang til å oppdatere alle objekter som overlapper et gitt polygon (i praksis et kommunepolygon med en buffer). Problemet oppstår når man prøver å oppdatere en flate med delt geometri og prøver å sende inn oppdateringer på avgrensningsobjekter som i sin helhet ligger utenfor polygonet man har tilgang. Dette håndteres i gammelt NGIS-API (som brukes av GISLINE/WINMAP/Fysak) ved at disse avgrensningskurvene sendes med som "hjelpeobjekter", men foreløpig ikke av NGIS-OpenAPI med data på JSON-format.

Den gode løsningen på dette er derfor at man får bygd inn en støtte a la NGIS-API også i NGIS-OpenAPI. Dette vil tidligst kunne være på plass med QMS13/FKB 5.0 i løpet av vårparten.

Har ikke helt oversikt over hvilke endringer dette betyr for oss som bruker NGIS-Open API, men jeg hadde håpet at ting kunne bli enklere etter hvert og ikke mere komplisert å bruke NGIS-OpenApi.

Deler man opp objekter så blir det også mere jobb når man skal finne små/store flater .

En annen ting er også at kommune grenser stadig deles opp/slåes sammen så dette kan endre seg over tid.

En annen løsning kan være 1) At vi alltid har skrive tilgang til flater som intersects kommuen(e) vi har tilgang til 2) At vi også har skrive tilgang til flater som grenser til 1

Er det vanskelig å få til en slik type løsning ?

meastp commented 1 year ago

@larsop Endringen til QMS 13 / FKB 5.0 blir at ved oppdatering av flater slipper du å sende inn linjer i flateavgrensningen som ikke skal oppdateres. Det må du i dag pga. en begrensning i json-deserialiseringen i QMS. Jeg tror det både vil løse problemet du opplever og være en forenkling på samme tid! :)

larsop commented 1 year ago

Tusen takk, veldig bra.

Er ikke helt sikker på om det løser alle casene her, f.eks når man har lange grenser som for en ny node, men det vil ihvertfall blir færre som får problemmer.

Vi ser mere på dette etter å ha testet litt.

Når kan vi starte å teste med data fra AR5 ?

meastp commented 1 year ago

Når kan vi starte å teste med data fra AR5 ? Med FKB5/QMS13? hør med Kartverket.

NilsIvarNes commented 2 months ago

Løst i QMS13? Lukkes inntil problemet ev. aktualiseres.