POST
|
I want to make updates on an AnnotationFeature's Graphic. For that I use this pattern: var graphic = annotationFeature.GetGraphic() as CIMTextGraphic
graphic.Shape = someGeometry;
annotationFeature.SetGraphic(graphic)
annotationFeature.Store()
ActiveMapView.Invalidate(..); I want the annotation to reflect my edits instantly but without the annotationFeature.Store(). For every update on the graphic Store() creates Add-/Delete rows in a versioned geodatabase. What I want to achieve is to update the Annotation's graphic in some sort of sketch operations and then commit the operations in a single edit operation. Tnanks.
... View more
4 weeks ago
|
0
|
0
|
70
|
POST
|
After clicking some modify tools the Modify Features (esri_editing_EditFeaturesDockPane) dockpane pops up and gets focus even if the dockpane is closed. How to stop this behavior? If the dockpane is closed I want it to stay closed. Instead I want my custom dockpane to have focus. How can I achieve that? Disabling the Modify Features dockpane by removing its DAML entry is not accepted by our client. They want to have the entire Pro application. I managed to disable the condition of the Modify Features dockpane but it keeps popping up. I suspect Esri activates the dockpane programmatically ignoring its condition. I found similiar question: Can I prevent activation of Editing pane when I execute a IPlugInWrapper command? but don't understand @John_Jones answer: John Jones answer Can anybody help me please? Thank you.
... View more
03-14-2024
08:34 AM
|
2
|
0
|
215
|
POST
|
My goal is to get these nice annotation editing display feedbacks (see pictures) in a custom annotation editing map tool. To achieve this I built my own MapTool. In the OnSketchCompleteAsync method I programmatically execute esri_editing_EditVerticesText or esri_editing_EditVerticesModifyFeatures. Editing.daml says both are buttons. See code: IPlugInWrapper wrapper = FrameworkApplication.GetPlugInWrapper("esri_editing_EditVerticesText");
var command = wrapper as RelayCommand;
command?.Execute(null); After programmatically clicking these buttons I get the desired display feedback but another out-of-the-box Pro tool becomes the active tool: esri_editing_ModifyFeatureImpl. After programmatically deactivating the appropriate states I could disable esri_editing_EditingMapCondition which is the condition of the esri_editing_ModifyFeatureImpl tool. As a result esri_editing_ModifyFeatureImpl didn't became the active tool anymore but the desired display feedbacks were gone too. Question: I want my custom MapTool to remain Pro's active tool after programmatically executing esri_editing_EditVerticesText so I can catch mouse or key down events but still have the annotation editing display feedbacks. How can I achieve that? In ArcMap we did the same: we programmatically executed ArcMap commands in a custom tool. This way we could build a all-in-one annotation editing tool that fitted our customers needs and we could re-use the built-in annotation editing display feedbacks. Any help is much appreciated. Thanks.
... View more
03-14-2024
07:57 AM
|
2
|
0
|
186
|
POST
|
Hi Shaun The bug 000157823 still occurs in Pro 3.1.3 if you clone the default arcgispro-py3 environment and use the clone as the active environment. We've already contacted Esri support.
... View more
10-09-2023
08:08 AM
|
1
|
2
|
629
|
POST
|
We have a field of type GUID in our feature classes and the field is maintained by the extension. So, the Global ID acts similar to a Object ID: it only stays stable if using copy/paste.. Did I understand you correctly? There would be our own field of type GUID to guarantee value persistence and next to it the Esri Global ID field which only purpose is to make attribute rules working? Oh man, I want to retire too.. 😉
... View more
05-27-2021
07:45 AM
|
0
|
0
|
1749
|
POST
|
I read it is mandatory to have Global IDs in order to use Attribute Rules, is it? And why is that? I found no explanation in the docs. Also read my question here please: Are Global ID preserved by the platform? - Esri Community Thank you
... View more
05-27-2021
06:25 AM
|
1
|
7
|
1534
|
POST
|
We have a big ArcMap Extension running that assigns GUIDs to new features. That's how we identify features and keep track of them throughout our workflows. Therefor the GUIDs need to be persistent. I read about Global ID. I think of it as an Object ID: maintained by the system but a GUID. Is it guaranteed that a Global ID is preserved by the platform no matter what out-of-the-box GP tool (Append, Copy, etc.) or workflow (check-out, replication, reconcile, etc.) I use? This environment setting made me suspicious: Preserve Global IDs (Environment setting) . Thanks.
... View more
05-27-2021
06:09 AM
|
0
|
3
|
1803
|
POST
|
Hi everyone How can I clear custom project settings? No matter whether I set the value to null settings[""] = null; or set the settings object to null settings = null; it keeps returning. Does it live forever in the .aprx? Like a zombie 😉 Thank you and regards, daniel
... View more
02-16-2021
06:39 AM
|
0
|
2
|
845
|
POST
|
I found out how to resize the CircularAnimationControl. Like this the control works for me. Thanks. <controls:CircularAnimationControl Grid.Row="2" Foreground="{DynamicResource Esri_BorderSelectedBrush }" SpeedRatio="0.5" Width="30" Height="30" Visibility="{Binding Loading, Converter={StaticResource VisibilityConverter}}"/>
... View more
01-11-2021
12:40 AM
|
0
|
0
|
1146
|
POST
|
Hi Gintautas, Thanks for your help. For the moment I use the CircularAnimationControl but that's not exactly what I'm looking for. For instance I didn't find out how to resize it. I'd rather prefer to use the control in the attached image which appears while a map is loading. I'd like my custom control to look Pro-ish. Thanks.
... View more
12-16-2020
12:21 AM
|
0
|
1
|
1177
|
POST
|
Hi, Is there a way to show the following waiting control on a Dockpane while my custom WPF control is loading data? Also I'd like to change its label (not "Loading Map ..."). Help or any hints are much appreciated. Regards, Daniel
... View more
12-02-2020
05:17 AM
|
0
|
3
|
1260
|
POST
|
In the ArcObjects code we stored the ObjectClassID and OBJECTID for the edit workspace. So we know what row our object is representing. We store these objects in the MXD/layer. And as I mentioned before, integers are easier to handle than strings. That's why I would love to have a method GetObjectClassNameByID() to use the table name later to open the table. Typically the 'related table ID' field contains the same value for all our 'row' objects. But in some special cases the field might have a different value. Since with ArcGIS Pro there are many potential edit workspace at once: how do store the identity of a row over many ArcGIS Pro sessions? Our solution right know is to use instance, version, user (from Connector type) or path (if it's a FGDB), table id and oid. My latest question on geonet is somehow related: https://community.esri.com/message/930889-unstable-rowhandle sorry for my long inactivity..
... View more
05-25-2020
02:52 AM
|
0
|
1
|
702
|
POST
|
The Row.Handle property is not stable but it should according to the docs: https://github.com/esri/arcgis-pro-sdk/wiki/ProConcepts-Geodatabase#unique-instancing Other handles are. Table.Handle for instance. Am I doing something wrong? Help is much appreciated, thanks. The code snippet below is a unit test. The Row.Handle is not stable in Pro App context either, e.g. running in QueuedTask. [Test]
public void Compare_row_handles_SDE_LearningTest()
{
var osaConnection = new DatabaseConnectionProperties(EnterpriseDatabaseType.Oracle)
{
Instance = "bla",
AuthenticationMode = AuthenticationMode.OSA
};
using (var geodatabase = new Geodatabase(osaConnection))
{
var featureClass = geodatabase.OpenDataset<FeatureClass>("foo");
var row0 = GetRow(featureClass, 2453);
var row1 = GetRow(featureClass, 2453);
Console.WriteLine("rows are equal: {0}", Equals(row0, row1));
Console.WriteLine("rows are reference equals: {0}", ReferenceEquals(row0, row1));
Console.WriteLine("row handles are equal: {0}", Equals(row0.Handle, row1.Handle));
Assert.AreNotEqual(row0.Handle, row1.Handle);
}
}
public static Row GetRow(Table table, long oid)
{
using (var cursor = table.Search(new QueryFilter
{
WhereClause = $"{table.GetDefinition().GetObjectIDField()} = {oid}"
}, false))
{
if (! cursor.MoveNext())
{
return null;
}
var row = cursor.Current;
Assert.False(cursor.MoveNext(), "more than one row found");
return row;
}
}
... View more
05-25-2020
02:46 AM
|
0
|
1
|
550
|
POST
|
Hi Wolfgang, Thanks for your reply. My request is not super critical. But it would be handy I thought it’s low hanging fruit. Different ObjectClassID (OBJECTIDs) in different workspaces: That’s a good point and you’re right. But when we store the ObjectClassID (and some state) in our lightweight objects we always refer to a specific workspace. So, this is not an issue. IDs are just handy. We don’t have to fiddle with strings (qualified names, case sensitivity, table name lengths, etc.). GUID type column: Our solution wouldn’t work if the column is missing. And we don’t want system/application information in our data model.
... View more
02-24-2020
02:06 AM
|
0
|
1
|
702
|
Title | Kudos | Posted |
---|---|---|
2 | 03-14-2024 08:34 AM | |
2 | 03-14-2024 07:57 AM | |
1 | 05-27-2021 06:25 AM | |
1 | 10-09-2023 08:08 AM |
Online Status |
Offline
|
Date Last Visited |
2 weeks ago
|