Esri / arcgis-maps-sdk-unreal-engine-samples

Sample code for the ArcGIS Maps SDK for Unreal Engine.
https://developers.arcgis.com/unreal-engine-sdk/
Apache License 2.0
73 stars 36 forks source link

Mas12517/feature layer redesign #50

Closed mmgaw113 closed 1 year ago

mmgaw113 commented 1 year ago

Sample

Feature Layer Redesign

Summary

This sample aids to add functionality to the Original Feature Layer Sample that allows users to customize the data being queried.

The link provided in the sample is here

You may swap the link out for the baseball stadiums (or any other feature layer) at any time

Feature Layer Blueprint

Objects Spawned In

Tests

Windows

ArcGIS Maps SDK Version

UE 5.0 with Maps SDK 1.2 & 1.3

Jade-JadeH commented 1 year ago
  1. When I enter the service the map moves

  2. Can you add a loading indicator and error indicator in the note banner like this one? Also currently the warning and the instructions are two different banners, however, in the other samples we combined this to one (the note banner) @avr757 Or, you could change "Process Request" to "loading" when user inputs a data.

image

  1. the instruction still says baseball stadium image

Nitpicking:

  1. The use of pin doesn't seem to make as much sense as routing and geolocating samples @avr757 any ideas?
Jade-JadeH commented 1 year ago

Testing this feature service https://runtime.maps.arcgis.com/home/item.html?id=d957997ccee7408287a963600a77f61f with the URL https://services9.arcgis.com/RHVPKKiFTONKtxq3/arcgis/rest/services/USA_Wildfires_v1/FeatureServer doesn't work, tested a couple others and don't work either (个_个)

mmgaw113 commented 1 year ago

Testing this feature service https://runtime.maps.arcgis.com/home/item.html?id=d957997ccee7408287a963600a77f61f with the URL https://services9.arcgis.com/RHVPKKiFTONKtxq3/arcgis/rest/services/USA_Wildfires_v1/FeatureServer doesn't work, tested a couple others and don't work either (个_个)

Add “/0/query?” To the link and it should work. I’ll add it to the code but it currently assumes you will add “query?”

mmgaw113 commented 1 year ago

The UI we plan to address in a future PR, this is just for functionality because it was such a massive task/issue, we wanted to split the UI apart from it. Right now, I just want to make sure everything is working properly and then I will disable the old UI before it gets merged in.

I don't know if anything else makes sense other than a pin at the moment. We changed the default link out to be trees instead of baseball stadiums but if we make the static mesh a tree, then users might not know how to change it to be what they want. So I think leaving it as a pin makes the most sense for now.

mmgaw113 commented 1 year ago
  1. When I enter the service the map moves

So I would need to see what you are talking about to understand but there are two things I can think of. Pasting the link into the search bar by hitting "ctrl + v" moves the camera downward. crtl is one of the input mappings for the arcgis Pawn and moves the camera down. This will be fixed when I redo the UI.

Alternatively, when you process the request, it randomly picks a point from the feature layer and moves the camera to it.

dan13436 commented 1 year ago

Would definitely hold off on other approvals before merging, I could have missed something

avr757 commented 1 year ago
  1. The use of pin doesn't seem to make as much sense as routing and geolocating samples @avr757 any ideas?

I think the pin is generic enough for now, but if we want to make it more fun and entertaining in the future, we could use lollipop models instead.

image

Jade-JadeH commented 1 year ago

so the URL still doesn't work for me, the concatenation seems to add additional outfields: image

mmgaw113 commented 1 year ago

what are you pasting in for the URL?

The URL I mentioned above

Jade-JadeH commented 1 year ago

bout to understand but there are two things I can think of. Pasting the link into the search bar by hitting "ctrl + v" moves the camera downward

Both of them. But sounds good that you'll fix it during UI.

mmgaw113 commented 1 year ago

@Jade-JadeH I swapped the concatenation to a foreach loop. The loop will return invalid link if it does not end in outfields=. The link will not work if it is not in the correct order of /0/query?f=geojson&where=1=1&outfields= I just set it up so that it returns an error now if this happens and will ask you to fix your link.

It should be good for you to take a look again

Jade-JadeH commented 1 year ago

I tried this page https://runtime.maps.arcgis.com/home/item.html?id=9e2f2b544c954fda9cd13b7f3e6eebce (with this URL https://services9.arcgis.com/RHVPKKiFTONKtxq3/arcgis/rest/services/USGS_Seismic_Data_v1/FeatureServer).

I got different results which are the follow:

  1. Data is not aligned with the terrain

I had this before when I worked on the feature layer sample. This is due to mesh being spawned before terrain is loaded.

image

  1. an empty warning and no data is displayed:

image

  1. Data is loaded

In this case, I noticed that we just zoom to a data point, but instead I think we should "zoom to layer" otherwise it's really hard to get an overview of the data.

Also there's still a warning in this case:

image

Jade-JadeH commented 1 year ago

I also tried this page https://runtime.maps.arcgis.com/home/item.html?id=0ec8512ad21e4bb987d7e848d14e7e24 and https://runtime.maps.arcgis.com/home/item.html?id=a98fd08751a5480c898b7cebe38807f4 (not with these two URLs, with the URLs inside the pages)

and it gives me a warning "URL is not valid" and unreal crashes.

mmgaw113 commented 1 year ago

I also tried this page https://runtime.maps.arcgis.com/home/item.html?id=0ec8512ad21e4bb987d7e848d14e7e24 and https://runtime.maps.arcgis.com/home/item.html?id=a98fd08751a5480c898b7cebe38807f4 (not with these two URLs, with the URLs inside the pages)

and it gives me a warning "URL is not valid" and unreal crashes.

This link isn't going to work because it isn't in the same format as the others. Currently the sample only supports specific types of feature layers, I forget the type but @ZackAllen and I talked a bit about it. We want to support more types in the future but this is already a big enough task as is so we will split it up into smaller tasks once we get both unity and unreal primary functionality working.

Jade-JadeH commented 1 year ago

This link isn't going to work because it isn't in the same format as the others. Currently the sample only supports specific types of feature layers, I forget the type but @ZackAllen and I talked a bit about it. We want to support more types in the future but this is already a big enough task as is so we will split it up into smaller tasks once we get both unity and unreal primary functionality working.

Can you add which data is not supported? And prevent crashes?

mmgaw113 commented 1 year ago

Can you add which data is not supported? And prevent crashes?

Crashes I should be able to fix. I think we should put what data types are supported in the instructions when we redo the UI. It only supports Point Feature Layer Data I believe. The ones you were trying are polygon

mmgaw113 commented 1 year ago

Crashes are fixed, the error notification also goes away now if there are no errors. It also checks the type of data now in the script so it should give an error if the data type is unsupported.