• 拓扑规则翻译函数(转)


    把拓扑规则翻译成中文的函数:

    [csharp] view plain copy
     
    1. private string PRV_Translate(string IN_RuleName)  
    2.       {  
    3.           switch (IN_RuleName)  
    4.           {  
    5.               case "esriTRTAreaNoGaps" :  
    6.                   return "面要素之间无空隙";  
    7.                     
    8.   
    9.               case "esriTRTAreaNoOverlap":  
    10.                   return "面要素间无重叠";  
    11.                     
    12.               case "esriTRTAreaCoveredByAreaClass":  
    13.                   return "第二个图层面要素必须被第一个图层任一面要素覆盖";  
    14.                     
    15.               case "esriTRTAreaContainOnePoint":  
    16.                   return "面要素必须只包含一个点要素";  
    17.                     
    18.               case "esriTRTAreaAreaCoverEachOther":  
    19.                   return "两图层面要素必须互相覆盖";  
    20.                     
    21.               case "esriTRTAreaCoveredByArea":  
    22.                   return "第一个图层面要素必须被第一个图层任一面要素包含";  
    23.                     
    24.               case "esriTRTAreaNoOverlapArea":  
    25.                   return "图层间面要素不能相互覆盖";  
    26.                     
    27.               case "esriTRTLineCoveredByAreaBoundary":  
    28.                   return "线要素必须跟面图层边界的一部分或全部重叠";  
    29.                     
    30.               case "esriTRTPointCoveredByAreaBoundary":  
    31.                   return "点要素必须落在面要素边界上";  
    32.                     
    33.               case "esriTRTPointProperlyInsideArea":  
    34.                   return "点要素必须落在面要素内";  
    35.                     
    36.               case "esriTRTLineNoOverlap":  
    37.                   return "线要素间不能有相互重叠部分";  
    38.                     
    39.               case "esriTRTLineNoIntersection":  
    40.                   return "线要素之间不能相交";  
    41.                     
    42.               case "esriTRTLineNoDangles":  
    43.                   return "线要素不允许有悬挂点";  
    44.                     
    45.               case "esriTRTLineNoPseudos":  
    46.                   return "线要素不允许有假节点";  
    47.                     
    48.               case "esriTRTLineCoveredByLineClass":  
    49.                   return "第一个图层线要素应被第二个线图层线要素覆盖";  
    50.                     
    51.               case "esriTRTLineNoOverlapLine":  
    52.                   return "第一个图层线要素不被第二个线图层线要素覆盖";  
    53.                     
    54.               case "esriTRTPointCoveredByLine":  
    55.                   return "点要素应被线要素覆盖";  
    56.                     
    57.               case "esriTRTPointCoveredByLineEndpoint":  
    58.                   return "点要素应在线要素的端点上";  
    59.                     
    60.               case "esriTRTAreaBoundaryCoveredByLine":  
    61.                   return "面要素边界必须被线要素覆盖";  
    62.                     
    63.               case "esriTRTAreaBoundaryCoveredByAreaBoundary":  
    64.                   return "面要素的边界必须被另一面要素边界覆盖";  
    65.                     
    66.               case "esriTRTLineNoSelfOverlap":  
    67.                   return "线要素不能自重叠";  
    68.                     
    69.               case "esriTRTLineNoSelfIntersect":  
    70.                   return "线要素不能自相交";  
    71.                     
    72.               case "esriTRTLineNoIntersectOrInteriorTouch":  
    73.                   return "线要素间不能重叠和相交";  
    74.                     
    75.               case "esriTRTLineEndpointCoveredByPoint":  
    76.                   return "线要素端点必须被点要素覆盖";  
    77.                     
    78.               case "esriTRTAreaContainPoint":  
    79.                   return "面要素内必须包含至少一个点要素";  
    80.                     
    81.               case "esriTRTLineNoMultipart":  
    82.                   return "线不能是多段";  
    83.                     
    84.               case "esriTRTPointDisjoint":  
    85.                   return "点要素之间不相交";  
    86.                     
    87.               case "esriTRTLineNoIntersectLine":  
    88.                   return "线要素必须不相交";  
    89.                     
    90.               case "esriTRTLineNoIntersectOrInteriorTouchLine":  
    91.                   return "线必须不相交或内部接触";  
    92.                     
    93.               default:  
    94.                   return "其他规则";  
    95.                     
    96.           }  
    97.       }  
     


    从中文翻译到拓扑规则的函数:

    [csharp] view plain copy
     
      1. //根据错误的中文描述转换成esri拓扑枚举  
      2.       private esriTopologyRuleType PRV_ConvertTopologyRuleType(TopoErroType IN_TopoRuleType)  
      3.       {  
      4.           esriTopologyRuleType Temp_TopoRuleType;  
      5.           switch (IN_TopoRuleType)  
      6.           {  
      7.               case TopoErroType.面要素之间无空隙:  
      8.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaNoGaps;  
      9.                   break;  
      10.               case TopoErroType.任何规则:  
      11.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAny;  
      12.                   break;  
      13.               case TopoErroType.要素大于最小容差:  
      14.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTFeatureLargerThanClusterTolerance;  
      15.                   break;  
      16.               case TopoErroType.面要素间无重叠:  
      17.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaNoOverlap;  
      18.                   break;  
      19.               case TopoErroType.第二个图层面要素必须被第一个图层任一面要素覆盖:  
      20.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaCoveredByAreaClass;  
      21.                   break;  
      22.               case TopoErroType.面要素必须只包含一个点要素:  
      23.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaContainOnePoint;  
      24.                   break;  
      25.               case TopoErroType.两图层面要素必须互相覆盖:  
      26.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaAreaCoverEachOther;  
      27.                   break;  
      28.               case TopoErroType.第一个图层面要素必须被第一个图层任一面要素包含:  
      29.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaCoveredByArea;  
      30.                   break;  
      31.               case TopoErroType.图层间面要素不能相互覆盖:  
      32.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaNoOverlapArea;  
      33.                   break;  
      34.               case TopoErroType.线要素必须跟面图层边界的一部分或全部重叠:  
      35.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineCoveredByAreaBoundary;  
      36.                   break;  
      37.               case TopoErroType.点要素必须落在面要素边界上:  
      38.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTPointCoveredByAreaBoundary;  
      39.                   break;  
      40.               case TopoErroType.点要素必须落在面要素内:  
      41.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTPointProperlyInsideArea;  
      42.                   break;  
      43.               case TopoErroType.线要素间不能有相互重叠部分:  
      44.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoOverlap;  
      45.                   break;  
      46.               case TopoErroType.线要素之间不能相交:  
      47.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoIntersection;  
      48.                   break;  
      49.               case TopoErroType.线要素不允许有悬挂点:  
      50.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoDangles;  
      51.                   break;  
      52.               case TopoErroType.线要素不允许有假节点:  
      53.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoPseudos;  
      54.                   break;  
      55.               case TopoErroType.第一个图层线要素应被第二个线图层线要素覆盖:  
      56.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineCoveredByLineClass;  
      57.                   break;  
      58.               case TopoErroType.第一个图层线要素不被第二个线图层线要素覆盖:  
      59.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoOverlapLine;  
      60.                   break;  
      61.               case TopoErroType.点要素应被线要素覆盖:  
      62.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTPointCoveredByLine;  
      63.                   break;  
      64.               case TopoErroType.点要素应在线要素的端点上:  
      65.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTPointCoveredByLineEndpoint;  
      66.                   break;  
      67.               case TopoErroType.面要素边界必须被线要素覆盖:  
      68.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaBoundaryCoveredByLine;  
      69.                   break;  
      70.               case TopoErroType.面要素的边界必须被另一面要素边界覆盖:  
      71.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaBoundaryCoveredByAreaBoundary;  
      72.                   break;  
      73.               case TopoErroType.线要素不能自重叠:  
      74.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoSelfOverlap;  
      75.                   break;  
      76.               case TopoErroType.线要素不能自相交:  
      77.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoSelfIntersect;  
      78.                   break;  
      79.               case TopoErroType.线要素间不能重叠和相交:  
      80.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoIntersectOrInteriorTouch;  
      81.                   break;  
      82.               case TopoErroType.线要素端点必须被点要素覆盖:  
      83.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineEndpointCoveredByPoint;  
      84.                   break;  
      85.               case TopoErroType.面要素内必须包含至少一个点要素:  
      86.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAreaContainPoint;  
      87.                   break;  
      88.               case TopoErroType.线不能是多段:  
      89.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoMultipart;  
      90.                   break;  
      91.               case TopoErroType.点要素之间不相交:  
      92.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTPointDisjoint;  
      93.                   break;  
      94.               case TopoErroType.线要素必须不相交:  
      95.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoIntersectLine;  
      96.                   break;  
      97.               case TopoErroType.线必须不相交或内部接触:  
      98.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTLineNoIntersectOrInteriorTouchLine;  
      99.                   break;  
      100.               default:  
      101.                   Temp_TopoRuleType = esriTopologyRuleType.esriTRTAny;//将此规则赋予拓扑会直接报错  
      102.                   break;  
      103.           }  
      104.           return Temp_TopoRuleType;  
      105.       }  
      106.   
      107.       public enum TopoErroType  
      108.       {  
      109.           任何规则=-1,  
      110.           要素大于最小容差 = 0,  
      111.           面要素之间无空隙 = 1,  
      112.           面要素间无重叠 = 3,  
      113.           第二个图层面要素必须被第一个图层任一面要素覆盖 = 4,  
      114.           两图层面要素必须互相覆盖 = 5,  
      115.           第一个图层面要素必须被第一个图层任一面要素包含 = 7,  
      116.           图层间面要素不能相互覆盖 = 8,  
      117.           线要素必须跟面图层边界的一部分或全部重叠 = 10,  
      118.           线要素必须在面内=11,  
      119.           点要素必须落在面要素边界上 = 13,  
      120.           点要素必须落在面要素内 = 15,  
      121.           面要素必须只包含一个点要素=16,  
      122.           线要素间不能有相互重叠部分 = 19,  
      123.           线要素之间不能相交 = 20,  
      124.           线要素不允许有悬挂点 = 21,  
      125.           线要素不允许有假节点 = 22,  
      126.           第一个图层线要素应被第二个线图层线要素覆盖 = 26,  
      127.           第一个图层线要素不被第二个线图层线要素覆盖 = 28,  
      128.           点要素应被线要素覆盖 = 29,  
      129.           点要素应在线要素的端点上 = 31,  
      130.           点要素之间不相交=34,  
      131.           点要素重合点要素=35,  
      132.           面要素边界必须被线要素覆盖 = 37,  
      133.           面要素的边界必须被另一面要素边界覆盖 = 38,  
      134.           线要素不能自重叠 = 39,  
      135.           线要素不能自相交 = 40,  
      136.           线要素间不能重叠和相交 = 41,  
      137.           线要素端点必须被点要素覆盖 = 42,  
      138.           面要素内必须包含至少一个点要素 = 43,  
      139.           线不能是多段 = 44,  
      140.           线要素必须不相交=45,  
      141.           线必须不相交或内部接触=46  
      142.       };  
  • 相关阅读:
    ES6中的新特性
    怎样优化CPU
    es6 一些小知识
    ECMAScript有6种继承方式(实现继承)
    angula的factory service provider
    angular的继承作用域通信
    MVP和MVC的区别
    判断浏览器版本语句大全
    IScroll5+在ios、android点击(click)事件不兼容解决方法
    css中单位px和em,rem的区别
  • 原文地址:https://www.cnblogs.com/lianghong/p/8194721.html
Copyright © 2020-2023  润新知