Riverscapes / RaveAddIn

RAVE AddIn for ArcGIS
http://rave.riverscapes.xyz/
GNU General Public License v3.0
1 stars 3 forks source link

Project Views #45

Closed philipbaileynar closed 3 years ago

philipbaileynar commented 4 years ago

Both @joewheaton and @wally-mac have inquired whether RAVE can support the need for non-expert users to load curated maps. For example, a non-expert loads a BRAT project and immediately the ArcMap table of contents loads a subset of the project layers, some with visibility turned on.

These "curated maps" would replace the existing Story Maps. They draw new users attention to the core outputs of a project. They are a starting point for looking at a project.

Each project could have multiple of these curated maps that users could pick between. Each time they pick a different curated map, the ToC is reconfigured for just the desired layers.

I have been stewing on this feature request and think that I have a really simple solution! We add a new <CuratedMaps> node at the bottom of the business logic. Inside this node are one ore more <CuratedMap> nodes and inside these are the IDs of just the layers that go in each map. One of the curated maps would be considered the default. This default would load automatically when the project is first opened in RAVE (unless you disable this feature in the RAVE Options). So the XML would look something like:

<Project>
    <Name>BRAT</Name>
    <Node xpathlabel="Name">
... all the usual project tree layout nodes go here
    </Node>
    <CuratedMaps default="WallyMap">
        <CuratedMap id="WallyMap">
            <Name>Wally's cool capacity map</Name>
            <Layers>
                <Layer id="34534jdfbjkdfjdfj345345345" visible="true" />
                <Layer id="absh456rkgjrjtjfjdjrjtjjdfjgjfjfjf" visible="false" />
                <Layer id="lrblyhjgjefjwefjk3434353535" visible="true" />
            </Layers>
        </CuratedMap>
        <CuratedMap id="JoeMap">
            <Name>Joe likes conservation</Name>
            <Layers>
                <Layer id="34534jdfbjkdfjdfj345345345" visible="true" />
            </Layers>
        </CuratedMap>
    </CuratedMaps>
</CuratedMap>
wally-mac commented 4 years ago

@Cashe Rasmussen cashecras@hotmail.com can you work on this task? Philip can provide the guidance on this task. Thank you

On Mon, May 18, 2020 at 1:42 PM Philip Bailey notifications@github.com wrote:

Assigned #45 https://github.com/Riverscapes/RaveAddIn/issues/45 to @wally-mac https://github.com/wally-mac.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/Riverscapes/RaveAddIn/issues/45#event-3348845222, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFHZAURRVEP4XQTJF7QJYIDRSGFSLANCNFSM4NELXVEA .

-- Wally Macfarlane 435.512.1839

Cashe93 commented 4 years ago

No problem. Thanks!

philipbaileynar commented 4 years ago

Thanks @wally-mac . Just hold off for a few days @Cashe93 until everyone has reviewed this proposed feature and we agree on the specifics. I will then implement the ability to define curated maps and you can then go populate the business logic.

joewheaton commented 4 years ago

Clarification of Concept

Thanks @philipbaileynar for this thoughtful suggestion. I think we want to hold the label of curated maps for something else that a group (e.g. @wally-mac and ETAL) do to really provide extra calibration, validation, special attention and real curation of. I will detail that in a separate post. However, I really like what you're suggesting here. I think we should call it, Highlighted View(s) (happy to entertain better suggestions).

Similar to you, I would define this as:

RAVE can support the need for non-expert users to load highlighted views. For example, a non-expert loads a BRAT project and immediately the ArcMap table of contents loads a subset of the project layers, some with visibility turned on.

Specific Comments to your Suggestions

Story Maps

@philipbaileynar said:

These "curated maps" would replace the existing Story Maps. Lets not try and do something or replace something ESRI does well. Story Maps mix story telling, maps, different media in an interactive scrolling presentation like format. We may still use them. I don't think RAVE or ArcGIS are replacing something that shows up on a website.

What if Focuses on

@philipbaileynar said:

They draw new users attention to the core outputs of a project. They are a starting point for looking at a project. I like this. One way to do this is upon opening a riverscapes project, create a new dialog that asks the user if they'd like to load one of the pre-defined highlighted views? This would draw their attention to it at beginning.

A second useful way to draw attention is to make it the first command on right-click context menu for project: image

Multiple Views

@philipbaileynar said:

Each project could have multiple of these curated maps that users could pick between. Each time they pick a different curated map, the ToC is reconfigured for just the desired layers.

I love this idea. It puts the decision in the model developer's hands of what they want to typically highlight as the main ways to look at the outputs. It also gives us a first cut by default at what any webmap view of this ought to include.

Your Solution in the Business Logic (NOT THE PROJECT)

@philipbaileynar said:

I have been stewing on this feature request and think that I have a really simple solution! We add a new <HighlightedViews> node at the bottom of the business logic. Inside this node are one ore more <HighlightedViews> nodes and inside these are the IDs of just the layers that go in each map. One of the curated maps would be considered the default. This default would load automatically when the project is first opened in RAVE (unless you disable this feature in the RAVE Options).

This is indeed very elegant and puts the power in the hands of those of us that can write business logic, which is not just the model developers but power users. I really, really like this.

joewheaton commented 4 years ago

@philipbaileynar and @wally-mac, if we're agreed on this feature, lets add it to the development queue of enhancements. Once it gets implemented, task @Cashe93 with creating 2 or 3 of these <HighlightedViews> for Riverscapes Context and BRAT. Then we can document and run.

wally-mac commented 4 years ago

I really like the idea. I agree Once it gets implemented, @Cashe93 https://github.com/Cashe93 can you create 2 or 3 of these

for Riverscapes Context and BRAT? We can discuss details later. On Mon, May 18, 2020 at 7:23 PM Joe Wheaton wrote: > @philipbaileynar and @wally-mac > , if we're agreed on this feature, lets add > it to the development queue of enhancements. Once it gets implemented, task > @Cashe93 with creating 2 or 3 of these > for Riverscapes Context and BRAT. Then we can document > and run. > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > , > or unsubscribe > > . > -- Sent from Gmail Mobile Sorry for typos and brevity courtesy of my phone.
philipbaileynar commented 4 years ago

OK let's just call them "Views" or "Project Views". So the Business Logic XML would become:

<Project>
    <Name>BRAT</Name>
    <Node xpathlabel="Name">
... all the usual project tree layout nodes go here
    </Node>
    <Views default="WallyMap">
        <View id="WallyMap">
            <Name>Wally's cool capacity map</Name>
            <Layers>
                <Layer id="34534jdfbjkdfjdfj345345345" visible="true" />
                <Layer id="absh456rkgjrjtjfjdjrjtjjdfjgjfjfjf" visible="false" />
                <Layer id="lrblyhjgjefjwefjk3434353535" visible="true" />
            </Layers>
        </View>
        <View id="JoeMap">
            <Name>Joe likes conservation</Name>
            <Layers>
                <Layer id="34534jdfbjkdfjdfj345345345" visible="true" />
            </Layers>
        </View>
    </Views>
</Project>
joewheaton commented 4 years ago

Sounds good on Project Views and simplifying it down to <Views> and nested <view> tags.

philipbaileynar commented 3 years ago

This was implemented as part of release 1.2 1dddb1d9f76ca5692382d82629c613769b05433a

joewheaton commented 3 years ago

@wally-mac can we task ETAL folks with creating these project views for:

wally-mac commented 3 years ago

@joewheaton that sounds really useful. However, after looking back at this post I'm not super clear on what the task is exactly. Could you perhaps make a short video describing what you are wanting and then I could share this with the techs? Thanks for considering this request.

joewheaton commented 3 years ago

Watch @philipbaileynar video @wally-mac. He explains what project views are:

Given that you are already at home being thankful for RAVE, I thought I would put out a new release with a fun new feature...

RAVE now supports "project views". These are customizable collections of project layers that can be added to the map with a single click. They are useful if you want to have default or common maps for a particular project type. For example, BRAT projects might have a "capacity project view" that includes the existing capacity over the hillshade. Or VBET might have a default project view of the 50% probability of being a valley bottom overlaid the evidence and hillshade rasters.

Each type of riverscapes project can have multiple project views. One view can be designated as the default that automatically gets added to the map when the project is opened in RAVE.

Here's a video explaining how it works. I've also documented the XML tags to make this work.

The tasks are deciding what layers you want to add to map when you open the project and/or load another project view (e.g. you might have one for Conservation Outputs of BRAT, vs. Capacity Outputs.

philipbaileynar commented 3 years ago

Here's the correct video on project views:

https://youtu.be/mYm6a0ccjoQ

wally-mac commented 3 years ago

The next time you are looking for something to do while waiting for LiDaR data to upload or for a tool to run I'd like you to create project views for:

RCAT - (@Cashe93) BRAT - (@Cashe93) VBET (@shelbysawyer) GNAT (@lauren-herbine) RIM (@kbartelt)

This task is a great opportunity to work together as a team by asking questions and sharing ideas and outputs with other team members. Please share that back and forth on this post.

Thanks!

Cashe93 commented 3 years ago

@philipbaileynar where would I find an updated RCAT project that I could work with?

wally-mac commented 3 years ago

@Cashe Rasmussen cashecras@hotmail.com Here https://usu.box.com/s/h9knfw8qvithii77i5l83nv8dgzctrdt is a link to a recent pyRCAT project.

On Sun, Dec 6, 2020 at 1:26 PM Cashe93 notifications@github.com wrote:

@philipbaileynar https://github.com/philipbaileynar where would I find an updated RCAT project that I could work with?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Riverscapes/RaveAddIn/issues/45#issuecomment-739558525, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFHZAUU5BXRJHKELYNS5SRLSTPSGPANCNFSM4NELXVEA .

-- Wally Macfarlane 435.512.1839

Cashe93 commented 3 years ago

Thanks @wally-mac!