ArcGIS Online: Best Practices for Hosted Feature Layers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone thank you so much for joining us today for this webinar presenting arcgis online best practices for hosted feature layers i'm marianne ferreta a product manager on the arcgis online team and i'm pleased to introduce you to my teammates and today's presenters jeremy bartley paul barker and chris whitmore who together have over 30 years experience engineering and architecting the ux and apis which drive the functionality we're examining today before we begin a couple of important points to share with you first this session is being recorded and will be sent to you via email in the next couple of weeks and second if you have questions during the presentation please type them into the chat window and our panel will address them at the end of the presentation thank you again for joining us we're happy to present arcgis online best practices for working with hosted feature layers jeremy thanks marianne okay let's get going here with arcgis online feature data you can manage your data efficiently and easily it's open you can work with geojson spreadsheets other common geospatial data formats photos with locations it's updatable so you can update that data interactively or through efficient bulk updates chris will show an example of bulk update later you could do that from the field like with collector server 123 or directly from your browser you can create powerful data driven visualization these data-driven visualizations are designed to support dynamic information products like the story maps dashboards and so on uh it's very performant powered by dynamic feature tiles which combines the best of vector tiles and updatable data what's cool about that is that the feature tiles they really represent your data so as your data changes the visualizations are up to date automatically without you having to manage anything within arcgis online we leverage cloud-native technology and we have a cloud-optimized implementation it's highly performant and supports viral load during peak um uh dashboard um time back in march and april i mean we were seeing queries of upwards of 170 000 queries per second on arcgis online so it's definitely can support that viral load power is a web.js model while also delivering data in open standards supports many publishing and data update options can be used offline and also supports collaboration with your portal and you can even scale up if you've got heavy database operations that you or heavy queries that you want to run against your analytical data you can upgrade to premium data stores for more performance really that feature layer represents your data that's really the jumping off point for other types of visualization layers to be used in maps to be shared in information products so the feature layer from it you can create other feature layered views tailored views into your data set without duplicating the data paul will talk about that you can also create raster tile layers seam layers from your feature layer a scene layer is an optimized 3d layer for use in 3d scenes you can also deliver the data through wfs and later this year you'll be able to deliver it using the ogc api for features that's the next generation uh feature endpoint for ogc and also later this year you'll be able to create vector tiles from that one feature layer so there's lots of different layers that you could work with but it's important to note that with the feature layer you can really get a amazing performance and flexibility and to be able to easily maintain your data and keep those visualizations up to date so you can do a lot with just the feature layer let's drill into kind of what happens behind the scenes to make those feature layers performance over the last few years we've been moving all of our web applications to use webgl so webgl is essentially instructions that you're pushing to the graphics card to be able to render things uh in the most optimal way so it supports fast rendering it's a modern uh web experience and it does allow you to bring in way more features than you used to be able to also deliver data in protocol buffer format that's a binary format optimized for delivering data results in a smaller payload that then you have to download from the server and we make heavy use of response caching response caching at multiple tiers and really what that means is it gives faster queries for everyone kind of walk through this diagram you can see that to talk about how response caching works for public layers versus private layers on a public layer it's going to request the data it needs for that particular tile by querying the server first off it'll check the browser cache does the browser have the latest data if so it'll use that um it'll see if it's also up to date if that's not there then it'll pull from the cdn cdn stands for content delivery network you can think of these as just uh many numerous nodes throughout the world so that you're going the shortest physical distance from your browser uh to one of those nodes based on where you are in the world if it's not there it goes to arcgis online arcgis online has its own cache this feature tile cache and it will check and see if what it has in this feature tile cache is up to date if that's not there or it's not up to date then it'll go and actually execute the query on the database once that query is uh resolved uh the feature tile cache gets updated the cdn will now have a version of this uh request in its cache and the person's browser cache will also have it so that the next time you visit it you might pull directly from your browser cache or if somebody else on a different browser and a different machine were to come in they might get it from the cdn and that's going to give you the most optimal performance i'll show a couple of examples of that in the demo for private layer it's basically the same except that we don't use the cdn for your private data it's always going to go back to arcgis online so a little bit more about feature tiles this is uh meant to give you a sort of under the hood feel for what's happening to give you confidence in knowing that when using the arcgis online platform you are getting the best possible technology and that it can be performant and scale to uh very very large loads so this section is going to going to sort of drill into that and give you an idea uh for how we do that let's take this example here i've got building footprints across the new york region there's actually 941 000 polygons drawn uh in this in this application well how did all that data get there and how did it get there in an efficient way well it actually queried for data one tile at a time so you see all these white boxes this is where we are querying data from the server we're using the same envelope for each of those queries so that it's repeatable now some important points to call out for what comes back or sorry how we're requesting the data we're requesting uh with an envelope we're just requesting the fields that are needed for the display uh we are quantizing or uh generalizing the data so that we get no more than one vertex per pixel and then this view here that's 38.21 meters and we're telling the server that this is a tile request and it can cache it when it returns there's a lot of good stuff here i see data coming over http 2 um over hdbs i see the times are low and the cache i see that in this case i'm getting a hit from cloudfront that's our cdn and also that it's got feature tile cache within arcgis online as well we also try to minimize the amount of data to make it the most efficient way possible to read that data and push it to the graphics card so just to give you an idea this isn't uh you don't need to you know remember this or anything but just to give you an idea we are just returning for like let's say a polygon we're returning the first point in a ring and then it's the offset from that point until the end of that ring of that polygon so it's really just minimizing the amount of data that we have to process um we in the client side efficiently process and prepare those features to be drawn on the graphics card so it involves us triangulating in an efficient way we also do lots of line optimizations so we can balance the display quality with overall performance so with the symbols that you can choose from in your web maps we have different types of line endings and those cost more but what we when we notice is that anything less than two and a half pixels wide we can get away with um actually using the simplified uh quad which gives us the fastest uh um processing time with just a little bit of memory being used so important point here is that we're doing uh the best that we can under the hood to ensure that your visualization is fast and performant and the performance has greatly improved throughout the year actually for the last several years you've probably noticed this as we've moved to webgl in both the old map viewer and the new map viewer we can see here just the performance improvements alone between march and june in the new map viewer so on the left we have census tracks for the continental us yeah somewhere in the order of 65 000 polygons and you see how fast it's drawing in june as compared to march and on the right side we have icebergs around antarctica i think it's some 330 000 points and you see how fast they're loading in june as compared to what it was doing in march with webgl feature tiles the cdn using protocol buffer format compressing the data with broadly compression these are all capabilities that enable you to work with larger data sets at scale all right let's just jump and do it quick uh uh demo highlighting a little bit about the feature tiles okay so i've got this um item here this is a feature service of california historical fire boundaries i think the important thing to note is that in this case i've only shared it with the organization now let's look how this is used in the map viewer so i've got my network tab open down here uh to kind of give you an idea for what happens under the hood once you turn this layer on um let me zoom in uh zoom out one sorry and uh well we see that we are missing from cloudfront but uh we're getting feature tile cache results back so these times are all very fast you know about a half second let's make a change to the data so i'm gonna go over to the data tab and uh make an update here change it back so i don't mess up the data and we see that the data was updated at 12 13. um now let's go and zoom in one more time and there we go i get to the point where um i haven't viewed these feature tiles before the data is not coming from cloudfront and it's not cached as a feature tile so the response times are a little bit higher the first time someone visits an area and goes to a place for the first time on your layer no matter what application it is they're going to take this this hit and then the next time that they anybody else comes to this area they will see it as a feature tile so if i zoom out and zoom back in again here i should see that all of these are now hit through feature tile requests let's see all these trues here and all of these times are less than you know 300 milliseconds now we can even make this go just a little bit faster once we shared it publicly so i'm going to share this to the public and i just want to call out on the settings page you will see this cache control when the layer is shared with the public it's cached at the cdn so the cdn can really help you improve your performance this is where you set what is the longest time you want users to wait before seeing updates the default that we set for all new services is 30 seconds you can move that up to an hour i really wouldn't move it to never i would keep it always set if you're sharing it to the public you're going to get the best performance and even if let's say your data changes every five minutes setting it to five minutes is a good uh practice to do um now i've got it set to the public i'm set for five minutes now let's navigate this application so let me zoom out one more time zoom in again oh sorry i need to reload this app this page makes sense it's uh i was already signed in now that this layer is public let's get to where we were and turn this on um okay um zoom in one more time and zoom back out there we go see where now we're starting to see these hits from cloud front for those queries and remember those queries coming from feature tiles were about 200 milliseconds and now they're less than you know they're around 50 60 milliseconds so uh that's kind of the order of magnitude of response times that you're going to get when working with um uh feature layers cached at the cdn and through feature tiles so you're gonna get around 50 to 60 milliseconds for query once it's at the cache of the cdn maybe 200 milliseconds per query if it's cached as a feature tile and then if i go all the way to the database depending on how much data is being retrieved you know you could see upwards of a second five seconds even 10 seconds to return those queries so um this is just kind of give you an idea of what's going on under the hood and to give you the confidence to share your data to the public so that it can be picked up and shared and performed really well all right i think with that uh turn it over to paul to talk about hosted feature larabees paul all right thanks jeremy so let's uh talk a little bit about host feature layer views what they are and kind of uh we're going to work through kind of a practical example to kind of ground uh the concept in kind of a real world use case so for those of you who aren't familiar with hosted feature layer views you create them from an existing hosted feature layer and one of the things to really note here is that in creating a view you're not duplicating your data you're not incurring additional credit storage costs all of your views point back to the same underlying data set and uh it's just that you're creating a unique perspective into that data and uh in doing so it gives you a lot of flexibility to really tailor the view to really to meet your audience's needs and so that could include um you know if you've got sensitive information you want to remove um you can either filter that by a query or you could just hide entire fields from the view completely also if you want to really focus or restrict what the user can see geographically maybe you're making a view just for a specific area within your state or municipality you can restrict that information geographically to uh and just share that information only um speaking of sharing uh each view has its own independent uh sharing from one another so you can share some layers uh layer views publicly you can keep some private to your organization they also have independent editing capabilities so you could have a view that's read-only and shared to the public you have could have a view that is you know ad-only and shared to specific stakeholders maybe within either your organization or someone else's um and then they they function just like a regular feature layer at the end of the day they just have some additional uh capabilities on top of them to define uh these these rules and uh one of the other really cool things that i'll touch on in the demo at the end is that um through the analysis tools if you happen to own both of the layers that you're joining together you can opt to store that as a hosted feature layer view and that's a dynamic join on the fly your data set so as those source layers update um the the join updates uh dynamically as well so with that let's hop over and just dive into a quick demo um so this is a blog uh that i've put out a little while ago uh now but it's still very very relevant to kind of the views and the concept and uh this is included in your the handout sheet that's part of this webinar so if you're looking uh looking to kind of read in detail afterwards you've got the link right there but it's focused around a crowdsourcing example in oakville canada and uh they happen to have had uh as urban boundaries expand into more rural areas uh coyote habitat is being encroached on and therefore you're getting more coyote sightings within the actual city itself so they've made that information public from an awareness perspective but if you wanted to kind of deploy some sort of crowdsourcing solution and also give your field staff the ability to kind of report observations in the field and have that information awareness as new and uh data comes in um doing so without views actually requires a lot of uh republishing data and duplication uh to kind of achieve the same capabilities and that's where views really shine we're not duplicating data we're looking at each individual user's requirements and we're creating a view to meet those requirements so when we consider the public they kind of need to accomplish two things in this example they need to be able to add new coyote sightings uh when they're out and about and we want to encourage that and the layer that we're going to share back out to the public for awareness is going to be read only and only shows information that has actually been reviewed by the city staff and so for those city staffers who are reviewing the data we're going to create a view that's unique to them and allows them to see all of the sightings that are pending review that gives them the ability to remove duplicate reports they'll need to edit uh an update and as well as kind of delete so that gives them a focused focus view and to support the city staff in the field better uh we want that to encourage them to also report coyote sightings um so they need to be able to add new sightings um and because they're out in the field and it's important to have the the most uh up-to-date information uh even if it's potentially maybe a little inaccurate or hasn't been reviewed we want them to see all of the sightings regardless of what the city staff has reviewed it um because we don't want them to miss a coyote citing just adjacent to the park they're working on just because it hasn't been reviewed by the city staff so how would we do that and pull this all together well we're going to publish four views at the end of the day for each kind of specific use case one for the reviewing one for reporting and uh for the public to push information to as well as sharing that information back with the public and so i've gone ahead for the you know time constraints and made those individual views ahead of time you can see over here on the side but to create a view you just come here and create a view you give it a new name and after the view is created you can set your definition and the definition kind of defines the rules of the view so to speak so you can hide fields um you can filter geographically or you can pass it a you know a query to filter the data based on your attributes and i just want to call out too that it's important to note that that's not like a soft filter that like you know we have filters on the map that individuals can remove and see the full data set this is strictly enforced all the way back to the rest uh end point on the service and if you're exporting the data it's applied on the export as well so it's a very strict filter from a from a security standpoint so i'm just going to pop into a couple of views and walk through how you kind of configure these so the first one i'm going to look at is the public facing survey so i've created this view you can see that i've shared it to the public so that everyone can access it and this kind of summarizes the goals here you know we uh we don't really care about symbology because based on our configuration they're never going to see dots on the map in this in this particular app they're only going to be pushing data in and the way that we achieve that is by going to the editing settings and so this is a view and that even though the the parent is full parent feature layer is fully edible this view has editing users can only add information and even though they can add information they actually can't see the information after they add and that's kind of how we achieve that um help help achieve uh you know them seeing unverified reports in this particular layer and then we'll talk about the the viewing layer as well so to set a definition you can either go to the visualization tab uh on your on your view or you can add it to a map and update it there and i just want to call out this is the filter that is the soft filter that i was talking about the users can remove that is not the same as setting the definition and that sometimes trips people up because they're very similar what you want to do is go to more options and set view definition and you can define features so if we were looking at this one it doesn't have a filter set because users can't see any of the data anyways i can see this data here just because i'm the owner i've also gone ahead in through defined fields i've turned off access to fields that are internal to the organization so you know the public generally doesn't need to know anything about who the data reviewer is or our own internal ids to manage that so that's the survey um case so now i can add that to my crowdsourcing app and that will allow users uh public users to push that data in anonymously to be vetted by the staff and i've set the data model up so that the default status on kind of whether it's been reviewed or not is is pending so um if we hop over to the data reviewer side we'll see that we've kind of tailored that view uh to meet their needs too so we have full editing enabled we can see that here because they need to be able to do just about everything when reviewing that data and if we go over to the visualization tab here and look at the definition quick we'll see that we focus this view just showing the pending results so um you know the data reviewer only cares about what hasn't been reviewed um so there's you know they don't need to worry too much about uh data that's already been through the review process so we've filtered that focused uh so that they they don't have to kind of traverse and easily identify what they uh what they need to do so once the data has been collected from the crowdsourcing app it's been reviewed by the staff we need to push it out to the public and to do that um we've created a view that is read only so if we go over to the settings here we have no editing enabled we'll see that that cache setting is set to 30 seconds like jeremy was talking about so that gives us you know the better ability to to scale and be performant uh when this app becomes really popular and if we were to look at the definition here you'll see that we're still uh hiding our internal fields to the organization because they're still not relevant to the public um additionally what we're doing is adding another filter too when we're only showing sightings that have been verified so the public only sees um the sightings that have been reviewed by the staff and then pushed back out through that this view and if we wanted to say there was a special event coming up and we wanted to uh restrict it geographically i'm just going to show that the same the same menu i is available in the map viewer as well so i can define an area of interest and so maybe uh there's an event at the golf club right here and if i hit apply what this is going to do is restrict that information geographically so i could go one step further and really create um you know event specific views from a health and safety perspective still while managing my data set as one you know one city-wide data set so the last one that i have here is really about the field staff and so the field staff um they have full access to the data but they can also they can only add we don't need them deleting or reviewing things so i've just tailored this so that they can they can push data in as they see it in the field but they also viewing access to everything so that's kind of the core view workflow so it gives you that flexibility to control sharing editing uh what the what the data definition is for each individual audience all while maintaining a single data set behind the scenes for you to make your life easier and last i want to quickly show the join um so the joy's pretty cool what i've got here is countries from around the world and i've got poverty statistics that show percent below the poverty line for various countries um i'll just take a minute to show up there so i've gone through and joined this already um but to get to this uh the end result here what you would do is go through the analysis tools you pick your layers you do an attribute based join and down at the bottom here if you happen to own both layers you can optionally store this as a hosted feature layer view as opposed to a completely new data our layer which duplicates the data and is then disconnected from the underlying data sets so because it's dynamic i can turn on this this layer um and i can actually edit the underlying data so i've got a refresh interval here that's uh refreshing this and what i'm going to do is come over to the table of poverty statistics and i'm going to quickly change canada so canada is now 70 of it's below the poverty line and you're going to see this data refresh a few times and this is the cash that jeremy's talking about and how long you know when we say how long users might wait to see edits so i made a change to the data the cache age on this is 30 seconds um so as this data set refreshes we should see canada light up and turn dark blue and there you go and you'll notice if you're paying close attention that that actual refresh that turned it like blue is slower than kind of the previous refreshes and that's because it's no longer pulling from the cache so right now it's refreshing it's pulling from the cache and so we get that performance benefit um but that initial kind of reloaded the data it's a little bit slower and then it speeds right back up for everybody else and uh i think that's that's it for me i'll turn it back over to chris great thanks paul so data management is another key aspect of working with your host of feature layers in arcgis online uh as jeremy and paul were going through their demos they kind of they kind of touched on key data management aspects of things you want to consider or a decision making point uh whether it was like the cdn uh response time uh that jeremy showed or whether it was setting the view definition and hiding sensitive fields or just the fact that you can create a re-only view like a paul showed an arcgis online data management is broken down into three general buckets uh first is like uh schema the schema for your your the data in your layer uh the fields uh domains uh the information about your fields like field value value types in arches online you can configure and manage those uh access who can access your data who can edit uh you know and that ties into the view definitions uh setting uh or creating uh feature layer views and then uh also bulk updates you know you can update uh through a web adding application through something like collector where you're syncing back updates or you can do a full bulk update to where you're doing append to update data in place or you know appending new data or doing something like calculated or even a collaboration between enterprise and online so let's do all these bulk updates a little bit more so uh for those of you that are published from desktop i'm sure you're familiar with uh the publish and overwrite workflow uh you know it's it's one of the popular strategies we're doing bulk updates but for all these there are some benefits and some trade-offs for overwrite uh the layer is deleted and recreated uh with the same item id as well as the same uh url but the the data is not available during the downtime so if you have a large layer and you're performing overwrite that downtime can uh sometimes be a little bit more significant uh append their data is live during the update so it's it's never not available uh you can add features or add additional records or you can update uh the features in place uh the data is live but it does not support delete so you can't delete features so there's a limitation there as well uh the ability to include attachments as part of append is coming and you can't also can't make any schema changes and if you have enterprise it offers another powerful way to get updates into arcgis online or even between enterprise environments you can collect data using you know your enterprise infrastructure and then make those uh updates available in arcgis online allowing you to kind of leverage the full scalability and caching infrastructure of rts line to make data available to the public and with that let's dive into a demo all right so uh rather than drill through a couple workflows what i wanted to do was touch on a few different data management aspects in arcgis online and kind of talk through them a little bit uh and to start with you need a hosted feature layer you know and i'm sure many of you have already published one you know you can come from a source file like shapefile a csv excel spreadsheet a google drive or publish from desktop another way you can create feature layers is to create an empty layer so there's no data inside of it and you can do that from the create option and my content and there you have a few different options uh you have the template option we'll get back to that in just a second you can also create from an existing layer organization or from a url to a feature service which may not be actually a hosted layer at all so that's a good way to import a schema from somewhere else arcgis alignment offers a rich set of industry specific templates to get you going and for our purposes today we're going to do a hydrants inspection template this template includes two layers one is a hydrants feature layer and then the related inspection table if you're going down the fill with collector to capture data you can enable a gps receiver uh receiver option and that will then capture metadata about the gps so you can perform qa qc later on back in the office if you need uh we can complete this out but i have uh another layer ready to go in the interest of time so uh so now i have a created hydrant inspections layer created from the template and you can see that i have uh the hydrogen's feature layer and the related inspection table and i'm going to cruise over to the data tab and again you can see you can drop down between each option and now you see what we get we have an empty hosted feature layer i just created from the table and then now we can do a few things here we can start modifying the schema or we can immediately load data and i'll get to the schema modification in a second but i want to go ahead and load some data so to get started i want to bring in the location i have for hydrants already to start collecting a new round of inspections a new cycle of inspections or what have you all right so i have my csv uploaded and what i want to show you here is that we're going to add new features we don't have any existing features to update and there's already some field matching that goes into place that tries to match up fields between the hosted feature layer and the csv or the data that you're bringing in for example manufacturer and then location fields like latitude and longitude now i know the other fields match but we can match them up manually if we need to in this case i know that my work order id is actually it was related to the hydrogen id and that's what i want to use for the facility id so we can do an update real quick with that and now we have 300 features immediately appended and this layer is really kind of ready to go to capture edits if you need but you know maybe the schema isn't exactly what you need you can start off with doing things like deleting fields if you have uh if you need to populate uh the records in the table for a particular attribute but you can do calculations based on the values that you added so maybe there's a date that you need to calculate when you do calculate there are two options arcade and sql sql is ideal for larger data sets it's a server-side computation uh you can use it with sync or keep track of created features uh arcade is ideal for lighter data sets it has improved trouble setting troubleshooting but you can't use it with sync or keep track of created an updated features enabled all right so now we're talking about modifying the schema for these layers we can do a few different things with fields and actually you know and actually get more information about the specific fields you can add a field uh from here and what i want to do though is i want to drill into the manufacturer field uh if you recall that's the field that i just included as part of the append operation and a few things here you can update the field alias like for the facility ids if that didn't really match what i wanted to do i could change that to my hydrogen ids the field description and the field value type you can set these to where like in this case name and title is perfect as the name of the manufacturer uh you provide a description as well and these are widely used across arcgis apps but over time you'll see it use more map viewer beta uses it now and it will help make informed decisions about or help the app make informed decisions about uh what your data represents uh you can do additional things you can set uh unique you're gonna force uniqueness on the field and so say with those hydrogen ids that each one you know would have a unique id and so you're gonna force that here so as part of the edit operation that nobody's gonna ever enter in duplicate ids uh specifically though in this case i have a list of coded value domains these are not the actual ones that were brought in as part of the append data for the manufacturer field these were provided by the template and they don't actually match my data so i want to delete this entire list now that's done i can come back and i can generate a list from the data itself from the field from the attribute values and the manufacturer's building you can see that along with the coded values generated that includes a count for each one all right so a lot of powerful things you can do for configuring your schema and hopefully some of these kind of things work uh you kind of have an idea for how you can bring them into your workflows one other thing i want to show you right here with this and this is what jeremy and paul have already touched on but it's worth kind of mentioning again is that on the feature layer settings tab uh all the editing options a lot of times these will be already preset for you as part of whatever application you're working with that creates these layers or maybe through some other workflow but it's worthwhile being familiar with these just to make sure that editing is configured as it should be for publicly editable layers you really don't need to have delete and update unless that is really a purposeful thing because that would mean that anonymous users could potentially modify data submitted by other people and that's usually never a good idea so you wouldn't want to keep it locked down to add like paul showed for the crowd sourcing and uh and further you have additional controls like enabling export managing spatial indices and uh setting the cache control setting like jeremy showed all right so switching gears a moment uh i want to talk about and show you uh something that was introduced in the rts online release for the uc uh maybe some of you already noticed this so host of feature layers are comprised of one or more layers and we call those sub layers and they're not really surface very well when you search for something a lot of times you'll find a hit but you may not you know find out exactly what you're looking for for the sub layers actually within the hosted feature layer item so we're trying to surface that more in the ui and you can see with this hosted layer item i have here it's composed of a dozen layers or so and immediately you can get a sense of the geometry associated with each one and you can then drill into them and as the owner of the layer you can provide summary description credits etc and then those are then eventually will be some part of a search experience that you would then be able to discover specifically like international airports or california airports um uh some of the things from the main layer page we've moved to uh the individual page like attachments uh you can still do things like append that you can do things like export and it's just targeted the individual subletter you're working with but one of the coolest things though is that you can create a feature layer view from the primary data set with multiple layers that where the view only has one layer so that's a really cool powerful workflow similar to the view definition workflow as paul showed for hiding individual fields or uh or specific data you can also take it where you don't even have specific layers in your public view so it really gives you a lot of control and thinking of how you want to create additional layers from your primary layer and with that i believe back to the slides and a couple things to wrap up with real quick so we've mentioned this a few times but it's worth re really reiterating when you're sharing a layer to the public to take advantage of rtl rts alliance caching infrastructure as well as protecting the integrity of your data there's just a few key points first is to use a read only view when sharing to the public so like the editing settings that we just showed make sure those are disabled for your layers that are shared of the public if there's an edit workflow that makes sense for the public that you're trying to achieve make sure to use a view layer that has add only so folks can't modify or delete data that you have in your layer and then finally depending on how often your data is updated set the cache age accordingly as as jeremy mentioned so if your data is updated every five minutes uh consider at least a five minute cdn time if your data is updated every hour uh consider an hour and that will that will generate a pretty significant improvement for how your layer performs and that's it really that that's all right double stress that chris i think you're absolutely right the you know be really careful about sharing your data public with editing turned on um it's harder to scale it's not as performant because we actually download the source geometry without any generalization so it's not going to work very well it opens you up to having your data corrupted by nefarious users in the public and uh if you have something that goes viral with an editable layer you'll probably be getting a email or a phone call from mary ann no one wants that thank you um and thanks everyone for your presentations and the questions everyone thank you so much we have loads of them uh so we'll turn to those now so that we can answer as many as possible while we've got you on the line but a quick reminder that this was all recorded and we will send those recordings to you via email and we do have the links for you as well in the handout so hopefully we're giving you the the path to catch up on anything that you may have missed so with that said our first question uh let's talk about rebuilding spatial indices um when we when do we know that it's time to use that function how often do we rebuild spatial indices on a feature layer you know in theory you shouldn't have to use it at all and we should have processes as your data changes and goes outside the extent uh that it rebuild it um i think a good rule of thumb is if you've got some queries that uh aren't performing very well for for whatever reason give that a shot it won't hurt it um and that might be the issue um i don't know chris paul you want to add anything to that i know definitely really to add but yeah no the one time where you may want to it doesn't happen very often is when yeah you publish your data with a really small geographic area and that like expands over time um periodically you can some there's some benefit to updating those indexes from time to time as that data expands we should be doing that automatically so if you've got a reproducible case be sure to submit to support so we can get it good advice thank you next question we have an attendee who is regularly using truncate to update the hosted feature layers in fact every day is this a good approach for updating these layers um it can be i think a couple of things to sort of watch out for is when you use truncate that removes all the data so any until you new data in your layer will be um you know not return any features so that's one thing to sort of keep in mind um it will uh if you did it a a ton um it may cause uh may cause some funky issues based on object id reuse but probably you won't run into that we are looking for a better way to allow you to have a publicly viewable layer of view and then allow you to swivel that you to another hosted layer that would allow you to to create a second data set where you uh your qa and then when you're happy with it you can point that public view to that new hosted layer that way your the public doesn't see any time and it does give you the ability to qa qc put up there so we're looking to try to do that uh expose that in the experience um later this year or early next year thank you next question um on the topic of i think the the caching and the cdn use what what happens if you clear your browser cache every time you close it and every time you open it um yeah if you clear your browser cache then yeah you won't you won't leverage that brow any browser cache that you might have done um but since you know we have caching at multiple tiers at the cdn and then also within arcgis online's feature tile cache those will get up so you know you won't really see much impact um and the way it works is that cache setting that you set so 30 seconds let's say that's going to set the cache setting at the cdn and also at the browser and so what it means is is uh once you've loaded that layer in the browser if you make that same query within 30 seconds it won't even the browser will even go back to the server after 30 seconds it will go back and ask hey i've got something in my cache is this still good and either the cdn or arcgis online will respond with yeah it is still good or no here's the real data and that's kind of how that works under the hood so yeah shouldn't be a big deal yeah and what's what's the advantage of cdn uh the cdn really pushes your data to um nodes around the world wherever it's being requested so let's say australia and you are you've got a host of feature layer you know you don't want that data traveling from um the u.s for every request because you're going to have some you know network latency problems and so what the public's the cdn allows you to do for that public data and populate the content delivery nodes in australia region so that when users in the australia region come through they'll go to that node first and get the data we also you know we just introduced this uh this past uc um ability to have uh new orleans might have been in march actually new organizations um where the hosted data is in europe and in this case ireland so we're looking to also expand that uh as well so that'll improve the performance for private data great thank you our next question is uh why does the visualization tab on the hosted feature layer items item details pages why don't they draw all the features so i can say that again if you didn't catch that no yeah i think uh i think this was for uh on-prem versus enterprise i mean for online is that right marianne um let's take a look let me read the full question shouldn't it be able to retrieve data in chunks or tiles like apps can actually i may be confusing older versions of enterprise with arcgis online so it sounds like the attendee it has been using a lot of different arcgis products which i think we can all empathize with there are a lot of key a lot of things to keep track of over the years um so the question again i'm not sure if it's specific to enterprise or online but it's why does the visualization tab and the items details page uh not draw all the features uh well one reason is that that app that is in that visualization tab is actually the old map viewer or map bureau classic and it can't draw as many feet we don't request as many features as a new map viewer or other 4x javascript api based applications so you will see some slight differences in the number of features it gets it's still webgl still leveraging feature tiles but you may not get may not get any features so that can happen the other the other point to call out is that feature tiles are not currently in enterprise they are targeting hosted feature services at 10.9 to have some feature tiles so then on your enterprise based applications uh you would be able to leverage that feature title and hopefully be able to connect up a cd to your enterprise as well yeah that's helpful thank you um the next question is an important one uh that we hear a lot can feature layer views be made public without making the underlying feature layer public yeah i can take this one um yeah totally um so the views editing capabilities are completely independent from the underlying source so you could have the source read only and any view with any configuration um the one thing to note there is things like sync if you want to use that data offline the parent does have to have sync enabled for the views to have uh sync enabled as well but you can disable sync on a view if the parent does it great thank you what is the difference between normal filter and view filter great question i tried to call that out earlier in the talk but uh with my issues it might have got lost um the the normal filter that you do in a web map or on a layer is what i would say a soft filter so if i published that map and gave it to chris or jeremy they could remove that filter and then see all of the data that unfiltered data with a view setting that view definition for defined features is strictly enforced on all queries so they can't remove that that filter and see all the data so it really comes down to security and access thank you next question is it possible to define an area of interest based on another feature layer um not i mean technically yes if you were writing your own custom app it is something we want to expose in a future update we're just playing around and trying to figure out the right experience to do that um and uh yeah you should see that coming in in the future it is something we want to do um you know as a developer in python you could probably you could do that today but uh through the the core website uh that will that will hopefully be coming into the future cool thank you uh next question i love this question is it safe to say that a feature layer view is similar in general conceptually to a database view in an enterprise geodatabase they are quite similar at the end of the day um that's i mean it's a it's a valid way to think of them they they might have you know slightly different implementations under the hood but they kind of aim to achieve very similar goals under the hood are actually using database views so yeah cool a great nugget a little factoid for us thank you are the view options also available in enterprise and if so from what version um i think uh i'd have to fact check that in the documentation so but uh to be safe i'll say the basic views i believe were available as of 10 7 and up and that includes being able to define features fields in an area of interest i the join i believe is still pending in an enterprise and that will hopefully be coming into the next release or two okay great thank you because this thing came up in the uh sorry because this came up session um chris do you want to talk about the differences with append uh sure uh so uh uh paul i forget is append expose at all as it only exposes a pen or is it not there yet append is coming yeah defend this coming uh the enterprise team has been working really hard um to support that but i think it's yeah it's targeted for the next release so okay um if arcade code can't be applied to hosted feature classes where sync is enabled is there a timeline when it will be um i think that's referencing specifically field the field calculate um it is a restriction that we want to remove um right now in the future we're looking to kind of remove that restriction um so hopefully before too too long we'll be able to do it um i don't know jeremy you've got anything else to add um i'm not not directly related to that but um you know enterprise uh future services allow you to set up attribute rules on the server and those rules are driven by arcade so you can set up like a hey i want to calculate something anytime something changes on this feature i want to uh set some kind of constraint i can't go in here if it's very that's where i want to validate it and that uh dev work is happening you know within the uh hosted feature services of arcgis online so we'll eventually have similar capabilities in arcgis online that you have on enterprise feature services with regards to attribute rules where we have cape running on the server so look for that in the next six six to nine months great thank you and with that we have just under a minute left so i'd like to take this opportunity to remind everyone that this webinar and q a was recorded is being recorded and we will email that to you in the next two weeks we have a handout for you as well that has lots of handy links that cover all of the topics that we got into today and of course as always there's geonet which is community.israel.com and we have support always available standing by so please stay in touch and thank you again so much for joining us today and thank you to our presenters as well you
Info
Channel: ArcGIS
Views: 7,926
Rating: 4.9402986 out of 5
Keywords: Esri, ArcGIS, GIS, Geographic Information System, ArcGIS Pro, ArcGIS Online, hosted feature layers, scalability, viral maps
Id: GV2ymFP5q9E
Channel Id: undefined
Length: 57min 49sec (3469 seconds)
Published: Wed Aug 26 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.