public override void BeginRead() { try { IUniversalVectorDataReader udr = VectorDataReaderFactory.GetUniversalDataReader(_fileUrl); _reader = udr as IVectorFeatureDataReader; _reader.SetArgsOfLeveling(_argOfLeveling); _readIsFinished = false; } finally { if (GlobalCacher.VectorDataGlobalCacher != null && GlobalCacher.VectorDataGlobalCacher.IsEnabled && GlobalCacher.VectorDataGlobalCacher.IsGllPrjOfActiveViewer) { GlobalCacher.VectorDataGlobalCacher.Request(_fileUrl); } } }
private bool ResFieldIsOK(out IVectorFeatureDataReader vdr) { vdr = null; IUniversalVectorDataReader udr = VectorDataReaderFactory.GetUniversalDataReader(_shapefile); if (udr == null) { return(false); } vdr = udr as IVectorFeatureDataReader; string[] fields = vdr.Fields; if (fields == null || fields.Length == 0) { return(false); } for (int i = 0; i < fields.Length; i++) { fields[i] = fields[i].ToUpper(); } foreach (FieldMap map in _fieldMaps) { if (map.ResField.FieldName.ToUpper() == "SHAPE.X") { continue; } if (map.ResField.FieldName.ToUpper() == "SHAPE.Y") { continue; } if (Array.IndexOf(fields, map.ResField.FieldName.ToUpper()) < 0) { return(false); } } return(true); }