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

小编给大家分享一下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工程矢量图层批量修改”有了一定的了解,如果想了解更多相关知识,欢迎关注编程之家行业资讯频道,感谢各位的阅读!

相关文章

蚂蚁庄园小课堂2024年6月29日答案是什么?进入支付宝一起饲养...
谷歌小恐龙怎么调出来,我们将连接电脑的网络拔掉或者禁用网...
蚂蚁庄园小课堂2024年6月22日答案是什么?每天蚂蚁庄园小课堂...
火绒为什么不建议大家用,火绒对于用户的要求比较高,查杀病...
百度网盘电脑版订阅的分享在哪?百度网盘电脑版订阅的分享在什...
notepad怎么替换换行符,打开notepad++软件,点击菜单栏的视...