IDEA
|
I see what you are getting at, and it isn't a bad idea, but it comes with risks as well. Caching addresses some aspects but introduces new issues that either need to be mitigated or documented and communicated to users. As good as documentation may be, we know most users take a cursory look if they bother to look at all. When new functionality performing well depends on numerous fine-print details that few will read or understand, users start complaining "it doesn't work" whether it is warranted or not.
... View more
01-28-2019
12:54 PM
|
1
|
0
|
193
|
POST
|
I managed to find a workaround: I added a class with one empty method to the library containing my usercontrol. When calling this method from the Dockable Window's constuctor, the dll is loaded, and can be found at the time the usercontrol is needed.
... View more
11-28-2018
03:24 AM
|
0
|
0
|
63
|
POST
|
This should work if you delete the relationships with a callback within the same edit operation. In this example I'm modifying a selected parcel with an inspector and deleting the relationships with a callback. Note, this is quick and dirty code: QueuedTask . Run ( ( ) = > { //get selected parcel var selfeature = MapView . Active . Map . GetSelection ( ) ; //create the editop and modify var op = new EditOperation ( ) ; op . Name = "Update and delete relationship" ; var insp = new Inspector ( ) ; insp . Load ( selfeature . Keys . First ( ) , selfeature . Values . First ( ) ) ; insp [ "ZONING" ] = 42 ; op . Modify ( insp ) ; //delete the relationship through callback var geodatabase = new Geodatabase ( new FileGeodatabaseConnectionPath ( new Uri ( @"d:\temp\prorel\test.gdb" ) ) ) ; var relationshipClass = geodatabase . OpenDataset < RelationshipClass > ( "parcels_owners" ) ; //get the selected parcel as a row var parcelFeatureClass = geodatabase . OpenDataset < FeatureClass > ( "parcels" ) ; var queryFilter = new QueryFilter { WhereClause = "OBJECTID = " + selfeature . Values . First ( ) . First ( ) . ToString ( ) } ; var rowCursor = parcelFeatureClass . Search ( queryFilter , false ) ; rowCursor . MoveNext ( ) ; var selectedrow = rowCursor . Current ; //get the related owner rows var relatedDestinationRows = relationshipClass . GetRowsRelatedToOriginRows ( selfeature . Values . First ( ) ) ; op . Callback ( context = > { foreach ( Row relatedDestinationRow in relatedDestinationRows ) { relationshipClass . DeleteRelationship ( selectedrow , relatedDestinationRow ) ; } } , relationshipClass ) ; op . Execute ( ) ; } ) ;
... View more
06-25-2018
03:53 PM
|
0
|
0
|
18
|
POST
|
No, that's basic XML: < disabledText > < / disabledText > is exactly equal to < disabledText / >
... View more
06-20-2018
11:46 PM
|
1
|
0
|
121
|
POST
|
EventLog is intended for logging when Pro is in diagnostic mode otherwise writing to the log is a no-op. ArcGIS Pro runs in diagnostic mode using the "/enablediagnostics" command line switch. ProConcepts-Framework#diagnostic-mode-event-logging. Output goes to an xml file in My Documents\ArcGIS\Diagnostics If you want your logging always "on" (not just when Pro is in diagnostic mode) then using another logger is the way to go
... View more
06-13-2018
10:36 AM
|
2
|
0
|
198
|
POST
|
The best practice is definitely to call Dispose on Row and Feature objects. Keeping these objects around in memory can cause the system to hold onto file handles or database connections.
... View more
05-31-2018
08:42 AM
|
0
|
0
|
86
|
POST
|
Hello Berend, We've confirmed that this is a bug in the Pro SDK. The workaround for now would be to refetch the features using the object IDs from the rows. It is too late in the Pro 2.2 development cycle for us to fix it in that release, but we will target a fix for 2.3. --Rich
... View more
05-25-2018
12:04 PM
|
0
|
0
|
28
|
POST
|
Hi, I have a featureclass with a 1:n relationship to a table. When I create a replica with ArcGIS Server, it seems that only records from the table that are actually related to a feature are synced. Is there a way to synchronize all table records? I want to use the table as a lookup table, so all values should be available. I realize I could use a coded value domain, but in this case, additional values may be added to the table by end users, and obviously they can't change the domain.
... View more
08-30-2017
08:05 AM
|
0
|
0
|
184
|
DOC
|
Adding a WMS service to ArcGIS Pro is very simple and straightforward, but you must know which classes to use. Since the documentation is severely lacking in examples, I thought I'd add it here. using ArcGIS . Core . CIM ; using ArcGIS . Desktop . Framework . Threading . Tasks ; using ArcGIS . Desktop . Mapping ; // Create a connection to the WMS server var serverConnection = new CIMInternetServerConnection { URL = "Fill in the URL of the WMS service" } ; var connection = new CIMWMSServiceConnection { ServerConnection = serverConnection } ; // Add a new layer to the map await QueuedTask . Run ( ( ) = > { var layer = LayerFactory . CreateLayer ( connection , MapView . Active . Map ) ; } ) ; Adding a WMTS or a WCS works exactly the same way, just alter the type of the connection variable. Oh, and before anyone asks, Identify on a WMS only works if a geographical coordinate system is used. Projected does not work at this moment ( BUG-000099054 ).
... View more
09-13-2016
12:21 AM
|
5
|
0
|
2023
|
POST
|
So, I got an answer from our Esri support desk in The Netherlands. It seems that identify on WMS is only supported for WGS84, and not for any other coordinate system. UPDATE: In a follow-up, I was told that Identify works on geographical coordinate systems only. Projected coordinate systems do not work at this moment. This is filed by Esri as BUG-000099054.
... View more
08-24-2016
03:57 AM
|
1
|
0
|
79
|
Online Status |
Offline
|
Date Last Visited |
Thursday
|