public Dictionary<string,List<long>> ToOIDDictionary()
Public Function ToOIDDictionary() As Dictionary(Of String,List(Of Long))
Return Value
Dictionary of named object types and their corresponding objectIDs.
public Dictionary<string,List<long>> ToOIDDictionary()
Public Function ToOIDDictionary() As Dictionary(Of String,List(Of Long))
var kg_layer = MapView.Active.Map.GetLayersAsFlattenedList() .OfType<KnowledgeGraphLayer>().FirstOrDefault(); if (kg_layer == null) return; QueuedTask.Run(() => { //Get the existing kg layer id set and convert to a dictionary var layer_id_set = kg_layer.GetIDSet(); var dict = layer_id_set.ToOIDDictionary();//Empty list means all records //Create an id set from a dictionary var dict2 = new Dictionary<string, List<long>>(); dict2.Add("Enity_Or_Relate_Type_Name1", null);//Null means all records dict2.Add("Enity_Or_Relate_Type_Name2", new List<long>());//Empty list means all records dict2.Add("Enity_Or_Relate_Type_Name3", new List<long>() { 3,5,9, 101, 34});//Explicit list of ids //dict2.Add("Enity_Or_Relate_Type_Name4", // new List<long>() { etc, etc }); //Create the id set var idset = KnowledgeGraphLayerIDSet.FromDictionary(kg, dict2); //Can be used to create a layer, link chart, append to link chart, etc... });
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