示例#1
0
 private FetClassProperty GetFetClassProperty()
 {
     try
     {
         string instanceId = _instanceIdentify.Id.ToString();
         string fetclassId = _fetclassIdentify.Id;
         Dictionary <string, string> args = new Dictionary <string, string>();
         args.Add(HttpCommands.cstArgNameCommand, HttpCommands.cstArgCmdGetFetClassProperty);
         args.Add(HttpCommands.cstArgInstanceId, instanceId);
         args.Add(HttpCommands.cstArgFetClassId, fetclassId);
         string url = HttpCommands.GetCatalogUrlPage(_uri, HttpCommands.cstCatalogPage);
         url = HttpCommands.GetCatalogUrl(url, args);
         object           obj = GetObjectFromHttpStream.GetObject(url);
         FetClassProperty pro = obj as FetClassProperty;
         if (pro == null)
         {
             throw new Exception("获取要素类\"" + _name + "\"的属性对象失败。");
         }
         return(pro);
     }
     catch (Exception ex)
     {
         Log.WriterException(ex);
         return(null);
     }
 }
示例#2
0
        protected override void Init()
        {
            FetClassProperty pro = GetFetClassProperty();

            if (pro != null)
            {
                _fields       = pro.Fields;
                _fullEnvelope = pro.FullEnvelope.Clone() as Envelope;
                _shapeType    = pro.ShapeType;
                _spatialRef   = pro.SpatialReference;
                _coordType    = pro.CoordinateType;
                _featureCount = pro.FeatureCount;
                if (_shapeType == enumShapeType.Point)
                {
                    TryAdjustGridDefinition();
                }
                _gridStateIndicator = new GridStateIndicator(_fullEnvelope.Clone() as Envelope, _gridDefinition);
                _fullGridCount      = _gridStateIndicator.Width * _gridStateIndicator.Height;
                _isInited           = true;
            }
        }