View Issue Details

IDProjectCategoryView StatusLast Update
0000387HeurekaGeneralpublic2020-11-06 09:44
Reporteradmin Assigned Touser14 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version2.16.5 
Target Version2.17.0Fixed in Version2.17.0 
Summary0000387: habitatmodeller funkar inte (RegVis)
DescriptionEmail from: Jeannette Eggers <jeannette.eggers@slu.se>

Hej,
Jag har problem med att köra habitatmodeller i RegVis.
 
Jag fick följande felmeddelande (det är inget stort landskap, och dessutom gick det bra att räkna ut i PlanVis):
  
 
När jag testade med ett annat landskap (eller egentligen samma, hade bara tagit bort några bestånd) så gick det inte alls, då får jag:
  
 
Kan skicka indatat för det senare problemet om ni vill. Har för övrigt testat flera olika habitatmodeller, samma fel överallt. Också om jag tar bort de spatiala kraven i habitatmodellen.
 
/Jeannette
Steps To Reproduce1. Hämta beståndsregisterfil och shapefiler här:
https://www.dropbox.com/s/1cgnnex5puglmcm/bugg387.zip?dl=0
2. Importera i RegVis i nytt projekt
3. Kör simulering med t ex 20 perioder. Det är bara drygt 400 bestånd så det går snabbt.
4. Välj "Kör habitatmodell" från Verktygs-menyn, och försöka köra den första artmodellen på den nyss gjorda simuleringen.

Resultat: "Ett fel uppstod..."

TagsNo tags attached.
Attached Files
image001.png (12,886 bytes)   
image001.png (12,886 bytes)   
image003.png (1,917 bytes)   
image003.png (1,917 bytes)   
overlap0.jpg (139,343 bytes)   
overlap0.jpg (139,343 bytes)   
ProductRegWise

Activities

user14

2020-10-28 15:58

  ~0000368

Hur importeras kartan?

Peder

2020-10-28 16:49

administrator   ~0000369

se https://www.heurekaslu.se/help/index.html?importera_skogskarta.htm

user14

2020-10-28 23:03

  ~0000370

Jag vet hur själva funktionen fungerar, men ID-fältet gav mig ingen karta när jag importerade.

user14

2020-10-29 21:32

  ~0000371

Felet orsakas av överlappande geometrier. Det är nog inte så svårt att åtgärda men frågan är hur man vill hantera detta.
Om detta är ett fel så bör ett felmeddelande visa som beskriver detta. Andra lösningen är att man låter en godtycklig geometry representera en viss koordinat.

Linus

2020-10-30 06:04

administrator   ~0000373

Stämmer det som Jeannette säger, att det fungerar I PlanWise men inte RegWise?

Peder

2020-10-30 07:15

administrator   ~0000374

Last edited: 2020-10-30 07:20

Samma fel uppstår i PlanWise

Peder

2020-10-30 07:23

administrator   ~0000375

Last edited: 2020-10-30 07:23

Ja, felmeddelande bör visas. Finns felet i geometrier redan i indatat, eller uppstår det i GIS-analysen?
Om det finns redan i indata, borde varning visas redan där, att det finns topologifel i kartan som kan förhindra vissa GIS-analyser.

user14

2020-10-30 09:54

  ~0000376

Felet uppstår i HeurekaRasterHandler.cs:56
Eftersom dessa koordinater är heltal och inte i flyttal så tror jag att geometrin kanske inte i grunden har en konflikt, men att när den rasteriseras så kan två punkter komma att bli överlappande för två olika geometrier.

Peder

2020-10-30 10:59

administrator   ~0000377

Om felet inträffar utan att polygonerna överlappar låter det som en bugg i DotSpatial. Går det att identifiera för vilka polygoner som felet inträffar så vi kan skicka buggrapport till dem?

user14

2020-10-30 15:42

  ~0000378

Jag tror inte det är något fel i ett API. Det är Heuerkakod i filen HeurekaRasterHandler som avrundar dessa koordinater till heltal. T.ex. har du två X-värden säg 5.2 och 5.4 i API:et så överlappar inte dessa, men när de avrundas ner till 5 så kommer de plötsligt överlappa. Se funktionerna på rad 138 i den filen.

user14

2020-11-02 11:01

  ~0000379

Kollat lite till och som du säger så borde det inte finnas konflikter, den tar ut centerpunkten för ett raster och kollar om denn punkten finns i geometrin. Det borde alltså bara bli en punkt om inget överlappar.

user14

2020-11-02 11:39

  ~0000380

Det finns en överlappning. Jag har lagt till ett felmeddelande som skrivs ut i loggen. Se bifogade bilder för överlappet, samt meddelandet som hamnar i loggen.
Duger denna lösning?
overlap1.jpg (140,846 bytes)   
overlap1.jpg (140,846 bytes)   
overlap2.jpg (139,374 bytes)   
overlap2.jpg (139,374 bytes)   

Peder

2020-11-02 13:19

administrator   ~0000382

Vi borde ge en varning redan vid import som jag föreslog ovan, Men tills vidare får denna lösning räcka!

user14

2020-11-02 14:14

  ~0000383

Finns sådan funktionalitet i DotSpatial? Det är lite svårare att upptäcka överlapp i vektorformat. En möjlighet är att göra just en rasterisering vid import för att se om det håller.

Linus

2020-11-03 07:44

administrator   ~0000384

DotSpatial har metoder för att avgöra om två shapes överlappar i Vectorformat. Polygon har en metod Intersects, men du kommer ju behöva göra en loop över alla andra polygoner för att testa överlapp, om inte DotSpatial kan ge dig en lista av potentiella grannar, så vi slipper göra en O(N²) loop

Issue History

Date Modified Username Field Change
2020-10-21 15:00 admin New Issue
2020-10-21 15:00 admin File Added: image001.png
2020-10-21 15:00 admin File Added: image003.png
2020-10-25 01:14 user14 Severity @0@ => minor
2020-10-25 01:14 user14 Description Updated
2020-10-27 13:34 Peder Steps to Reproduce Updated
2020-10-27 13:34 Peder Product General => RegWise
2020-10-27 13:34 Peder Assigned To => user14
2020-10-27 13:34 Peder Status new => assigned
2020-10-27 13:35 Peder Reproducibility N/A => always
2020-10-27 13:35 Peder Product Version => 2.16.5
2020-10-27 13:35 Peder Severity minor => major
2020-10-28 15:58 user14 Note Added: 0000368
2020-10-28 16:49 Peder Note Added: 0000369
2020-10-28 23:03 user14 Note Added: 0000370
2020-10-29 21:32 user14 Note Added: 0000371
2020-10-30 06:04 Linus Note Added: 0000373
2020-10-30 07:15 Peder Note Added: 0000374
2020-10-30 07:20 Peder Note Edited: 0000374
2020-10-30 07:23 Peder Note Added: 0000375
2020-10-30 07:23 Peder Note Edited: 0000375
2020-10-30 09:54 user14 Note Added: 0000376
2020-10-30 10:59 Peder Note Added: 0000377
2020-10-30 15:42 user14 Note Added: 0000378
2020-11-02 11:01 user14 Note Added: 0000379
2020-11-02 11:39 user14 File Added: overlap0.jpg
2020-11-02 11:39 user14 File Added: overlap1.jpg
2020-11-02 11:39 user14 File Added: overlap2.jpg
2020-11-02 11:39 user14 Note Added: 0000380
2020-11-02 13:19 Peder Note Added: 0000382
2020-11-02 14:14 user14 Note Added: 0000383
2020-11-03 07:44 Linus Note Added: 0000384
2020-11-03 08:14 Changeset attached => heureka trunk r20733
2020-11-03 10:45 user14 Status assigned => closed
2020-11-03 10:45 user14 Resolution open => fixed
2020-11-03 10:46 user14 Target Version => 2.17.0
2020-11-06 09:44 Linus Fixed in Version => 2.17.0