ArcGIS Pro二次开发 把图层转成符号库
QueuedTask.Run(() => { //make some (custom) symbols var symbols = new List<CIMSymbol>(); symbols.Add(SymbolFactory.Instance.DefaultPointSymbol); symbols.Add(SymbolFactory.Instance.DefaultLineSymbol); symbols.Add(SymbolFactory.Instance.DefaultPolygonSymbol); symbols.Add(SymbolFactory.Instance.DefaultTextSymbol); //access the style file to be updated var stylx_file = Project.Current.GetItems<StyleProjectItem>().FirstOrDefault( item => item.Name == "My_Defaults");//must already be in the project //make the style items that wrap the symbols int p = 1; int l = 1; int pl = 1; int t = 1; foreach (var symbol in symbols) { var key = ""; var category = ""; var itemType = StyleItemType.Unknown; if (symbol is CIMPointSymbol ptSym) { key = $"Point Symbol {p++}"; category = "Point"; itemType = StyleItemType.PointSymbol; } else if (symbol is CIMLineSymbol lnSym){ key = $"Line Symbol {l++}"; category = "Line"; itemType = StyleItemType.LineSymbol; } else if (symbol is CIMPolygonSymbol polySym) { key = $"Polygon Symbol {pl++}"; category = "Polygon"; itemType = StyleItemType.PolygonSymbol; } else if (symbol is CIMTextSymbol textSym) { key = $"Text Symbol {t++}"; category = "Text"; itemType = StyleItemType.TextSymbol; } else { continue;//mesh } //make the symbol style item var ssi = new SymbolStyleItem() { Name = key,//Can be any string - localized is fine Key = key,//must be unique Tags = itemType.ToString(),//tag1;tag2;tag3;etc Category = category,//arbitrary string for organizing your items ItemType = itemType,//style item type Symbol = symbol //your symbol }; //add the style item stylx_file.AddItem(ssi); } //copy an existing symbol into the style file var arcgis_2d = Project.Current.GetItems<StyleProjectItem().FirstOrDefault( item => item.Name == "ArcGIS 2D"); //get an arbitrary symbol, or symbols var poly_ssi1 = arcgis_2d.SearchSymbols(StyleItemType.PolygonSymbol, "Glacier")[0]; var poly_ssi2 = arcgis_2d.SearchSymbols(StyleItemType.PolygonSymbol, "Buffered Gradient")[0]; //add them stylx_file.AddItem(poly_ssi1); stylx_file.AddItem(poly_ssi2); //... etc ... });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2022-02-17 AE二次开发中,过滤后的图层,实现缩放至图层效果
2021-02-17 ArcGIS Pro学习加我的微信号和微信公众号
2021-02-17 ArcGIS Pro版超级工具基本完成
2020-02-17 ArcGIS API for Python和ArcPy区别
2016-02-17 Android 颜色Color
2012-02-17 arcgis 如何改变字段的别名
2012-02-17 arcgis 判断要素是否被编辑