zoukankan      html  css  js  c++  java
  • 关于调用ArcGIS中GP工具Erase等得不到结果解决方法

    关于调用ArcGISGP工具.EraseSymDiff

    得不到生成结果问题解决方法

    / 3echo

    一、问题描述:

    最近在做一个数据检查工具,检查空间数据拓扑关系的正确性,我使用以下代码实现图形擦除效果、图形差集效果,总是得不到生成结果文件,觉得非常奇怪。

    1、  擦除效果代码

    Erase tErase = new Erase();

    tErase.in_features = tInfeatures;                  //待擦除图层

    tErase.erase_features = tEraseFeatures;            //擦除图层

    tErase.out_feature_class = strFileName;            //输出文件路径

    tErase.cluster_tolerance = this.m_Tolerance;       //容差值

     

    2、   差集效果代码  

    SymDiff tSymDiff = new SymDiff();

    tSymDiff.in_features = tInfeatures;

    tSymDiff.update_features = tupdatefeatures;

    tSymDiff.out_feature_class = strFileName;

    tSymDiff.cluster_tolerance = "0.01";           // this.m_Tolerance; 

    tSymDiff.join_attributes = "ALL";

     

    二、问题分析

    得到不生成结果文件有几中可能情况,一种是参数设置不正确,如容差值应该为数字型的文字,如果弄成文本型文字,就是出现得不到生成结果文件的情形;第二种是要素类设置不正确。

    我仔细核对了这两种情形,发现自己写的代码确实是没有问题,但是就是出不来结果,真是奇怪了。

    三、问题解决

    最后发现是license授权问题,我们在程序启动运行时,如果将权限设置低于ArcInfo,都会得不到生成结果,不信你可以利用ArcMap试试看。所以这就要求我们在初始化License时要授予正确的权限。

  • 相关阅读:
    STM32F103RCT6项目RAM&ROM占用分析
    STM32使用jasson库程序卡死(freeRTOS/标准库)
    STM32使用OLED模块(SSD1306):OLED_DrawBMP()
    C语言内存管理
    C语言指针
    C语言数组
    C语言循环结构
    C语言函数
    C语言选择结构
    C语言运算符与表达式
  • 原文地址:https://www.cnblogs.com/3echo/p/1600793.html
Copyright © 2011-2022 走看看