POST
|
Thanks Joshua Sharp-Heward. That worked. I thought the Multiple Values option was referring to the feature class, not the metadata elements within the feature class. Since I'm only testing with one feature class, I didn't check it.
... View more
07-24-2020
08:01 AM
|
1
|
0
|
892
|
POST
|
Trying to impute many metadata elements into an XML using the Esri script supplied here: Migrating metadata scripts from ArcMap to ArcGIS Pro—Metadata module | Documentation I tried copying and pasting into a python script and running that, but though it runs, it doesn't do anything nor produce any errors. Per the documentation, it says "This script is designed to be run as a script tool." So, I then imported this in it's documented state as a script tool in ArcGIS Pro. The only parameter listed in the code is the 'Source_Metadata' argument, so I added just this one parameter to the tool. I tried multiple data types that would prompt me to direct the tool to a XML, or a shapefile, or to a feature class. All failed as soon as I tried running the script tool. Error: "TypeError: 'geoprocessing value object' object is not iterable" What do I need to do to take the code listed on this documentation page and get it to run?
... View more
07-24-2020
07:18 AM
|
0
|
2
|
930
|
POST
|
import arcpy
import os
wrkspc = 'C:/Project/BULK/'
#mxd = arcpy.mapping.MapDocument('BULK_Test.mxd')
con = 'AGSconnectionfile.ags'
for (wrkspc, dirs, files) in os.walk(wrkspc):
for fl in files:
if fl.lower().endswith(".mxd"):
mxd = arcpy.mapping.MapDocument(os.path.join(wrkspc, fl))
# Provide other service details
service = mxd
sddraft = 'C:/Project/BULK/' + str(mxd) + '.sddraft'
sd = 'C:/Project/BULK/' + str(mxd) + '.sd'
summary = 'BULK_Test'
tags = 'BULK_Test'
# Create service definition draft
arcpy.mapping.CreateMapSDDraft(mxd, sddraft, mxd, 'ARCGIS_SERVER', con, True, "Project", summary, tags)
# Analyze the service definition draft
analysis = arcpy.mapping.AnalyzeForSD(sddraft)
# Print errors, warnings, and messages returned from the analysis
print "The following information was returned during analysis of the MXD:"
for key in ('messages', 'warnings', 'errors'):
print '----' + key.upper() + '---'
vars = analysis[key]
for ((message, code), layerlist) in vars.iteritems():
print ' ', message, ' (CODE %i)' % code
print ' applies to:',
for layer in layerlist:
print layer.name,
print
# Stage and upload the service if the sddraft analysis did not contain errors
if analysis['errors'] == {}:
# Execute StageService. This creates the service definition.
arcpy.StageService_server(sddraft, sd)
# Execute UploadServiceDefinition. This uploads the service definition and publishes the service.
arcpy.UploadServiceDefinition_server(sd, con)
print "Service successfully published"
else:
print "Service could not be published because errors were found during analysis."
print arcpy.GetMessages() I have a folder of MXDs and I want to publish all of them in batch to a single ArcGIS Server. I've had success using Python on a single MXD, but when I add a loop into the code so that I can do multiple services at once, I run into errors that I'm unable to troubleshoot. I found the code below on ArcGIS Enterprise site and tried to modify it for batch processing. I've tried as a standalone script and from within ArcMap 10.7.1. The error: File "C:\Project\BULK\PublishAGSBulk.py", line 29, in <module>IOError: Operation on file C:\Users\...\Temp\{67337BAB-1DDF-4A39-9FB4-B7C8EF8597B0}\<geoprocessing Map object object at 0x036534A0>.sddraft failed. Unknown error.
I am doing this with an active connection to the ArcGIS Server (10.8) in ArcCatalog.
... View more
07-14-2020
08:54 AM
|
0
|
1
|
635
|
POST
|
In reference to the newly released ArcGIS Pro 2.5 and the release notes here: What's new in ArcGIS Pro 2.5—ArcGIS Pro | Documentation The Arcpy.metadata documentation page lists some helper code for creating metadata objects and defining content for those objects. From the syntax on the documentation page, it appears that it's from loading metadata into a SHP or FC using a item description metadata style. I was wondering how to do this with arcpy.metadata, but for a different metadata standard like FGDC? Either it's not built into arcpy.metadata, or I'm missing where the documentation. Helper code: Metadata—Metadata module | Documentation
... View more
02-20-2020
12:05 PM
|
0
|
0
|
367
|
POST
|
Routing_ND = GCS_WGS_1984 Origins (NA layer) = GCS_WGS_1984 Raw points used for Origins = GCS_WGS_1984 / PCS WGS_1984_WM Aux EDIT: I did a test after projecting my raw points so that it only had a GCS of WGS1984. The points are still classified as unlocated.
... View more
02-04-2020
09:36 AM
|
0
|
0
|
791
|
POST
|
Using ArcMap 10.7.1 and the Network Analyst extension to run the Generate Origin-Destination Cost Matrix tool on a sample of 1,000 origins and 1,000 destinations. For the Network Dataset, I'm pulling in the StreetMap Premium 2019 R4 Routing feature dataset that includes the "Routing_ND" feature class. I added the ND to my TOC along with my origins and destinations, then opened the NA tool window to load locations. Once it finishes loading them into the Origins layer, all points are classed as 'Unlocated'. I've seen several posts out there with the same issue, with the resolution being attributed to increasing the search tolerance of points away from the ND. I tried it at the default 5,000 meters then stepped it up to 20,000 meters. Same results -- all points are unlocated. On a side note - these points are less than 1 meter from the ND lines, so it should be picking them up. What am I missing here? I didn't see anything in an online tutorial that is different from what I'm trying. It seems I must be missing something obvious.
... View more
02-04-2020
09:23 AM
|
0
|
3
|
879
|
POST
|
I have two layers - an Origins layer and a Destination layer. Both have the same number of features and fields. I've added a field to each called "Unique_HLID" that has unique values calculated for each of the two layers. I can confirm that no single value from one layer in this field exists in the other. The parameters I'm setting for the tool are: Measure: Driving Distance Route Shape: Follow Streets When I run the tool, I get this error: "The values in HL_UNIQUE_IID in Origin do not have a one-to-one match with the values in HL_UNIQUE_IID in Destination. Connect Origins To Destinations failed." When I review the documentation for this tool for running many-to-many Origin-Destination searches, it specifically says "Each layer must have the same number of features, and ID fields must have unique values within each layer." To me, the error and the documentation are contradicting, unless I am misinterpreting something? Also, if I run the tool and use the same field that has the same values across features, I just get a generic error
... View more
01-15-2020
09:30 AM
|
0
|
1
|
1119
|
POST
|
Xander Bakker, This will be a solution for a current mapping application where users can search for their doctor's office where they work and view attributes and such. Doctor offices have service areas that compete for populations, so it's important that when they see office X, that it's not being confused with office Y because they are the same color. The search distance of 25 miles is not a set number, but an example to get the logic of the problem underway. We have a lot of users and we don't know the average scale at which they're using the application, but in order to clear out the 'noise', one does have to zoom in to select their office of choice. With that said, I will back up and attempt to explain what I was trying to do in the code I originally posted above. I was thinking about dividing the data set of 1,500 points into 10 samples, one for each color in the palette. This comes out to 150 points per sample. However, it doesn't solve the problem of areas with clustering.
... View more
09-03-2019
03:32 PM
|
0
|
0
|
249
|
POST
|
I'm feeling less confident that this is a solvable problem. The issue that I'm seeing is in the instances were the number of points within 25 miles exceeds the minimum number of colors that I want to apply, which is what you already pointed out. If I reduce the search radius to reduce the number of classes, than that will increase the chance that points that are 10.1-11 miles are of the same color, if my search radius is reduced to 10 miles, for example. The distribution of points in my data set are not uniform, they show clusters in major and minor cities and then in other areas, they're more spread out.
... View more
09-03-2019
09:31 AM
|
0
|
2
|
1200
|
POST
|
Got it, I increased to ~40,000 meters which is around my target of 25 miles, but it's grouping the points into 51 different classes. Is there a way to restrict this to something smaller like 10-15? My ultimate goal is to apply a color palette where users won't be confused by similar shades of the same color, so the way to account for this is to reduce the number of 'ColVal150' classes.
... View more
09-03-2019
05:43 AM
|
0
|
3
|
1200
|
POST
|
I think I understand what your code is doing, but when I use it on my data, I get most of the points with a value of '1', some with '2' and then one or two records each of 3, 4, 5, 6, 7, 8, 9. The result I see doesn't show that it's accounting for distance either. In your code, you set a distance of '150.0', but what unit are you using? The code runs without error on a sample set of 100 points and also on a sample set of 1400 points, but the result is the same. Is there anything other than 'fc' and 'fld' that I would have to change in order for this to run like your screenshot?
... View more
09-03-2019
05:10 AM
|
0
|
1
|
1200
|
POST
|
Been battling this problem for a long time now, so hoping someone here can shed light on a possible solution. The problem is that I have 100 points and I want to apply a color palette to the points so that no two points within 25 miles have the same color. The issue I'm trying to prevent is having points close to each other being mistaken for similarity. I think I'm getting somewhere with running the Generate Near Table in ArcGIS Pro 2.3 which will find all near points within 25 miles. Conceptually, I'm thinking this could turn into a Python script or ModelBuilder model where a first point is selected, Color field is given a value, then it moves on to the next record, but it can't be from a list of OIDs found in the Near Table result for that next record. To recap, I'm trying to apply, for example, 10 colors to 100 points, where no points within 25 miles of each other gets the same color applied. Some code that I've been trying to play around with: import arcpy
# Process: Select Layer By Attribute
arcpy.SelectLayerByAttribute_management('InputPoints100', 'NEW_SELECTION',"OBJECTID = 1")
# Process: Calculate Field
arcpy.management.CalculateField("InputPoints100", "Color", '"ONE"', "ARCADE", "ONE")
arcpy.Append_management('InputPoints100', 'InputPoints_LIST', 'TEST')
################################################################# ONE ######################################################################
arcpy.SelectLayerByLocation_management('InputPoints100', 'WITHIN_A_DISTANCE', 'InputPoints100',"25 Miles", 'NEW_SELECTION', 'INVERT')
layer = "InputPoints100"
count = 1
def randomColor():
def SelectRandomByCount (layer, count):
import random
layerCount = int (arcpy.GetCount_management (layer).getOutput (0))
if layerCount < count:
print("input count is greater than layer count")
return
oids = [oid for oid, in arcpy.da.SearchCursor (layer, "OID@")]
oidFldName = arcpy.Describe (layer).OIDFieldName
delimOidFld = arcpy.AddFieldDelimiters (layer, oidFldName)
randOids = random.sample (oids, count)
oidsStr = ", ".join (map (str, randOids))
sql = "{0} IN ({1})".format (delimOidFld, oidsStr)
arcpy.SelectLayerByAttribute_management (layer, "", sql)
SelectRandomByCount(layer, count)
arcpy.management.CalculateField("InputPoints100", "Color", '"ONE"', "ARCADE", "ONE")
arcpy.Append_management('InputPoints100', 'InputPoints_LIST', 'TEST')
with arcpy.da.SearchCursor(layer,field_names = "ObjectID") as cursor:
for row in cursor:
randomColor()
print("Done!")
... View more
08-28-2019
01:08 PM
|
0
|
10
|
1599
|
POST
|
Steps that I took: 1) publish map as a map service 2) create a map in my AGOL content folder 3) added the map service to the AGOL map 4) symbolized and configured popups then saved map 5) brought the map into Web App Builder
... View more
10-26-2018
01:04 PM
|
0
|
0
|
2464
|
POST
|
Hi Katherine, I edited my post to clarify that I'm not publishing from ArcMap to AGOL directly, but pulling in a web service into AGOL web map from our Portal.
... View more
10-26-2018
10:50 AM
|
0
|
0
|
2464
|
POST
|
I created a web map in my AGOL content folder after publishing from ArcMap as a Portal feature service. I created a web map in AGOL by bringing in the service URL. I have three group layers with several layers within each group. In the AGOL map viewer, I went through each layer and configured the popups and symbology. After I had done this, I needed to add a new layer to one of the groups, so I added it to my MXD group layer of interest, republished the service and then went to the web map that is fed from this service. The web map doesn't update with the new layer, so I was trying to figure out how to update the web map without having to recreate the entire thing in AGOL? I don't want to really do this each time I have to add a new layer in the MXD because of the configurations I have on each layer with the popups and symbology. Am I missing some process/option to refresh the TOC so that it adds the changes I made to the service?
... View more
10-26-2018
09:49 AM
|
0
|
14
|
4307
|
Title | Kudos | Posted |
---|---|---|
1 | 07-24-2020 08:01 AM | |
3 | 02-12-2018 06:56 AM | |
2 | 01-19-2018 09:38 AM | |
1 | 01-19-2018 10:00 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|