zoukankan      html  css  js  c++  java
  • PIE SDK矢量数据的投影转换

     

    1. 功能简介

        目前在地理信息领域中数据包括矢量和栅格两种数据组织形式 ,每一种数据都可以对投影进行转换,目前PIE SDK支持矢量和栅格数据的投影转换功能,下面对矢量数据的投影转换功能进行介绍。

    2. 功能实现说明

    2.1. 实现思路及原理说明

    第一步

    获取需要转换的矢量数据的路径和保存路径

    第二步

    获得转换的空间参考

    第三步

    利用transform()方法进行转换

    2.2. 核心接口与方法

    接口/类

    方法/属性

    说明

    DataSource.DatasetFactory

    OpenFeatureDataset (string path)

    创建要素数据集

    IFeatureDataset

    SpatialReference属性

    获取空间参考

    DataSource.DataSourceUtil

    Transform (…)

    投影转换方法

    2.3. 示例代码

    项目路径

    百度云盘地址下/PIE示例程序/04数据操作/08矢量投影转换

    数据路径

    百度云盘地址下/PIE示例数据/矢量数据/Shape/自定义两个不同坐标系数据即可

    视频路径

    百度云盘地址下/PIE视频教程/04数据操作/08矢量投影转换.avi

    示例代码

     1          /// <summary>
     2         /// 矢量数据投影转换
     3         /// </summary>
     4         /// <param name="sender"></param>
     5         /// <param name="e"></param>
     6         private void toolStripButton_TransformVectorPrj_Click(object sender, EventArgs e)
     7         {
     8             try
     9             {
    10             //1.获取要投影转换的源数据以及转换后的保存位置
    11             OpenFileDialog openFileDialog = new OpenFileDialog();
    12             openFileDialog.Title = "需转换的矢量数据:";
    13             openFileDialog.Filter = "ShapeFile|*.shp";
    14             if (openFileDialog.ShowDialog() != DialogResult.OK) return;
    15             SaveFileDialog saveFileDialog = new SaveFileDialog();
    16             saveFileDialog.Title = "保存为:";
    17             saveFileDialog.Filter = "ShapeFile|*.shp";
    18             if (saveFileDialog.ShowDialog() != DialogResult.OK) return;
    19             string pathSource2 = openFileDialog.FileName;// @"D:data	estmian.shp";
    20             string pathDes2 = saveFileDialog.FileName;// @"D:data	estTransformSave.shp";
    21 
    22             //2.得到参考投影格式数据
    23             OpenFileDialog openFileDialog2 = new OpenFileDialog();
    24             openFileDialog2.Title = "参考投影数据";
    25             openFileDialog2.Filter = "Shape|*.shp";
    26             openFileDialog2.ShowDialog();
    27             string path2 = openFileDialog2.FileName;
    28             IFeatureDataset featureDataSet2 = DatasetFactory.OpenFeatureDataset(path2);
    29             ISpatialReference spatialReference2 = featureDataSet2.SpatialReference;
    30 
    31             //3.进行投影转换
    32             bool bOk = PIE.DataSource.DataSourceUtil.Transform(pathSource2, pathDes2, spatialReference2, 0, null, null, 1, 1);
    33             if (bOk)
    34             {
    35                 MessageBox.Show("矢量数据投影转换成功");
    36             }        
    37             }
    38             catch (Exception ex)
    39             {
    40                 MessageBox.Show(ex.ToString(),"投影数据转换异常");              
    41             }
    42         }
    View Code

    2.4. 示例截图

     

  • 相关阅读:
    SSM框架整合步骤
    Spring-data-jpa
    allure定制报告
    pytest常用选项
    staticmethod&classmethod&property
    __slot__
    python的参数传递
    闭包和装饰器
    内置高阶函数
    str
  • 原文地址:https://www.cnblogs.com/PIESat/p/10168776.html
Copyright © 2011-2022 走看看