Research project demo app (POC), visualizing forest and terrain data

Hi! Last year has been very interesting as I got to work on a public research project that utilizes threejs! My part was to create the 3D visualization.

This forum has been very helpful source to get things working as I started from a scratch and did not know anything about 3D programming before the project. I would like to thank you guys for being active here, this would have not been possible without you!

Project is still ongoing so I have no results to share with you yet but what I can do is to post a link to the my part of the ‘proof of consept’ app so you could try it out and give feedback.

Aim of the project was to create a proof of consept application which is going to be used by forestry professionals in Finland to test different aproaches to help forest owners with decicion making.

Things to note:

  • App is currently only in Finnish
  • Open demo is suitable only for viewing and operations wont be working (yet)
  • When map view is open, click from the left top dropdown menu the one text-button including demo text to get map to load the demo propertydata, after that it is possible to open the 3D view.

Link to the demo app:

https://metne.frostbit.fi/

3 Likes

10/10

I especially liked the trees!

1 Like

I get an Error. Went to demo and clicked 3D NÄKYMÄ

Uncaught TypeError: m is null
    project https://metne.frostbit.fi/assets/index.c440b864.js:8
    latLngToPoint https://metne.frostbit.fi/assets/index.c440b864.js:8
    project https://metne.frostbit.fi/assets/index.c440b864.js:8
    latLngToLayerPoint https://metne.frostbit.fi/assets/index.c440b864.js:8
    _getCenterOffset https://metne.frostbit.fi/assets/index.c440b864.js:8
    _tryAnimatedPan https://metne.frostbit.fi/assets/index.c440b864.js:8
    setView https://metne.frostbit.fi/assets/index.c440b864.js:8
    flyTo https://metne.frostbit.fi/assets/index.c440b864.js:8
    changeMode https://metne.frostbit.fi/assets/index.c440b864.js:25
    setTimeout handler*changeMode https://metne.frostbit.fi/assets/index.c440b864.js:25
    le https://metne.frostbit.fi/assets/index.c440b864.js:12
    0 https://metne.frostbit.fi/assets/index.c440b864.js:3448
    callWithErrorHandling https://metne.frostbit.fi/assets/index.c440b864.js:1
    callWithAsyncErrorHandling https://metne.frostbit.fi/assets/index.c440b864.js:1
    o https://metne.frostbit.fi/assets/index.c440b864.js:1
    addEventListener https://metne.frostbit.fi/assets/index.c440b864.js:1
    patchEvent https://metne.frostbit.fi/assets/index.c440b864.js:1
    patchProp https://metne.frostbit.fi/assets/index.c440b864.js:1
    ve https://metne.frostbit.fi/assets/index.c440b864.js:1
    _e https://metne.frostbit.fi/assets/index.c440b864.js:1
    ee https://metne.frostbit.fi/assets/index.c440b864.js:1
    pt https://metne.frostbit.fi/assets/index.c440b864.js:1
    run https://metne.frostbit.fi/assets/index.c440b864.js:1
    update https://metne.frostbit.fi/assets/index.c440b864.js:1
    De https://metne.frostbit.fi/assets/index.c440b864.js:1
    ke https://metne.frostbit.fi/assets/index.c440b864.js:1
    Pe https://metne.frostbit.fi/assets/index.c440b864.js:1
    ee https://metne.frostbit.fi/assets/index.c440b864.js:1
    be https://metne.frostbit.fi/assets/index.c440b864.js:1
    ve https://metne.frostbit.fi/assets/index.c440b864.js:1
    _e https://metne.frostbit.fi/assets/index.c440b864.js:1
    ee https://metne.frostbit.fi/assets/index.c440b864.js:1
    be https://metne.frostbit.fi/assets/index.c440b864.js:1
    je https://metne.frostbit.fi/assets/index.c440b864.js:1
    ee https://metne.frostbit.fi/assets/index.c440b864.js:1
    pt https://metne.frostbit.fi/assets/index.c440b864.js:1
    run https://metne.frostbit.fi/assets/index.c440b864.js:1
    update https://metne.frostbit.fi/assets/index.c440b864.js:1
    De https://metne.frostbit.fi/assets/index.c440b864.js:1
    ke https://metne.frostbit.fi/assets/index.c440b864.js:1
    Pe https://metne.frostbit.fi/assets/index.c440b864.js:1
    ee https://metne.frostbit.fi/assets/index.c440b864.js:1
    pt https://metne.frostbit.fi/assets/index.c440b864.js:1
    run https://metne.frostbit.fi/assets/index.c440b864.js:1
    update https://metne.frostbit.fi/assets/index.c440b864.js:1
    callWithErrorHandling https://metne.frostbit.fi/assets/index.c440b864.js:1
    flushJobs https://metne.frostbit.fi/assets/index.c440b864.js:1
    promise callback*queueFlush https://metne.frostbit.fi/assets/index.c440b864.js:1
    queuePostFlushCb https://metne.frostbit.fi/assets/index.c440b864.js:1
    queueEffectWithSuspense https://metne.frostbit.fi/assets/index.c440b864.js:1
    ie https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerEffect https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerEffects https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerRefValue https://metne.frostbit.fi/assets/index.c440b864.js:1
    effect https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerEffect https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerEffects https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerRefValue https://metne.frostbit.fi/assets/index.c440b864.js:1
    effect https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerEffect https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerEffects https://metne.frostbit.fi/assets/index.c440b864.js:1
    triggerRefValue https://metne.frostbit.fi/assets/index.c440b864.js:1
    set value https://metne.frostbit.fi/assets/index.c440b864.js:1
    Ue https://metne.frostbit.fi/assets/index.c440b864.js:5
    ve https://metne.frostbit.fi/assets/index.c440b864.js:5
    promise callback*ve https://metne.frostbit.fi/assets/index.c440b864.js:5
    ve https://metne.frostbit.fi/assets/index.c440b864.js:5
    promise callback*ve https://metne.frostbit.fi/assets/index.c440b864.js:5
    ue https://metne.frostbit.fi/assets/index.c440b864.js:5
    install https://metne.frostbit.fi/assets/index.c440b864.js:5
    use https://metne.frostbit.fi/assets/index.c440b864.js:1
    Go https://metne.frostbit.fi/assets/index.c440b864.js:3448
    jo https://metne.frostbit.fi/assets/index.c440b864.js:1
    <anonymous> https://metne.frostbit.fi/assets/index.c440b864.js:3448
index.c440b864.js:8:14363

Thanks for the info! What browser did you use and does the problem persist if you try again?

Im using Firefox 105.0.2 on a ARM Mac.
I didnt manage to get into 3D view, thats what I supposed the button would do. Nothing happened when clicking it multiple times

Thanks!

Was the button green when you pressed it? I noticed that Button was not correctly disabled when there was no area selected. Area selection begins after clicking the text “Rauansalo Demo” from the menu and after that that the button should be green.

Sorry about clumsy UX on 2D part of the App :slight_smile: