|
POST
|
Congrats Joe! Appreciate all the feedback you have given on the address data management solution, it has definitely helped to improved the overall solution.
... View more
12-17-2021
02:05 PM
|
0
|
0
|
3308
|
|
POST
|
Hi @SuzanneWhitcomb, my recommendation would be to grab the latest release of the Address Data Management solution. There have been several significant improvements, but we also moved away from the Road Name Index because there were a few issues with it. We still use the Master Street Name table, just use the values in it in a different way.
... View more
12-14-2021
10:08 AM
|
1
|
1
|
885
|
|
POST
|
@JoshSaad1 In versions 2.0 of the Address Data Management solution you can now define the same road name in multiple municipalities, in fact this is recommended. In addition, if a road has a different municipality on the left and right side of the road it should be defined uniquely for each municipality in the Master Road Names table. https://doc.arcgis.com/en/arcgis-solutions/latest/reference/introduction-to-address-data-management.htm
... View more
11-22-2021
06:55 AM
|
0
|
3
|
3513
|
|
POST
|
@JoshSaad1, We just released version 2.0 of the Address Data Management solution which includes several new features. We also addressed this issue by moving from a domain to a constraint rule on the roads and site addresses. As a result, updating the Master Road Names table no longer requires a schema change to update the domain. The constraint rule configured on the roads and addresses enforces that a road name entered must be defined in the Master Road Names table. https://doc.arcgis.com/en/arcgis-solutions/latest/reference/introduction-to-address-data-management.htm
... View more
11-22-2021
06:52 AM
|
2
|
1
|
2830
|
|
IDEA
|
We implemented in version 2.0 of the Address Data Management solution: https://doc.arcgis.com/en/arcgis-solutions/latest/reference/introduction-to-address-data-management.htm The Pro Project now includes a task and a construction tool that you can use to split one or more roads by sketching along a boundary. When split the address ranges on the roads will be update just as they are when a new road is constructed.
... View more
11-22-2021
06:49 AM
|
0
|
0
|
2852
|
|
POST
|
Hi @JackiePhipps, unfortunately there is no way to do this in Citizen Problem Reporter. Your use case is very interesting and I can certainly see how this would be a valuable enhancement. We are working on an update of the Citizen Problem Reporter solution and we will definitely consider this enhancement in the update.
... View more
08-10-2021
02:02 PM
|
1
|
0
|
1144
|
|
IDEA
|
Hi @Joshua-Young, I am working on this for the next update of the Address Data Management solution tentatively scheduled for later this year.
... View more
08-03-2021
12:18 PM
|
0
|
0
|
3172
|
|
POST
|
Hi Greg, Last week we released an update to the ArcGIS Solutions app in ArcGIS Online that should resolve this issue. Please try deploying Citizen Problem Reporter to your organization again and let us know if you are still encountering failures. -Chris
... View more
07-06-2021
06:14 AM
|
0
|
0
|
1448
|
|
POST
|
Hi Kyle, That makes a lot of sense, that updated expression should do it for them then. I also wanted to connect @AndyShoemaker with you. He is on my team and is working on an update to the My Trash Services solution. We were also considering adding a Hub site with the solution and potentially workflows around Bulk Trash Pickup. It would be great if he could pick your brain on some of the requirements you have learned from your customers for this solution to see how that aligns with the requirements we have been hearing. Thanks, -Chris
... View more
06-25-2021
05:46 AM
|
1
|
0
|
4882
|
|
POST
|
Hi Kyle, Give the update expression below a shot. In this I updated the holidays variable to be a dictionary, where the key is the what should be down for the holiday and the value is the list of holidays that apply to that option. So you can see, in the code below for the holidays you specified the next pickup will either be the next Thursday, or occur at the Next Schedule Pickup. The only thing this script doesn't account for now is Christmas and New Years are 1 week apart. What is the expectation for these holidays when the pickup date falls on Christmas the Next Scheduled Pickup would be New Years Day. Would you want the next pickup to be a week after New Years then? /*If pickup occurs weekly, specify 1.
If every other week specify 2, etc.*/
var pickupWeekInterval = 1;
/*Specify a date in the past in which pickup occurred.
This is used in the case where pickup doesn't occur every week
to determine the weeks where pickup is occurring.*/
var firstPickupWeek = Date('2017-01-01');
/*If the pickup service isn't available year-round
specify the first and last day of the season that pickup will occur, [[Start Month, Start Day], [[End Month, End Day]]*/
var openSeason = [[1,1],[12,31]]
/*Specify if the next scheduled pickup day falls on a holiday, when will the next actual pickup be.
"Next Weekday" - The pickup will occur on the next weekday after the holiday
"Next Day" - The pickup will occur on the next day after the holiday
"Next Day of Week - 4" - The pickup will occur on the next day of the week (Sunday = 0, Saturday = 6)
"Next Scheduled Pickup" - The pickup will occur on the next scheduled day after the holiday*/
/*Specify any holidays where pickup will not occur, [Month, Day]
Specify any variable holidays where pickup will not occur, [Occurrence, Month, Day of the Week (Sunday = 0, Saturday = 6)]
These are holidays that don't fall on the same date every year, i.e. Memorial Day, Labor Day, Thanksgiving
[-1,5,1] corresponds to Memorial Day -> Last occurrence in May of a Monday
[1,9,1] corresponds to Labor Day -> 1st occurrence in September of a Monday
[4,11,4] corresponds to Thanksgiving -> 4th occurrence in November of a Thursday*/
var holidays = {
"Next Weekday": [],
"Next Day": [],
"Next Day of Week - 4": [[-1,5,1],[7,4],[1,9,1]],
"Next Scheduled Pickup": [[1,1],[4,11,4],[12,25]]
}
var pickupDays = [];
var pickupDaysFields = [$feature.SUNDAY, $feature.MONDAY, $feature.TUESDAY,
$feature.WEDNESDAY, $feature.THURSDAY,
$feature.FRIDAY, $feature.SATURDAY]
for (var k in pickupDaysFields) {
if (pickupDaysFields[k] == 'Yes') {
pickupDays[Count(pickupDays)] = k;
}
}
if (Count(pickupDays) == 0)
return;
function calcRelativeHoliday(week, month, day, year) {
var holiday;
if (week < 0){
var lastDay = DateAdd(Date(year, month + 1, 1), -1, 'days');
var dayOfWeek = Weekday(lastDay);
var dayDiff = day - dayOfWeek;
if (dayDiff > 0)
dayDiff -= 7;
holiday = DateAdd(lastDay, dayDiff + ((week + 1) * 7), 'days');
}
else{
var firstDay = Date(year, month, 1);
var dayOfWeek = Weekday(firstDay);
var dayDiff = day - dayOfWeek;
if (dayDiff < 0)
dayDiff += 7;
holiday = DateAdd(firstDay, dayDiff + ((week - 1) * 7), 'days');
}
return holiday;
}
function getNextPickupDay(fromDate) {
var currentDay = Weekday(fromDate);
var pickupOffset = 0;
if (pickupWeekInterval > 1){
var weekDif = DateDiff(DateAdd(fromDate, 0 - currentDay, 'days'),
DateAdd(firstPickupWeek, 0 - Weekday(firstPickupWeek), 'days'),
'days') / 7;
weekDif = weekDif % pickupWeekInterval;
if (weekDif > 0)
pickupOffset = pickupWeekInterval - weekDif;
}
var difDays;
var nextPickupDay;
if (pickupOffset > 0) {
nextPickupDay = pickupDays[0];
difDays = nextPickupDay - currentDay;
difDays += (7 * pickupOffset);
}
else {
for(var k in pickupDays) {
if (pickupDays[k] >= currentDay) {
nextPickupDay = pickupDays[k];
break;
}
}
if (IsEmpty(nextPickupDay))
nextPickupDay = pickupDays[0];
difDays = nextPickupDay - currentDay;
if (nextPickupDay < currentDay)
difDays += (7 * pickupWeekInterval);
}
return DateAdd(fromDate, difDays, 'days');
}
function getHolidays(fromDate) {
var holidayDates = {};
for (var k in holidays) {
var dates = [];
for (var d in holidays[k]) {
if (Count(holidays[k][d]) == 2) {
var holiday = Date(Year(fromDate), holidays[k][d][0] -1, holidays[k][d][1]);
if (holiday < fromDate) {
holiday = Date(Year(fromDate) + 1, holidays[k][d][0] -1, holidays[k][d][1]);
}
dates[d] = holiday;
}
else {
var x = holidays[k][d];
var holiday = calcRelativeHoliday(x[0], x[1]-1, x[2], Year(fromDate));
if (holiday < fromDate) {
holiday = calcRelativeHoliday(x[0], x[1]-1, x[2], Year(fromDate) + 1);
}
dates[d] = holiday;
}
}
holidayDates[k] = dates;
}
return holidayDates;
}
function validateSeasonPickup(pickupDate) {
var startSeasonMonth = openSeason[0][0]-1;
var startSeasonDay = openSeason[0][1];
var endSeasonMonth = openSeason[1][0]-1;
var endSeasonDay = openSeason[1][1];
if (Date(Year(pickupDate), startSeasonMonth, startSeasonDay) > Date(Year(pickupDate), endSeasonMonth, endSeasonDay)) {
if (pickupDate < Date(Year(pickupDate), startSeasonMonth, startSeasonDay) && pickupDate > Date(Year(pickupDate) - 1, endSeasonMonth, endSeasonDay))
pickupDate = getNextPickupDay(Date(Year(pickupDate), startSeasonMonth, startSeasonDay))
}
else {
if (pickupDate < Date(Year(pickupDate), startSeasonMonth, startSeasonDay))
pickupDate = getNextPickupDay(Date(Year(pickupDate), startSeasonMonth, startSeasonDay));
else if (pickupDate > Date(Year(pickupDate), endSeasonMonth, endSeasonDay))
pickupDate = getNextPickupDay(Date(Year(pickupDate) + 1, startSeasonMonth, startSeasonDay));
}
return pickupDate;
}
function validateHolidayPickup(pickupDate, holidayDates) {
for(var k in holidayDates) {
for (var d in holidayDates[k]) {
if (pickupDate == holidayDates[k][d]) {
if (k == "Next Scheduled Pickup") {
pickupDate = getNextPickupDay(DateAdd(pickupDate, 1, 'days'));
}
else if (k == "Next Day") {
pickupDate = DateAdd(pickupDate, 1, 'days');
}
else if (k == "Next Weekday") {
var currentDay = Weekday(pickupDate);
if (currentDay > 4) {
pickupDate = DateAdd(pickupDate, 8 - currentDay, 'days');
}
else {
pickupDate = DateAdd(pickupDate, 1, 'days');
}
}
else if (Find('Next Day of Week', k) > -1) {
var dayOfWeek = Number(Right(k, 1));
var currentDay = Weekday(pickupDate);
if (currentDay > dayOfWeek) {
pickupDate = DateAdd(pickupDate, (dayOfWeek + 7) - currentDay, 'days');
}
else {
pickupDate = DateAdd(pickupDate, dayOfWeek-currentDay, 'days');
}
}
break;
}
}
}
return pickupDate
}
var nextPickup = getNextPickupDay(Today());
nextPickup = validateSeasonPickup(nextPickup);
nextPickup = validateHolidayPickup(nextPickup, getHolidays(nextPickup));
return Text(nextPickup, 'dddd, MMMM D');
... View more
06-22-2021
12:12 PM
|
0
|
4
|
4896
|
|
POST
|
Hi Kyle, So If I read correctly you are saying if the pickup day falls on Memorial Day, Independence Day or Labor Day they won't pickup on the holiday, instead the next pickup will be the following Thursday? So this year Labor Day is on a Wednesday, would the next pickup be Thursday the 2nd or Thursday the 9th? For Thanksgiving, Christmas, and New Years, you want it to behave just like the next scheduled pickup day, i.e, don't pickup this week, resume normal schedule the following week?
... View more
06-18-2021
06:38 AM
|
0
|
6
|
4946
|
|
POST
|
Thank you @Joshua-Young for finding that. I hadn't realized this changed and also appears to not be an issue with FGDB. I have logged a bug in our system and we will update in the next version of the solution.
... View more
01-27-2021
08:18 AM
|
0
|
0
|
6974
|
|
POST
|
Hi @Joshua-Young, I am not aware of a limitation. I am not seeing it with 2.7 and a file geodatabase. Could you send a screenshot of the error message you see in the Create Features pane?
... View more
01-26-2021
08:20 AM
|
0
|
0
|
6999
|
|
POST
|
Hi @S6 , I am working with 2.7 and was able to access the Update Domain Tool. I am curious if you cloned your python environment. I have experienced problems in the past with upgrading Pro and a cloned python environment breaking after the upgrade. When I delete the cloned environments it typically fixes this issue.
... View more
12-18-2020
12:47 PM
|
1
|
2
|
4119
|
|
POST
|
@JoeBorgione, Address Data Management is certified for Pro 2.7. If you see our current documentation we list it as supported in versions 2.5 or later. We certify with every new release of Pro and only release an update if something is not longer compatible. @Anonymous User this is true for the Solution Deployment Tool. The current version of the add-in will work in 2.7.
... View more
12-17-2020
10:01 AM
|
2
|
5
|
4142
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 03-05-2026 06:12 AM | |
| 1 | 02-06-2026 09:24 AM | |
| 1 | 11-07-2025 07:59 AM | |
| 1 | 11-06-2025 07:04 AM | |
| 1 | 08-28-2025 08:25 AM |
| Online Status |
Offline
|
| Date Last Visited |
03-17-2026
01:31 PM
|