Select to view content in your preferred language

ExB: Pop-ups disappearing for hosted image service

1219
27
08-08-2024 09:03 AM
AnninaRupe1
Regular Contributor

I have an Experience in which I have a text and sidebar widget. The text widget is just for the title. The sidebar widget has the map in the main screen and a collapsible table that is at the bottom. I have recreated my app using ExB from a Web AppBuilder app. It had been working correctly.

The web map contains many layers with pop-ups enabled. It works correctly in the web map. However, when I open my ExB, my hosted image services pop-ups do not display.

These image services are stored on our Microsoft Azure Storage Explorer (as a COG) then shared as a web layer to our Portal. In Portal, the image service is shared with Everyone. Then, this service URL is copied and added to ArcGIS Online by "adding a new item by URL."

In my ExB app, I can turn on the image service layers and they appear in the map. If I click on the map, if there are any other layers visible, a pop-up appears. If no other layers lay on top of the image service layer, no pop-up appears. For example, I have a hosted vector layer lying on top of a hosted image layer. The pop-up appears and it shows the data for the vector layer and it states that there are two pop-ups to see. But when I click the arrow to move to the second pop-up, the whole pop-up window disappears. If I turn off the vector layer so only the image layer is displayed, no pop-up appears at all.

I can't share the map/app publicly as it has sensitive information.

27 Replies
AdamGaudet
Regular Contributor

I'm with @AnninaRupe1  - we would like to know when the next release is planned and for this issue to be resolved. I have it in some notes that this functionality was working for us the day of August 7 but then not on the day of August 8 (of course on the day we were presenting "grabbing pixel values for a raster layer" to a client), if this helps pinpointing any bugs.

0 Kudos
DavidColey
Honored Contributor

Ok thank you for the update on this @TonghuiMing. Please let us know if a fix comes out with the current release, as I suspect the next Online release will be in November / December?

I suppose for us, I could add my file geodatabase raster dataset as a source raster for a Mosaic Dataset and then construct that Image Mosaic dataset without Overview files.

Otherwise, a service pixel value returned from an Overview file pixel will contain skewed (averaged or otherwise interpolated) values.  For an elevation DEM, that cannot be. 

But it is tricky to do and requires a lot of work, and this may not be an option for @AnninaRupe1  or others using COG. She would have to construct Image Mosaic datasets using the cloud-sourced COG (Cloud Optimized GeoTiff) files as the source rasters, and then would need to be able to store Overview files and in their cloud location.

TonghuiMing
Esri Regular Contributor

@AnninaRupe1 @DavidColey The next release might be coming before Nov, sometime around late October (which could be subject to changes). As for the COG, I will ask my colleagues and see if we have some more information for that - I personally am not that familiar with this specific format, unfortunately.

0 Kudos
AnninaRupe1
Regular Contributor

Appreciate any help you can give--my colleagues really need this capability now.

0 Kudos
TonghuiMing
Esri Regular Contributor
0 Kudos
TianWen
Esri Contributor

For COG data, you can use the GP tool 'Create Cloud Storage Connection' to create a connection file.

TianWen_0-1724393425843.png

 

After that, create a mosaic dataset and add rasters to it, selecting the connection file as the input data source. Ensure you select 'All files' when browsing for the connection file.

TianWen_2-1724393749432.png

 

Fields and attributes will be generated automatically. Finally, publish the mosaic as a service. Hope it helps!

0 Kudos
AnninaRupe1
Regular Contributor

Unfortunately this solution defeats one of the purposes of employing COGs: minimizing storage requirements.

I have them stored on our Azure server and want to reference them, not copy to another server. I can't create a mosaic dataset on the Azure server so I have to do that locally, and then when I share to Portal I have to copy data to the server. This essentially doubles the space requirements ($$).

0 Kudos
DavidColey
Honored Contributor

HI @AnninaRupe1  - can you describe your deployment for me?  We have a distributed deployment, with  portal, a 2-machine hosting site cluster, a relational datastore, a tile cache datastore and a 2-machine federated site cluster that holds our Image Server role. 

We then use a separate configuration server to hold the hosting sites' ArcGIS server directories and the federated sites' ArcGIS server directories.

For image storage, we have an on-prem storage NAS that holds all of our source tiffs for all of our imagery (14Tb currently)

Everything communicates by directory share via a server-registered datastore folder connection (datastore) that holds a file gdb containing Image Mosaic datasets.  Currently the Image Mosaic file gdb is up to 15Gb, but it contains 35 mosaic datasets.

l guess my point is, you shouldn't have to copy any source images or data to the server if you share a folder with the arcgis server service account, and then register that folder to either portal or directly to server.  That is how I am able to publish my mosaic datasets as Image Services without having to copy any data. 

Even if you don't have a distributed deployment like us, you could share a local folder with the arcgis  server service account, and then register that local folder as a datastore folder. 

The Image Mosaic datasets will just contain the path reference to your cloud storage for the source COGs - and you can even write out the Image Mosaic Overview tiffs to your drive, since they don't take much space.

But it is a lot of work, and fortunately I only have to do it once a year, when we receive our annual Pictometry flights. 

0 Kudos
AnninaRupe1
Regular Contributor

@DavidColey : some of those questions are way above my head and can try to answer, and they probably will fall short, but here's what I know: We have ArcGIS Enterprise. All of our data are stored on a cloud-based Azure SQL database and all of our servers are deployed on Azure Virtual Machines.
I'll try asking about write capabilities to our cloud SQL database so that the mosaic dataset can be on a registered folder and thus not have to copy anything.
Thanks for the comments that get my brain thinking differently!

0 Kudos
DavidColey
Honored Contributor

Sure thing @AnninaRupe1 it sounds like you guys are distributed, in that server and portal are on separate VMs, same as us.  Only difference is currently we're on Windows VMs on a VMWare host, basically like an on-prem cloud. 

The thing to keep in mind is that the Mosaic Datasets just contain a reference path to wherever your source imagery is stored, while storing image info (like pixel size, etc), in an an attribute table along with an image footprint shape and a dataset boundary shape, but as part of the mosaic dataset object.  I'd say building mosaic datasets from your COGs would be more of longer term service management strategy. 

But in the short term, until ExB team gets this fixed, you might want to consider doing what I am doing and create an Instant App (like just a Basic Viewer or a Media Map) and have a link to it from your ExB.  You can look at my ExB link in this post to see how I did that . . .

0 Kudos