public KnowledgeGraphLayerIDSet GetIDSet()
Public Function GetIDSet() As KnowledgeGraphLayerIDSet
public KnowledgeGraphLayerIDSet GetIDSet()
Public Function GetIDSet() As KnowledgeGraphLayerIDSet
Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
var map = MapView.Active.Map; if (map.MapType != MapType.LinkChart) return; // find the KG layer var kgLayer = map.GetLayersAsFlattenedList().OfType<KnowledgeGraphLayer>().FirstOrDefault(); if (kgLayer == null) return; // find the first LinkChartFeatureLayer in the KG layer var lcFeatureLayer = kgLayer.GetLayersAsFlattenedList().OfType<LinkChartFeatureLayer>().FirstOrDefault(); if (lcFeatureLayer != null) return; QueuedTask.Run(() => { // get the KG var kg = kgLayer.GetDatastore(); // get the ID set of the KG layer var idSet = kgLayer.GetIDSet(); // get the named object type in the KG that the LinkChartFeatureLayer represents var typeName = lcFeatureLayer.GetTypeName(); // if there are items in the ID Set for this type if (idSet.Contains(typeName)) { // build a new ID set containing only these records var dict = idSet.ToOIDDictionary(); var oids = dict[typeName]; var newDict = new Dictionary<string, List<long>>(); newDict.Add(typeName, oids); var newIDSet = KnowledgeGraphLayerIDSet.FromDictionary(kg, newDict); // now create a new link chart using just this subset of records MapFactory.Instance.CreateLinkChart("subset LinkChart", kg, newIDSet); } });
QueuedTask.Run(() => { var idSet = kgLayer.GetIDSet(); // is the set empty? var isEmpty = idSet.IsEmpty; // get the count of named object types var countNamedObjects = idSet.NamedObjectTypeCount; // does it contain the entity "Species"; var contains = idSet.Contains("Species"); // get the idSet as a dictionary of namedObjectType and oids var oidDict = idSet.ToOIDDictionary(); var speciesOIDs = oidDict["Species"]; // alternatively get the idSet as a dictionary of // namedObjectTypes and uuids var uuidDict = idSet.ToUIDDictionary(); var speciesUuids = uuidDict["Species"]; });
Target Platforms: Windows 11, Windows 10