POST
|
Is there a way to create a point symbol callout with a leader tangent to the point symbol, in my case a circle? In the attached image I'd like to display the callout leader like the markup in red. Thanks
... View more
06-12-2023
11:03 AM
|
0
|
0
|
110
|
POST
|
jschuckert - This was a while ago, and under a previous employer, but I believe I used the output .csv from the code above as input to arcpy.conversion.TableToTable, and specified a field map which contained all the necessary fields. -Justin
... View more
06-12-2023
10:46 AM
|
0
|
0
|
1205
|
POST
|
Thanks GK. I was trying this earlier, but $map isn't recognized, and I'm not sure how to define it as a variable, if it's possible. I no longer have access to ArcGIS Assistant but would be curious to look at the .json of the Dashboard List element in ArcGIS Assistant Beta. Maybe that would have a clue how a 'default' Dashboard element is referencing the $map.
... View more
05-01-2023
01:05 PM
|
0
|
0
|
697
|
POST
|
Hello, I have an Arcade expression put together for a Dashboard List, using FeatureSetByPortalItem to reference a Portal feature service. The purpose is to create a list that sorts tracts by the latest date in any of three date type fields. Because this is directly referencing the source feature service, and not the web map in the Dashboard, several Actions are unavailable, including 'Show Popup' and 'Zoom'. Instead of using FeatureSetByPortalItem(<Portal>,<Portal Item ID>), is there a way to reference the layer from a web map, or otherwise define the popup so that can be displayed as an action? Below is the Expression referencing the Portal feature service item and layer directly. I just can't use this to zoom or display a pop-up. var portal = Portal(<portal>);
var fs = FeatureSetByPortalItem(portal,"<id>",<layer>,['*'],false);
var date_dict = {
fields: [{name: "MaxDate", type: "esriFieldTypeString"},{name: "Tract", type: "esriFieldTypeString"}],
geometryType: "esriGeometryPolygon",
features: [],
};
var acq_sql = "Appraisal IS NOT NULL and Survey IS NOT NULL and Opinion IS NOT NULL";
var acq_filter = Filter(fs, acq_sql);
for (var feature in acq_filter){
var max_appr = Number(feature['Appraisal'])
var max_surv = Number(feature['Survey'])
var max_titl = Number(feature['Opinion'])
var tract_num = (feature['tracts'])
var max_date = Text(Max(max_appr, max_surv, max_titl));
Push(date_dict.features, {"attributes": {"MaxDate": max_date,"Tract": tract_num},geometry: Geometry(feature)})
};
var newFeature = FeatureSet(Text(date_dict));
var orderFS = OrderBy(newFeature, 'MaxDate desc')
return orderFS A temporary workaround I have set is an action from this data expression list to filter another list using the same filter criteria but sorted by 'tracts'. Users have to click twice, but that's not a huge deal - would be nice to be one click though.
... View more
05-01-2023
12:21 PM
|
0
|
3
|
712
|
POST
|
Using ArcGIS Pro 2.9.5 Advanced and file geodatabase for all data workspaces. I have a model built using an iterator to perform various geoprocessing on input polygon geometry*, where the goal is output in a table where each row contains beginning and end x/y coordinate pairs, which will be used elsewhere outside of the model to create line features. Following geoprocessing of the input shapes, I'm perform four Sort functions on a table to get the minimum or maximum value for a specific field, then a Get Field Value to capture that first record from the sort for each of the four Sorts. This is where I get stuck: I'm currently using the Get Field Value results, followed by Collect Values and exporting those results to separate tables, then merging the four tables together. The result is close to what I need, but I need to dissolve the records together but am not sure how with a standalone table. Because this is within an iterate, ideally I could just use the four Get Field Values and use those to calculate fields in another table (where each iteration calculates on the same record) - but I cannot figure out how to do that. Perhaps I'm approaching this wrong altogether, or perhaps there's a way to use Pandas to dissolve/melt the merged table output...I'm stuck. Any help would be appreciated. Thanks *I am manually merging parcel data together by PLSS section, and then using this model builder process to create PLSS quarter section lines based on the geometry of the merged parcels. The model builder iteration is to perform the various geoprocessing section-by-section. The desired result is for cleaner cartographic displays where at least the section lines and parcel boundaries are coincident. So far this model is only focused on the West-East quarter section lines. If I can get it working I'll expand it to also create South-North lines as well.
... View more
04-18-2023
06:44 AM
|
0
|
0
|
221
|
POST
|
I'm not great with Arcade and stumped. I'm trying to create a pie chart in a Dashboard based on two date fields, 'Ordered' and 'Received'. Records are either null or populated with the date ordered or received. I'd like the pie chart to show counts of Ordered and Received. I think I need to use the GroupBy function, but I'm not sure what I'm doing. Thanks. var p = <portal>;
var tracts = FeatureSetByPortalItem(Portal(p),<item>,
<id>,
[
'OBJECTID',
'Name',
‘Ordered',
'Received',
],
false
);
var count = GroupBy(tracts,
[ // fields/expressions to group statistics by
{ name: ‘Ordered', expression: 'Received IS NOT NULL'},
{ name: ‘Received', expression: 'Received IS NULL'}
],
[
{name: 'Ordered', expression: '1', statistic: 'COUNT'}
]);
return(count)
... View more
03-10-2023
12:11 PM
|
0
|
0
|
193
|
POST
|
I have a feature class with multiple overlapping polygon layers (state boundary, county boundaries, legislative boundaries and city boundaries) for use in a dashboard. It's published as a feature service, and saved in a map with the 'merged' layer visible, and a copy of the merged layer set with a filter to isolate each type (state, legislature, county and city) as separate layers - these are turned off in the map. Basically i need a pop up to return everything all the time, but not return an empty value for Municipalities when users don't click on a city. I'm attempting to use Arcade where a user click in the map (on the 'merged' layer) returns a pop up with values from all intersecting, individual type layers at that location. These are returned in a popup where users would toggle using the arrows from one layer to another. I'm stuck using the intersectLayer function within an if/then, or how to accomplish this otherwise...maybe some of this needs to be handled in the pop up HTML. Below is what little I have, and the current results (which are not accurate): Arcade expression: var buff = Buffer($feature, -50, 'feet')
var intersectLayer = Intersects(FeatureSetByName($map,"Counties"), buff)
for (var f in intersectLayer) {return '$' + Text(Round(Number(f.Total_Funds),2),'#,###,###,###.##')} Pop up configure HTML: <div style="text-align: center;"><font color="#c0c0c0" size="4"><b>{expression/expr2}</b></font></div><b><font color="#FFC843">First Tranche Allocation:</font></b> {expression/expr6}<br /> <b><font color="#FFC843">Total Fund Allocation:</font></b> {expression/expr5} We are working in Portal 10.8.1 and we won't be upgrading until 10.9.1, at which point we may utilize some extended Arcade functionality in Dashboards, but this project is moving forward now. Thanks
... View more
09-15-2021
02:03 PM
|
0
|
0
|
401
|
POST
|
I never followed-up with the solution I found using csv and pandas: with open(cama_csv_file, 'r') as f1: with open(cama_csv_file_final, 'w+') as f2: df = pd.read_csv(f1) df.replace(',',' ', regex=True, inplace=True) df.to_csv(f2, index=False, line_terminator='\r') f2.close() f1.close() Creating a new .csv is not an issue, because I delete all of them at the end of the process.
... View more
06-16-2021
01:50 PM
|
1
|
2
|
3259
|
POST
|
Yes, I'm using pandas .read_excel and .to_csv I was out Friday and will come back to this later today, but plan to look further at what Matt Kramer posted above. Thanks
... View more
05-03-2021
08:25 AM
|
0
|
0
|
3400
|
POST
|
I have a .csv that was created using input_xls.to_csv, and everything delimits correctly. However, within some of the string records are commas (e.g. a business name like 'Widgets, Inc.'). The result is incorrect delimiting when importing the .csv into a file geodatabase using arcpy.conversion.TableToTable - values end up shifted over into other columns. I want to replace the commas with a space. I cannot figure out how to use either something like .apply(lambda x: x.replace(',', ' ')) or [val if val else " " for val in row] + ([" "] * (len(first_row) - len(row))) (found here: https://community.esri.com/t5/python-questions/find-and-replace-blanks-in-csv-with-python/m-p/673632) Any help to nudge me in the right direction would be appreciated. Thanks.
... View more
04-29-2021
12:11 PM
|
0
|
8
|
3453
|
POST
|
Thanks Kara. We're actually redesigning this project now. I'm not sure if your suggestion would account for leap year days, etc. Regardless, we're moving on for now but thanks again.
... View more
03-25-2021
01:35 PM
|
0
|
0
|
810
|
POST
|
We are attempting to maintain a dataset to include records only for the past 3 years. New records are appended daily (via other scripted geoprocessing). The table is in Enterprise SQL, and contains both varchar date (dd/mm/yyyy) and datetime (yyyy-mm-dd hh:mm:ss:ms) fields. How do I select records that are 3 years older than yesterday (for deletion)? I thought I was going down the correct path with this in SQL but I'm not getting far: DateTimeField < DATEADD(yy, -3, CONVERT(datetime, CONVERT(varchar, GETDATE(), 101))) I need selections to the day, not the datetime (e.g. On March 11, the new records from March 10 are appended, and anything more than 3 years older than March 10 are deleted. It's to the full date, not the actual time of day when the script is run.) This selection will be used within a scheduled .py daily. Thanks Justin
... View more
03-11-2021
12:33 PM
|
0
|
2
|
914
|
IDEA
|
I work with @Anonymous User and this would be a nice capability when data sources are unstable or incorrect and simply "hiding" a Dashboard element (or group of elements) would be preferable to displaying incorrect or no data at all. (e.g. a nightly SQL stored procedure fails and the resulting data feeding a dashboard element are incorrect). Currently the only way to hide/obscure an element is to delete it entirely, requiring it to be completely recreated and reconfigured later. Using Experience builder, a workaround would be to make a copy of the Dashboard, delete the elements to be hidden, then temporarily place the copy of the Dashboard in Experience builder, but this can quickly become messy. Thanks
... View more
01-06-2021
02:56 PM
|
0
|
0
|
978
|
POST
|
Version: ArcGIS Pro 2.6.3 Data: Enterprise SQL 2016 I have a table of parcel sales data, with ParcelID field (text type) as the parcel identifier and SaleDate (date type). There are multiple rows for the same ParcelID value, each with a different SaleDate value. I want a selectio of the records keeping only the latest date, within model builder (it's part of a larger process). Based on the guidance here: https://support.esri.com/en/technical-article/000008936 I have the following in a Select Layer By Attribute or Table Select tool - both have the same results: SaleDate IN (SELECT MAX(SaleDate) FROM countySL GROUP BY ParcelID) I cannot get this to return the correct values. I run this in SSMS and get exactly what I'd expect: SELECT n.* FROM [dbo].[COUNTYSL] n INNER JOIN ( SELECT ParcelID, MAX(SaleDate) AS SaleDate FROM [dbo].[COUNTYSL] GROUP BY ParcelID ) AS MAX ON MAX.ParcelID = n.ParcelID AND MAX.SaleDate = n.SaleDate ORDER BY ParcelID; GO I had originally built everything around FGDB, but moved to Enterprise SQL to use GROUP BY functionality. Is there something special with the date format? In SSMS, this is what the countySL data looks like: Source countySL table And if I run the query below I get what I need: functional query in SSMS But in ArcGIS Pro model builder, if I use the query below: SQL in Model Builder I get this: Table Select results I've attempted using the Select Layer By Attribute tool as well, and messed with the 'Invert Where Clause' and attempted to switch selection from the source table, but it doesn't work either. What am I missing? Thanks
... View more
12-09-2020
12:51 PM
|
2
|
1
|
1895
|
POST
|
I know this post is old, but I'm struggling to do what is simply the GROUP BY function in SQL. I have a table (in a file geodatabase) of land parcels with sale dates - multiple rows in the table have the same parcel number but different sale dates - I need a query for records with the latest/most recent sale date). For various reasons I need to use File Geodatabase. Can Model Builder in Pro 2.6.3 handle this without the need for additional tables, etc.? Thanks
... View more
12-07-2020
12:18 PM
|
0
|
0
|
2292
|
Title | Kudos | Posted |
---|---|---|
1 | 06-16-2021 01:50 PM | |
2 | 12-09-2020 12:51 PM | |
1 | 12-04-2018 01:23 PM | |
1 | 03-16-2016 02:52 PM | |
1 | 05-10-2019 10:54 AM |
Online Status |
Offline
|
Date Last Visited |
10-27-2023
12:38 PM
|