ArcGIS Engine开发教程之图层符号化(五)——利用ESRI自带的符号库进行唯一值符号化

利用ESRI自带的符号库进行唯一值符号化一图层开发实例
        学会开发唯一值符号化要素图层功能
    

1 5


16

17

2.步骤
1.准备点数据,添加属性字段“类别”;
2.并为要素“类别”属性值分别设置为“Hospital2”,“School 1”,“Airport”三种属性值。
3.实现唯一值符号化功能
4.运行程序实现效果

3.功能开发
实现唯一值符号化功能代码如下:

///<summary>

///获取符号库中符号

///</summary>

///<param name="sServerStylePath">符号库全路径名称</param>

///<param name="sGalleryClassName">GalleryClass名称</param>

///<param name="symbolName">符号名称</param>

///<returns>符号</returns>

privateISymbol GetSymbol(string sServerStylePath,string sGalleryClassName, string symbolName)
{

try

{

//ServerStyleGallery对象

IStyleGallery pStyleGaller =new ServerStyleGalleryClass();

IStyleGalleryStorage pStyleGalleryStorage = pStyleGalleras IStyleGalleryStorage;

IEnumStyleGalleryItem pEnumSyleGalleryItem=null;

IStyleGalleryItem pStyleGallerItem =null;

IStyleGalleryClass pStyleGalleryClass =null;

//使用IStyleGalleryStorage接口的AddFile方法加载ServerStyle文件

pStyleGalleryStorage.AddFile(sServerStylePath);

//遍历ServerGallery中的Class

for(int i = 0; i < pStyleGaller.ClassCount; i++)

{

    pStyleGalleryClass = pStyleGaller.get_Class(i);

    if(pStyleGalleryClass.Name != sGalleryClassName)

        continue;

   //获取EnumStyleGalleryItem对象

    pEnumSyleGalleryItem = pStyleGaller.get_Items(sGalleryClassName, sServerStylePath,"");

    pEnumSyleGalleryItem.Reset();

   //遍历pEnumSyleGalleryItem

    pStyleGallerItem = pEnumSyleGalleryItem.Next();

    while(pStyleGallerItem !=null)

    {

    if(pStyleGallerItem.Name == symbolName)

    {

        //获取符号

        ISymbol pSymbol = pStyleGallerItem.Item asISymbol;

        System.Runtime.InteropServices.Marshal.ReleaseComObject(pEnumSyleGalleryItem);

        System.Runtime.InteropServices.Marshal.ReleaseComObject(pStyleGalleryClass);

        return pSymbol;

    }

        pStyleGallerItem = pEnumSyleGalleryItem.Next();

    }

}

System.Runtime.InteropServices.Marshal.ReleaseComObject(pEnumSyleGalleryItem);

System.Runtime.InteropServices.Marshal.ReleaseComObject(pStyleGalleryClass);

return null;

}

catch (Exception Err)

{

MessageBox

.Show(Err.Message, "提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

return

null;

}

}


///<summary>

///设置要素图层唯一值符号化

///</summary>

///<param name="pFeatureLayer"></param>

privatevoid UniqueValueRenderFlyr(IFeatureLayer pFeatureLayer)

{

    try

    {

        //创建UniqueValueRendererClass对象

IUniqueValueRenderer pUVRender =new UniqueValueRendererClass();

List<string> pFieldValues=new List<string>();

pFieldValues.Add("Hospital 2");
pFieldValues.Add(
"School 1");

pFieldValues.Add(
"Airport");

for(int i=0;i<pFieldValues.Count;i++)
{

ISymbol pSymbol=new SimpleMarkerSymbolClass();
pSymbol =GetSymbol(
@"C:\Program Files\ArcGIS\Styles\ESRI.ServerStyle","MarkerSymbols",pFieldValues【i】);

//添加唯一值符号化字段值和相对应的符号
pUVRender.AddValue(pFieldValues,pFieldValues,pSymbol);

}

//设置唯一值符号化的字段个数和字段名
pUVRender.FieldCount = 1;

pUVRender.set_Field(0,"类别");

IGeoFeatureLayer pGFeatureLyr = pFeatureLayeras IGeoFeatureLayer;

//设置IGeofeatureLayer的Renderer属性
pGFeatureLyr.Renderer = pUVRender
asIFeatureRenderer;
    }

    catch (Exception Err)
    {

MessageBox.Show(Err.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
    }

}
privatevoid button1_Click(object sender,EventArgs e)
{

    IFeatureLayer pFeatureLayer =this.axMapControl1.get_Layer(0)as IFeatureLayer;

    UniqueValueRenderFlyr(pFeatureLayer);

    this.axMapControl1.Refresh();

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载ArcGIS地质符号库,您可以按照以下步骤进行操作: 1. 首先,打开ArcGIS软件并登录到您的账户。如果您还没有账户,可以去Esri官方网站注册一个免费试用账户。 2. 在ArcGIS软件的主界面上,找到并点击“地理处理工具箱”按钮。该按钮通常位于工具栏的顶部或名称栏的右侧。 3. 在地理处理工具箱中,搜索并找到“地理数据处理”分类。展开该分类,并找到“符号”工具。 4. 双击“符号”工具,弹出符号制作器对话框。 5. 在符号制作器对话框中,您可以选择“地质符号”作为您要制作的符号库类型。然后,点击“设置符号库”按钮。 6. 在设置符号库的窗口中,您可以选择从在线资源下载符号库,也可以选择从本地文件导入符号库。如果您选择在线下载,可以浏览Esri官方网站或ArcGIS应用商店等资源,找到并下载您所需的地质符号库。如果您选择从本地导入,则需要从您的计算机中选择已下载的符号库文件。 7. 完成符号库的选择后,点击“确定”按钮,返回到符号制作器对话框。 8. 在符号制作器对话框中,您可以根据需要进行符号的编辑和制作。您还可以选择将符号保存到您的个人或共享符号库中。完成符号编辑后,点击“应用”按钮,然后关闭符号制作器对话框。 9. 至此,您已经成功下载和制作了地质符号库。您可以在ArcGIS软件中的符号选择器中找到并使用这些符号库。 请注意,下载地质符号库可能需要订阅或购买相应的ArcGIS许可证。确保您具备相应的许可证或与您的ArcGIS管理员联系以获取许可证信息。 ### 回答2: 要下载ArcGIS的地质符号库,可以按照以下步骤进行操作: 1. 打开ArcGIS软件,进入主界面。 2. 在主界面上方的菜单栏中选择“插入”选项,然后从下拉菜单中选择“符号”选项。 3. 弹出的“符号选择器”窗口中,可以看到左侧有多个符号库的选项。选择“地质符号库”选项。 4. 在右侧的窗口中,会显示可供选择的地质符号库。可以按照自己需要的地质领域进行选择,如地层、构造、震源等。 5. 点击选择的地质符号库,然后点击下方的“添加”按钮,将该符号库添加到当前地图中。 6. 符号库添加完成后,可以在导航栏的“符号”选项卡中查看和管理已添加的地质符号。 7. 如果需要下载其他地质符号库,可以在ArcGIS官方网站或其他GIS资源网站上搜索并下载相应的符号库文件。 8. 下载完成后,将符号库文件保存到本地电脑上,然后按照步骤2-5的方法将其添加到ArcGIS软件中即可使用。 总结起来,下载ArcGIS的地质符号库主要是通过ArcGIS软件内置的符号选择器进行操作,也可以从官网或其他资源网站下载符号库文件后添加到软件中使用。这样可以方便地在地图制作和分析中应用各种地质符号,提高地质数据的可视化效果和表达能力。 ### 回答3: 要下载 ArcGIS 地质符号库,可以按照以下步骤操作: 1. 首先,打开 ArcGIS 软件,并登录到你的账户。 2. 在软件界面上方的菜单栏中,选择 "插入" 选项,然后在下拉菜单中选择 "符号化" 选项。 3. 在弹出的符号化窗口中,点击左下方的 "其他符号集" 选项,接着点击 "浏览" 按钮。 4. 在打开的文件浏览器中,浏览到保存地质符号库的文件路径。你可以通过在搜索引擎上搜索 "ArcGIS 地质符号库下载" 来找到可用的符号库文件。 5. 找到符号库文件后,选择它并点击 "打开" 按钮,ArcGIS 软件将加载该文件中的地质符号。 6. 一旦符号库被加载,你可以在符号化窗口中通过选择地质符号集来使用这些符号。你可以根据需要进行符号化设置并应用到地图图层上。 需要注意的是,确保下载的符号库文件与你使用的 ArcGIS 软件版本兼容。如果有更新的符号库版本可用,建议使用最新版本以获得更全面和准确的地质符号。 以上是关于 ArcGIS 地质符号库下载的简要解答,具体的步骤可能有所不同,取决于你使用的软件版本和符号库文件的来源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值