POST
|
@bbaker_tngeo it does not appear the ArcGIS Server management tools are in Pro yet. However i would not recommend this stop , rebuild and start workflow for geocoding its messy and we have had locators get corrupted on rebuild and then your service will not start. This is possible using the service publication tools with the overwrite flag set to true. There is an example script here and it works for both stand alone and portal (with a few tweaks). CreateGeocodeSDDraft—ArcGIS Pro | Documentation We do this daily by scripting backup the existing locator, rebuild locator , create the sd draft and then upload to server. If the rebuild fails the service is still running.
... View more
01-04-2024
08:13 AM
|
0
|
1
|
154
|
POST
|
@MichaelVolz I have the same problem AttributeError: 'Server' object has no attribute 'services' with ArcGIS Pro 3.1.3 with arcgis api 2.1.0.3
... View more
12-21-2023
09:20 AM
|
0
|
0
|
190
|
POST
|
Thank you for this description. I have been attempting to replace the .sde connections by using the workspace which comes back in describe method. This always appears to be a temporary .sde connection in the user profile for some strange reason. When creating the full path using the temporary .sde workspaces as the current input it never seems to update the data sources. However your tip led me to the conclusion is we know where already know where all the original sde connection files are used to create the initial map. Using this as the full path+.sde connection file in the current input seems to be working for all of our use cases! For us this includes different server names, named SQL instances, database name differences, username/pwd. This is even working on query layers from the non-geodatabase SQL databases. In each of these use cases something was challenging when using the find/replace dictionaries in updateConnectionProperties. It worked for some but not others such as the database name differences. Feel confident we can now proceed with the .sde replacement option! Thanks
... View more
11-22-2023
12:24 PM
|
0
|
0
|
181
|
POST
|
Interesting. I would be curious what you provide in the current SDE connection input since Pro Maps do not appear to maintain reference to the original .sde connection file. Do you obtain this from Describe or always know the current connection?
... View more
11-07-2023
06:29 PM
|
0
|
2
|
212
|
POST
|
This process is inconsistent for us switching from one SQL SDE source to another. It's a complete mess and used to work just fine in ArcMap/arcpy. For us if the server name is the only change then the find / replace dictionary works but if anything else is different (database, user, instance) than the find/replace dictionary does not work. The old / new .sde connection approach has never worked for us There is a bug in ArcGIS Pro 3.0.3+ if you try to update the WORKSPACE on a map manually it breaks the layers in map document which could be one reason it might not be working consistently with Arcpy. https://my.esri.com/#/support/bugs/bugs?bugNumber=BUG-000156145 Not sure why they are reporting "as designed" as I would want the workspace option to work like it did in ArcMap. Guess we are asking too much!! We also created an enhancement because ArcGIS Pro references to the SDE connection properties differently depending on where you look. If they cannot get these properties to be consistent how could any repathing possibly work? https://my.esri.com/#/support/bugs/bugs?bugNumber=ENH-000161406
... View more
11-07-2023
01:44 PM
|
0
|
0
|
348
|
IDEA
|
@PaulLohr this was a long time ago but I do have my scripts. This idea does still have merit. I will post my code blocks below which were quick and dirty with the intent to remove ALL global IDs. As-is they are non destructive and only generate the T-SQL statements to the console so they can be reviewed and executed in another session. Not sure I would use this today with all of the functionality now available in the EGDB putting more dependencies on them such as archiving, attachment tables, versioned views, sync. This was before versioned views (_evws) were created by default and pretty sure they will not auto-update without an ArcGIS field event. These might require manual alterations if the global id fields did get dropped. Please use caution this could destroy a gdb with versioning, relationship classes, replicas, etc... They also might need some protections to not target an SDE or DBO owned schema objects. Drop Indexes DECLARE @VSQL NVARCHAR(2000)
DECLARE @CURR CURSOR
SET @CURR = CURSOR FAST_FORWARD FOR
SELECT
'DROP INDEX ' + NAME + ' ON '+OBJECT_SCHEMA_NAME(OBJECT_ID)+'.'+OBJECT_NAME(OBJECT_ID)+';'
FROM SYS.INDEXES
WHERE TYPE > 0
AND OBJECT_SCHEMA_NAME(OBJECT_ID) = 'GIS' --The Data Owner
AND NAME LIKE 'UUID%'
ORDER BY
OBJECT_SCHEMA_NAME(OBJECT_ID),
OBJECT_NAME(OBJECT_ID)
OPEN @CURR
FETCH NEXT FROM @CURR INTO @VSQL
WHILE (@@FETCH_STATUS = 0)
BEGIN
PRINT @VSQL
FETCH NEXT FROM @CURR INTO @VSQL
END
CLOSE @CURR;
DEALLOCATE @CURR; Drop Constraints DECLARE @VSQL NVARCHAR(2000)
DECLARE @CURR CURSOR
SET @CURR = CURSOR FAST_FORWARD FOR
SELECT
'ALTER TABLE ' + SCHEMA_NAME(SCHEMA_ID) + '.' + OBJECT_NAME(PARENT_OBJECT_ID) + ' DROP CONSTRAINT ' + OBJECT_NAME(OBJECT_ID)
FROM SYS.OBJECTS
WHERE TYPE_DESC LIKE '%CONSTRAINT'
AND OBJECT_NAME(OBJECT_ID) = 'GLOBALID'
OPEN @CURR
FETCH NEXT FROM @CURR INTO @VSQL
WHILE (@@FETCH_STATUS = 0)
BEGIN
PRINT @VSQL
FETCH NEXT FROM @CURR INTO @VSQL
END
CLOSE @CURR;
DEALLOCATE @CURR; Drop GlobalID DECLARE @VSQL NVARCHAR(2000)
DECLARE @CURR CURSOR
SET @CURR = CURSOR FAST_FORWARD FOR
SELECT
'ALTER TABLE ' + C.TABLE_SCHEMA + '.' + C.TABLE_NAME + ' DROP COLUMN ' + C.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS C
LEFT OUTER JOIN SDE.SDE_LAYERS L
ON L.TABLE_NAME = C.TABLE_NAME
AND L.OWNER = C.TABLE_SCHEMA
LEFT OUTER JOIN SDE.SDE_TABLE_REGISTRY R
ON L.TABLE_NAME = R.TABLE_NAME
LEFT OUTER JOIN SDE.SDE_COLUMN_REGISTRY CR
ON L.TABLE_NAME = CR.TABLE_NAME
AND L.OWNER = CR.OWNER
AND CR.COLUMN_NAME = 'GLOBALID'
LEFT OUTER JOIN INFORMATION_SCHEMA.VIEWS V
ON C.TABLE_NAME = V.TABLE_NAME
AND C.TABLE_SCHEMA = V.TABLE_SCHEMA
WHERE C.COLUMN_NAME = 'GLOBALID'
--AND (L.BASE_LAYER_ID = 0 OR L.BASE_LAYER_ID IS NULL)
AND V.TABLE_NAME IS NULL
ORDER BY L.TABLE_NAME
OPEN @CURR
FETCH NEXT FROM @CURR INTO @VSQL
WHILE (@@FETCH_STATUS = 0)
BEGIN
PRINT @VSQL
FETCH NEXT FROM @CURR INTO @VSQL
END
CLOSE @CURR;
DEALLOCATE @CURR; Drop GlobalID from the SDE Column Registry (be careful!!) DECLARE @VSQL NVARCHAR(2000)
DECLARE @CURR CURSOR
SET @CURR = CURSOR FAST_FORWARD FOR
SELECT
'DELETE FROM SDE.SDE_COLUMN_REGISTRY WHERE COLUMN_NAME = ''' + CR.COLUMN_NAME + ''' AND OWNER = ''GIS'' AND TABLE_NAME = ''' + '' + L.TABLE_NAME + ''''
FROM SDE.SDE_LAYERS L
INNER JOIN SDE.SDE_TABLE_REGISTRY R
ON L.TABLE_NAME = R.TABLE_NAME
LEFT OUTER JOIN INFORMATION_SCHEMA.COLUMNS C
ON L.TABLE_NAME = C.TABLE_NAME
AND C.COLUMN_NAME = 'GLOBALID'
AND L.OWNER = C.TABLE_SCHEMA
LEFT OUTER JOIN SDE.SDE_COLUMN_REGISTRY CR
ON L.TABLE_NAME = CR.TABLE_NAME
AND L.OWNER = CR.OWNER
AND CR.COLUMN_NAME = 'GLOBALID'
WHERE CR.COLUMN_NAME = 'GLOBALID'
ORDER BY L.TABLE_NAME
OPEN @CURR
FETCH NEXT FROM @CURR INTO @VSQL
WHILE (@@FETCH_STATUS = 0)
BEGIN
PRINT @VSQL
FETCH NEXT FROM @CURR INTO @VSQL
END
CLOSE @CURR;
DEALLOCATE @CURR; Hope this helps and good luck! Ronnie
... View more
09-29-2023
11:10 AM
|
0
|
0
|
654
|
IDEA
|
@ShanaBritt Everything you have captured is correct, the suite in this example does not exist. The matched record against pointaddress category does indicate the Exinfo = STE 1. This is being described as expected behavior and understand getting an appropriate match. But with these results I am more concerned about the scoring, specifically a 100% against subaddress/point address categories but lower scores when incorporated into a composite. The composite is using the same locators, except just singular categories enabled in each. The result order in the composite is subaddress, pointaddress and then street range. Yes some of the reference data does contain sub address features Pro 3.1.2, Enterprise 11.1 - However these results are clearly exposed in Pro and have reference data/locators available if you need to test this further to understand. Using the pointaddress role with both categories enables returns a 100% match but no ExInfo Using the pointaddress role with one category enabled and the second category enabled and then stacked into the composite returns the same match candidate but the score is reduced as expected. This does contain the Exinfo as you explained.
... View more
06-06-2023
01:00 PM
|
0
|
0
|
384
|
IDEA
|
@ShanaBritt Thanks for all the information related the PointAddress and the catagories over the years. We are having some success over here but only when we separate the PointAddress locator into 2 (one for each category). Then configure both PointAddress.subaddress & PointAddress.PointAddress into a composite locator. The strangeness is when these categories are combined which is the default nature of create address locator, we still see 100% match for some addresses with units which do not exist in reference data. This is confusing as a default option and would assume most users would not want 100% match for a candidate which did not exist. As we tweaked the input we did get some scoring to diminish but not with the same scoring as when they are combined into a composite. Default Result = Address inputs candidates with units which do not exist in reference are getting 100% match to PointAddress. Individual - If the same locator is broken apart by category (subaddress vs PointAddress). Then result from PointAddress has a reduced match score (as expected it does not exist in reference). Example: 4791 PELL DR STE 1 Should these results be the same regardless of the categories chosen? I think our agency can move forward with this configuration we have fallen into but this seems confusing especially when differing results are returned when combined at the categorical level vs composite. To the idea team, this idea can be closed as submitted. @ShanaBritt has provided work arounds for getting the input candidate address in the results array.
... View more
06-01-2023
11:18 AM
|
0
|
0
|
402
|
POST
|
Jeff thanks for the suggestion. This is interesting the workflow attempted here is with Map Services and very interesting they are different. What you are sharing makes sense from the workflow perspective and appears to work for Geocode SD drafts but not for map service drafts. I am using: arcpy.sharing.CreateSharingDraft which results in a MapServiceDraft CreateSharingDraft—ArcGIS Pro | Documentation MapServiceDraft—ArcGIS Pro | Documentation MapServiceDraft.exportToSDDraft() - This only provides the path to the .sddraft which seems pointless since this is already the input object. Ideally this return would include messages dictionary such as the CreateGeocodeSD you shared and similar to the legacy CreateMapSDDraft. arcpy.StageService is then used to create the SD and this returns warnings in the GetMessages(1) and errors are exceptions It seems silly and in some way too late these messages are only returned when the arcpy.StageService occurs because when layers are identified as not registered with server, the process creating the .sd can take forever. In the old Map Service workflow this would not have progresses this far since our older scripts would warn the publisher to resolve the data sources before publication. In past. the layer data source is not registered warnings occurred during the create draft phase and now this is part of staging?
... View more
04-26-2023
08:02 AM
|
0
|
0
|
324
|
POST
|
In the ArcGIS Desktop arcpy method CreateMapSDDraft it output a dictionary of the analysis results. This was easy to parse and perform actions before publication takes place. https://desktop.arcgis.com/en/arcmap/latest/analyze/arcpy-mapping/createmapsddraft.htm In ArcGIS Pro it is a bit unclear the results of the analysis. The Stage Service does not explicitly state this except in one of the examples uses the arcpy.GetMessages(1) call to get the warnings. This appears to be text and not the easiest to parse. https://pro.arcgis.com/en/pro-app/latest/tool-reference/server/stage-service.htm My parsing attempt: analysisMessages = eval(arcpy.GetMessages(1).split('(')[1][:-2].strip()) Is there another way to get the analysis results as a dictionary? It appears we have lost some functionality as we would like to look for any "copy to server" warnings before the publication process.
... View more
04-24-2023
02:43 PM
|
0
|
3
|
361
|
POST
|
We started to get similar errors when publishing locators to our federated enterprise environment in the October 2022 timeframe. ERROR 002901: Sharing related error during geo-processing (Unable to check if service exists. (PointAddress)) Failed to execute (UploadServiceDefinition). Turns out this is a problem related to changes to the ArcGIS Server (.ags) connection file. ESRI published a knowledge base article on 3/15/2023 related to this error but it is not very specific. https://support.esri.com/en-us/knowledge-base/error-error-002901-sharing-related-error-during-geoproc-000029487 In our locator publications, we used the sign in to portal approach with the url in the UploadServiceDefinition method as shown in the latest help documentation. Once we moved away from using the .AGS connection files in our SD Draft and Uploads steps this resolved the problem for us. https://pro.arcgis.com/en/pro-app/latest/arcpy/functions/creategeocodesddraft.htm
... View more
04-03-2023
02:19 PM
|
0
|
0
|
665
|
POST
|
Hello @BartGis5 We are now running into this issue publishing locators so thanks for this tip. Can you elaborate on the language settings to check/change? Are these the language settings in the Control Panel -> Region or is this somewhere else? Thanks!
... View more
02-23-2023
10:54 AM
|
0
|
1
|
724
|
POST
|
Thanks for the confirmation @BlakeTerhune ! Your solution is perfect to obtain a path to a .sde workspace. ArcGIS Pro seems to copy or create the sde connection into the local profile. It's unfortunate the original path was not preserved but maybe this was removed due to security or other issues if source connections are exposed. On this end, we will proceed with resourcing data on what exists in the connection properties. Thanks for your response to this
... View more
02-03-2023
08:49 AM
|
1
|
0
|
1227
|
POST
|
For some reason this Describe catalog path does not return the original SDE Connection used. The map document was authored using a UNC path with standardized names and a temporary .sde connection was returned. Does it return the expected .sde connection file name and path in your situation? The map was authored with data from: \\servername\publish\readuser@prodDB_web_sde.sde\web_sde.GIS.COUNTY_BOUNDARY The describe returns: C:\Users\username\AppData\Local\Temp\1\a2190f00b0450b088ca7cd2e92f9f4b5.sde\web_sde.GIS.COUNTY_BOUNDARY This might be what that little tip was indicating in the layer help but this is not at all helpful if the sde connections are always in the local profile with the orignal naming destroyed.
... View more
02-02-2023
11:25 AM
|
0
|
1
|
1254
|
POST
|
Thank you @BlakeTerhune that was very quick and this is perfect! I'll have to test but does describe work on broken data sources as well?
... View more
02-02-2023
11:02 AM
|
0
|
1
|
1264
|
Title | Kudos | Posted |
---|---|---|
1 | 02-03-2023 08:49 AM | |
2 | 10-25-2022 11:32 AM | |
6 | 09-01-2021 10:15 AM | |
1 | 06-21-2021 12:24 PM | |
3 | 12-31-2019 12:24 PM |
Online Status |
Offline
|
Date Last Visited |
02-13-2024
10:50 PM
|