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); } }
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; } }