IDEA
|
We ran into this issue with time sliders for earlier timescales as well and ended up using the ArcGIS API for JavaScript to develop a webmap with a TimeSlider widget that solved the problem. I wrote up a blog post on how to do this over on the ArcGIS API for JavaScript blog; it includes instructions as well as the required code. Perhaps this can be of use to someone who comes across this question in the future.
... View more
07-15-2021
09:02 AM
|
0
|
0
|
966
|
BLOG
|
While TimeSlider widgets are great for scrolling through data in the past 2000 years or so, they don't work so well for much older information. This could be artifacts from an archaeological site of ancient Greece, or land changes over the course of a geological time scale. Since dates in these ranges can't be represented in a field that can be time-enabled in ArcGIS Online, this initially seems impossible. However, there's a workaround. Since v4.17 the ArcGIS API for JavaScript provides the option to specify custom label formatting functions, which opens up the possibility of displaying any custom text in place of the time-enabled field values. By adding a new datetime field (or fields) to your dataset and using a little math to populate this field with your original dates scaled to a range of modern-day dates, you can time-enable the new field(s) and calculate the (approximately) correct corresponding original dates to be shown in the TimeSlider widget. You can see an example of this customized TimeSlider in action here. This is a map of structures in the city of Corinth across a wide range of years, extracted from an archaeological dataset from the ASCSA Corinth Excavations available in ArcGIS Online. You can read more about their work and this dataset on their website. I chose this data mainly for its range of dates, which scales the range from about 750 BCE to 1800 CE, a range that wouldn't normally be possible to scroll with a TimeSlider widget. To do this, I used ArcGIS Notebooks in ArcGIS Pro and the JavaScript API for Python. All the code used as well as directions on how to use it are available here. I hope you find it useful! Filtering to the earliest structures Filtering to the earliest structures, around 800-500 BCE Scrolling to a later date shows more structures Scrolling to a later date shows additional structures
... View more
07-09-2021
09:06 AM
|
7
|
3
|
1235
|
POST
|
I agree that this would be useful, if there's not a way to do it already. Since this didn't get a response yet, I'll reiterate here: is there a way to change the page id shown in the URL of an Experience Builder page to something meaningful instead of 'page_1', 'page_2', etc.? Thanks, Abbey
... View more
12-18-2020
08:29 AM
|
2
|
0
|
1245
|
POST
|
Thanks for your quick response. Unfortunately, I did initially try it with global scoping and had the same results. Any other thoughts?
... View more
03-25-2019
07:57 AM
|
0
|
1
|
482
|
POST
|
I'm trying to use a function to populate part of the contents of my popup, similar to the example shown here, but the function isn't being called--the popup just displays whatever field I attempt to pass to the function. My popup template code (very much simplified at this point, to determine if it's even being called) is shown below. I would expect the popup to contain the text "Put this in the popup " and the species field value, but all I'm seeing is the species field value. If I change 'species1' to another field in the content section, that field's value will be shown instead. Any thoughts on what could be going wrong here would be much appreciated. let getHeaderExpr = function(value,key,data){
let textStr = "Put this in the popup " + value;
return textStr;
};
let specimenPopup = new PopupTemplate({
title: "Species: {species1}",
content: "{species1:getHeaderExpr}"
}); layer = new FeatureLayer({
url: layerPointsUrl,
visible: false,
renderer: specimenRenderer,
popupTemplate: specimenPopup
});
... View more
03-25-2019
06:36 AM
|
0
|
3
|
554
|
BLOG
|
In reference to the bullet point on "Enable access to everything – grant entitlements for all common apps (ArcGIS Pro, GeoPlanner, Insights for ArcGIS, Community Analyst, Business Analyst, etc.)": Our log files brought to our attention this morning that the license name for Business Analyst recently changed. Instead of "ArcGIS Business Analyst", the name is now "ArcGIS Business Analyst Web and Mobile Apps", so anyone granting entitlements to this license in a script may need to update this name. Abbey Roelofs (University of Michigan)
... View more
10-05-2018
06:07 AM
|
0
|
0
|
1854
|
POST
|
I'm trying to return the maximum value from a field in a table, or better yet the maximum value for the field when grouped on another field. I know how to write the SQL for this, but I'm fairly new to ArcGIS, and I'm at a loss on how to translate this into the input parameters for the query() function. It looks like I need to use the parameters 'group_by_fields_for_statistics' and 'out_statistics', but I can't find any examples on what these should actually look like. The API reference is not much help; for out_statistics, it says, "The definitions for one or more field-based statistics to be calculated." Does that mean a string with a sql function ("MAX" or "MAX()" or "MAX(fieldname)" or...?), a function definition, a predefined list of functions somewhere that I need to invoke, or something else entirely? This isn't the first time I've run into this kind of issue with arcgis (that is, finding that an input parameter is available but being unable to find any guidance on how to use it), so if there's a good reference or resource for this that I'm just missing, I'd be very glad to hear about it.
... View more
02-19-2018
05:31 PM
|
0
|
1
|
557
|
Title | Kudos | Posted |
---|---|---|
7 | 07-09-2021 09:06 AM | |
2 | 12-18-2020 08:29 AM |
Online Status |
Offline
|
Date Last Visited |
03-05-2024
03:51 PM
|