温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

TE中如何实现fly工程矢量图层批量修改

发布时间:2022-01-13 16:10:00 来源:亿速云 阅读:116 作者:小新 栏目:大数据

小编给大家分享一下TE中如何实现fly工程矢量图层批量修改,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

       在制作fly的过程中,需要发布网络地址的矢量图层,或者把矢量图层切换到本地地址,TE的打包功能中,并不能将本地地址的矢量图层打包成网络地址,需要手动进行修改,矢量图层数量多的情况下,修改起来还是一个挺大的工作量。

      在TE二次开发的程序中,可以结合fly工程的遍历方法和矢量图层的连接字符串进行批量修改,减少一个一个修改的工作量。

     矢量图层的本地数据连接字符串是以下格式:FileName=矢量图层路径+图层名称;TEPlugName=OGR;

    矢量图层的网络连接字符串,以sfs发布的数据为例:Server=http://ip地址/SFS/streamer.ashx;WFSVersion=1.1.0;LayerName=图层名称;CRS_XY_OR_YX=1;SFS=1;TEPlugName=WFS;

    两种连接字符串中,图层名称在发布的时候保持一致,即可用程序进行替换。

    首先遍历图层的函数,在TE的API中有详细的示例代码,可以去其中查找参考;

   遍历到矢量图层后,可以根据图层id获取到图层 IFeatureLayer66 _flayer = _sgWorld.ProjectTree.GetLayer(treeid);

 string _layerConStr = _flayer.DataSourceInfo.ConnectionString;

    这样就能获取图层的连接字符串,从字符串中查找到图层的名称,把图层的连接字符串替换成新的,即可实现图层连接字符串的更新,更新完的图层需要用代码刷新一下。

 _flayer.DataSourceInfo.ConnectionString = _neturl;

 _flayer.Refresh();

注:连接网络版的图层,需要修改程序能连接到服务器,不然刷新是不能执行的,也不能达到图层的刷新。

TE中如何实现fly工程矢量图层批量修改

看完了这篇文章,相信你对“TE中如何实现fly工程矢量图层批量修改”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI