IDEA
|
I use the dynamic text "contactname" for our custom print service, but it is not a perfect solution. If you print from a web map it shows the name of the currently logged in user. However, the WebApp Builder print widget overwrites the contactname with whatever value is in the author field. So if you leave the author field blank the contactname is blank. I agree that there should be a dynamic text value that provides the name of the currently logged in user no matter how the print service is being consumed and cannot be overwritten by widgets. Here is the current dynamic text that I use: <dyn type="layout" property="metadata" attribute="contactname" emptyStr=""/>
... View more
03-19-2021
10:23 AM
|
0
|
0
|
1172
|
IDEA
|
Provide a way for users to set a default pane layout that is used for all new projects. Currently ArcGIS Pro opens up all the panes that were opened in the last project that was being used. This is cumbersome because many of my projects do not need the same panes open. So I am constantly having to close panes when starting new projects to clean up the interface. I think this idea could be combined with idea Save Pane Layout to provide users a way to define and apply their default pane layout. Then idea Save open panes in ArcGIS Pro at the project level, not the user could be used to open/close the correct panes when using an existing project. With these three ideas combined, a user has a way to define and save a default pane layout for new projects, and existing projects open with the correct pane layout because it is saved in the project file and ignores the default pane layout. There could even be a checkbox in ArcGIS Pro settings at the project settings level that is unchecked by default that asks the user if they want to save the pane layout to the project file. That way the default pane layout is always used unless the user explicitly saves a pane layout to the project file, so if the default layout changes all projects with this setting unchecked see the new default pane layout.
... View more
03-19-2021
09:15 AM
|
14
|
0
|
1203
|
IDEA
|
This would make getting a new project up and running faster if you already have a pane layout for the workflow involved already made. For anyone that likes this idea, I would recommend checking out an idea to save pane layouts to the project file: Save open panes in ArcGIS Pro at the project level, not the user
... View more
03-19-2021
08:52 AM
|
0
|
0
|
4927
|
IDEA
|
This idea makes so much sense to me. Typically my different ArcGIS Pro projects have different workflows and thus require different panes to be open to complete those workflows. To this day I am constantly having to open or close panes when switching projects. This would also help with sharing projects because when other users open my project on a different device they would see the project pane layout the way I intended it to look. So please at least add the option to save the pane layout to a project file.
... View more
03-19-2021
08:47 AM
|
0
|
0
|
1992
|
IDEA
|
Currently you can share a Survey123 survey or a feature layer view in a web map to let anyone (public) submit new records to those items. I would like to see something similar at the organization level where surveys or web maps can be shared with the Organization and any member of the organization can submit a new record even if their User Type is Viewer. This way organizations have a secure way to get feedback from their entire organization.
... View more
03-17-2021
03:06 PM
|
2
|
0
|
408
|
IDEA
|
Currently you can share a Survey123 survey or a feature layer view in a web map to let anyone submit new records to those items. I would like to see something similar at the organization level where surveys or web maps can be shared with the Organization and any member of the organization can submit a new record even if their User Type is Viewer. This way organizations have a secure way to get feedback from their entire organization.
... View more
03-17-2021
03:05 PM
|
14
|
0
|
586
|
IDEA
|
I think ArcGIS Online/Enterprise items should have two updated dates on the item description page; one for the item description/metadata revision date and another date for the content revision date. Even better would be a third date on the Item Description page for the created/published date. It would be nice to see at a glance when something was first published, when the content was last updated, and when the item description was last updated. I agree with @Anonymous User that it would be helpful for these dates to be pulled from the metadata if available, otherwise let the item owner edit the dates manually.
... View more
02-08-2021
10:26 AM
|
0
|
0
|
631
|
IDEA
|
I think the Layer name should not be a hyperlink and the View text/link be removed when the ArcGIS Services Directory is disabled. Maybe it could be a Setting in ArcGIS Portal to toggle on/off. Another option could be the ability to make a list of ArcGIS Servers to not provide Service Directory links for. That way if you utilize different ArcGIS Servers in ArcGIS Portal, the ArcGIS Servers that have Service Directories can have their links and the ArcGIS Servers on the exclude list do not have links.
... View more
02-08-2021
09:26 AM
|
0
|
0
|
1098
|
IDEA
|
Hello @KoryKramer Thank you for following up on this. At the time that I posted this idea the default behavior of ArcGIS Pro for the Export tool was to open the File Dialog box in the last folder used by the Export tool by any ArcGIS Pro project. There was no Project quick access to select in the navigation pane on the left of the dialog. The PNG I attached was a mockup of what I was looking for. The blue selection around Project going under the scrollbar without a horizontal scrollbar at the bottom and the white pixels bleeding over the scroll bar near "Computer" gives it away. I guess it would have been more helpful to have included a screenshot of the default File Dialog box to compare with. Sorry about that. You are correct that in ArcGIS Pro 2.7 the Export tool now has the Project quick access above the Computer section on the navigation pane. That is exactly what I was asking for when I posted this idea. Feel free to mark this idea as closed or implemented.
... View more
02-02-2021
12:25 PM
|
0
|
0
|
935
|
POST
|
I just wanted to share with the community if you are using the ArcGIS Pro based Address Data Management Solution there is a way to add new Address Points without creating new Site Address Points and limit which road types Address Points can be added to. This is a small modification to the attribute rule that Esri provided. I left the task to add a new address point to still default to one site address point, but now if I change "# of Site Addresses" to zero I can add just an address point to the map and manually assign it to an existing site address point. Many of our site address points were created before we started using the Esri solution so most of our existing site address points do not have an address point associated with them. This change to the attribute rule expression allows us to create address points for existing site address points. "Create Site Address Point" is the name of the attribute rule that I modified and is stored in the Address Point feature class. Change the default number of site address points to zero 96: var numpoints = 0; Add filters to the find intersecting roads process (see lines 107, 108, 111, 112) 105: var intersectGeometry = geom;
106: var intersectingRoads = Intersects(FeatureSetByName($datastore, "RoadCenterline"), intersectGeometry);
107: var intersectingRoadsFilter = Filter(intersectingRoads, "roadclass IN ('Freeway','Highway','Major Arterial','Minor Arterial','Collector','Local')");
108: if (Count(intersectingRoadsFilter) == 0) {
109: intersectGeometry = Buffer(geom, 5, 'feet');
110: intersectingRoads = Intersects(FeatureSetByName($datastore, "RoadCenterline"), intersectGeometry);
111: intersectingRoadsFilter = Filter(intersectingRoads, "roadclass IN ('Freeway','Highway','Major Arterial','Minor Arterial','Collector','Local')");
112: if (Count(intersectingRoadsFilter) == 0) return {
113: "errorMessage": "Address Point must intersect at least one Road Centerline"
114: };
115:} Wrap the original code that creates the site address points in an If-Then statement to run only if numpoints is greater than zero 117: if (numpoints > 0){
......
160:} Finally add an Else statement at the end of the If-Then to return only the addresspointid if zero site address points are requested 160:} else {
161: return $feature.addressptid
162:} Here is the complete expression // This rule will create a new site address point when an address point is created along a road
// The site address point will be offset from the road by the distance and direction defined in the address point feature template
// This function will return the new point offset perpendicularly from a 2-point line segment at a specified distance
// Positive distance is to the left of the line. Negative distance is to the right of the line
function offsetPoint(firstPoint, secondPoint, fromPoint, dist) {
var x1 = firstPoint.x;
var y1 = firstPoint.y;
var x2 = secondPoint.x;
var y2 = secondPoint.y;
var x3 = fromPoint.x;
var y3 = fromPoint.y;
var a = y1 - y2;
var b = x2 - x1;
var norm = Sqrt(a*a + b*b);
a = a / norm;
b = b / norm;
return [x3 + a * dist, y3 + b * dist]
}
// This function will return the address number of the new site address point
// It determines this based on the from and to address range on the intersecting road and the direction of the offset
function getAddrNum(road, percentAlong, dir) {
var addrNum = null;
var from = road.fromLeft;
var to = road.toLeft;
if (Lower(dir) == 'right') {
var from = road.fromRight;
var to = road.toRight;
}
if (from == null || to == null) return null;
var val = percentAlong * (to - from);
var addrNum = 0;
if ((Floor(val) % 2) == 0) addrNum = Floor(val);
else if ((Ceil(val) % 2) == 0) addrNum = Ceil(val);
else addrNum = Floor(val) - 1;
return from + addrNum;
}
// This function will return the intersected features geometry, the segment intersected and the distance along the line
function IntersectingLineSegmentDistance(sourceGeometry, intersectGeometry, interestedLines){
// Loop through the intersecting lines and find the segment of the line
for (var line in interestedLines) {
var distanceAlongLine = 0;
// Loop through the segments of the line. Handle multipart geometries
for (var part in Geometry(line).paths) {
var segment = Geometry(line).paths[part];
// Loop through the points in the segment
for (var i in segment) {
if (i == 0) continue;
// Construct a 2-point line segment from the current and previous point
var firstPoint = segment[i-1];
var secondPoint = segment[i]
var twoPointLine = Polyline({ 'paths' : [[[firstPoint.x, firstPoint.y], [secondPoint.x, secondPoint.y]]], 'spatialReference' : firstPoint.spatialReference});
// Test if the point intersects the 2-point line segment
if (Intersects(intersectGeometry, twoPointLine)) {
// Construct a 2-point line segment using the previous point and the address point
var lastSegment = Polyline({ 'paths' : [[[firstPoint.x, firstPoint.y], [sourceGeometry.x, sourceGeometry.y]]], 'spatialReference' : firstPoint.spatialReference});
// Add to the total distance along the line and break the loop
distanceAlongLine += Length(lastSegment);
return [line, twoPointLine, distanceAlongLine]
}
// Add to the toal distance along the line
distanceAlongLine += Length(twoPointLine);
}
}
}
return null;
}
// Get the object id and geometry of the feature
var oid = $feature.OBJECTID;
var id = $feature.addressptid
var geom = Geometry($feature);
// Get the distance and direction defined in the address point feature template/
// If none specified defaults to 0 and Left
var dist = 0;
if ($feature.offdist != null) dist = $feature.offdist;
var dir = 'Left';
if ($feature.offdir != null) dir = $feature.offdir;
if (Lower(dir) == 'right') dist *= -1
// Get the number of site address points and increment value from the address point feature template
// Defaults to 0 and 0 respectively
// If zero site address points are asked for then do not add any site address points
var numpoints = 0;
if ($feature.numpoints != null) numpoints = $feature.numpoints;
var increment = 0;
if ($feature.incrementval != null) increment = $feature.incrementval;
var captureMethod = $feature.capturemeth;
// Find any intersecting roads with the address point
// If no roads intersect buffer the source point to handle cases where road isn't exactly snapped to line and try again
// If no roads intersect the the buffer return an error message and prevent the address point from being created
var intersectGeometry = geom;
var intersectingRoads = Intersects(FeatureSetByName($datastore, "RoadCenterline"), intersectGeometry);
var intersectingRoadsFilter = Filter(intersectingRoads, "roadclass IN ('Freeway','Highway','Major Arterial','Minor Arterial','Collector','Local')");
if (Count(intersectingRoadsFilter) == 0) {
intersectGeometry = Buffer(geom, 5, 'feet');
intersectingRoads = Intersects(FeatureSetByName($datastore, "RoadCenterline"), intersectGeometry);
intersectingRoadsFilter = Filter(intersectingRoads, "roadclass IN ('Freeway','Highway','Major Arterial','Minor Arterial','Collector','Local')");
if (Count(intersectingRoadsFilter) == 0) return {
"errorMessage": "Address Point must intersect at least one Road Centerline"
};
}
if (numpoints > 0){
// If the results are empty return an error message. This will occur if a point is created along a true curve.
// Prevent the address point from being created.
var results = IntersectingLineSegmentDistance(geom, intersectGeometry, intersectingRoads)
if (IsEmpty(results)) return {
"errorMessage": "Failed to create the Address Point. This can occur when attempting to create an Address Point along a true curve segment. The Densify or Generalize tools can be used to convert the curve segment to a straight line segment."
}
var intersectingRoad = results[0];
var twoPtSegment = results[1];
var distanceAlongLine = results[2];
// Construct a new point geometry offset perpendicularly from the road
var xy = offsetPoint(twoPtSegment.paths[0][0], twoPtSegment.paths[0][1], geom, dist)
var newPoint = Point({ 'x' : xy[0], 'y' : xy[1], 'z' : 0, 'spatialReference' : geom.spatialReference });
// Get the new address number of the site address point based on the distance along the road and direction of the offset
var percentAlong = distanceAlongLine / Length(intersectingRoad);
var addrnum = getAddrNum(intersectingRoad, percentAlong, dir)
// Create an array of 1 or more new site address point as specified
// Store the related address point id, the calculated address number, the intersecting road name and set the status to Pending
var adds = []
for(var i=0; i<numpoints; i++) {
adds[Count(adds)] = {
'attributes': {
'addressptid' : id, 'status': 'Pending', addrnum : addrnum, fullname : intersectingRoad.fullname, capturemeth : captureMethod
},
'geometry': newPoint
}
addrNum += increment;
}
// Return the original address point id
// Using the edit parameter create 1 or more new site address points
return {
'result' : id,
'edit': [{
'className': 'SiteAddressPoint',
'adds': adds
}]
}
} else {
return $feature.addressptid
}
... View more
01-28-2021
07:31 AM
|
1
|
2
|
761
|
POST
|
We have been running ArcGIS Enterprise 10.8.1 on Windows 2019 since August and I have installed all the patches relative to the products we are actually using including the two mentioned above. I have not had either one of those patch installers freeze up. The thing I have to watch out for is the patch installer will start to run and nothing will appear to happen for 10 to 20 minutes, then I will get a Windows UAC prompt that I have to approve. Then the patch installer will sit there appearing to not do anything for another 10 to 20 minutes and then finally it will install the patch. Every single ArcGIS Portal patch that I have ever installed has taken at least 40 minutes to install. Also, I try not to touch the patch installer window after it starts because I am afraid it will lock up the installer.
... View more
01-27-2021
08:17 AM
|
0
|
1
|
2092
|
POST
|
Thank you both for your responses and help. I figured out what is wrong with my setup this morning. The issue was the "Exclude from application evaluation" option was not checked for the point generate ID attribute rules. I tried using just the sequence name in the NextSequenceValue, but that still generated the same error message. While looking through the help documentation I found a note about the "Exclude from application evaluation" setting must be checked when working with sequences. https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/evaluate-attribute-rules.htm So I checked that setting and I could add new addresses again. The odd thing is I looked at the 2.6 version of the help documentation and it has a similar note. That is odd to me because I have been using this solution since July with that setting unchecked and it has been working just fine. I guess that was a bug in 2.6 that allowed those rules to execute. @ChrisFox I just want to let you know that I unzipped the Address Management Solution that I downloaded back in July and the default generate ID attribute rules for all the point layers have the "Exclude from application evaluation" unchecked. The road generate ID attribute rule does have the setting checked. @JoeBorgione I found out that 2.7 does not care if the name is "AddressPointID" or "db.name.AddressPointID". Either format will work. I was sure I had to use "db.name.AddressPointID" in 2.6 to get the rule to work but I may be misremembering.
... View more
01-27-2021
07:35 AM
|
1
|
1
|
4096
|
POST
|
I upgraded to 2.7 again and I am still getting the error message when trying to create an Address Point, Site Address Point, or Entrance Point. They are basically all the same error message and I have attached screenshots of two of the errors. The issue seems to be with calling Concatenate([prefix, NextSequenceValue("databasename.username.AddressPointID")], join_char) Last time as soon as I got back to ArcGIS Pro 2.6.3 the attribute rule was executing just fine without having to change anything. The only thing I can think of is 2.7 is calling the attribute rule in a way that my current enterprise geodatabase at version 10.8.1 does not understand.
... View more
01-26-2021
02:48 PM
|
0
|
0
|
4106
|
POST
|
I am using Esri's Address Data Management solution with our data stored in an enterprise geodatabase. The layers are accessed through feature services with branch editing enabled and running in ArcGIS Enterprise 10.8.1. The solution has been working fine since this summer. However, when I upgraded from ArcGIS Pro 2.6.3 to ArcGIS Pro 2.7, I started getting an attribute rule error when trying to add new site address points. The error message did not say why it failed other than it did not like the attribute rule that executes when a new site address point is added. I uninstalled 2.7 and reinstalled 2.6.3, and no more errors when adding site address points. I understand that ArcGIS Pro 2.7 is meant to be run with ArcGIS Enterprise 10.9. However, I had hoped there would be backwards compatibility with at least 10.8.1 especially since 10.9 isn't out yet. Is this expected behavior from ArcGIS Pro 2.7 to not recongize attribute rules that were created with older geodatabase versions?
... View more
01-25-2021
12:48 PM
|
0
|
7
|
4147
|
IDEA
|
I know years ago I brought up both creating print layouts that do not need a custom print service and the need for a print preview out of the box. https://community.esri.com/t5/arcgis-online-ideas/portal-online-print-define-extent/idi-p/943625#M3386 https://community.esri.com/t5/arcgis-web-appbuilder-ideas/print-widget-web-app-builder-show-preview-of-print-area/idc-p/932277#M581 https://community.esri.com/t5/arcgis-online-ideas/arcgis-online-print-templates/idi-p/933816 None of those ideas ever gained any traction. Larry Stout had a great custom widget for WAB years ago, but I think it was last updated in 2015. The last time I tried to use his widget it did not work properly with the newer version of WAB I was running. There are other examples of folks creating there own print preview enhancements. https://community.esri.com/t5/arcgis-api-for-javascript/adding-a-print-extent-indicator-to-javascript-print-dijit/m-p/657615#M61352 I think it would be very helpful if Esri would build print previews into the default print widgets.
... View more
01-22-2021
08:51 AM
|
0
|
0
|
2032
|
Title | Kudos | Posted |
---|---|---|
1 | 07-03-2024 12:12 PM | |
1 | 09-10-2024 03:20 PM | |
5 | 09-05-2024 03:18 PM | |
1 | 08-02-2024 03:08 PM | |
2 | 07-26-2024 10:11 AM |
Online Status |
Offline
|
Date Last Visited |
09-20-2024
02:30 PM
|