Beispiel #1
0
        private enumCoordinateType GetCoordinateType(SpatialFeatureClass spatialFeatureClass, out ISpatialReference spref)
        {
            spref = null;
            try
            {
                ISpatialReference rf = SpatialReferenceFactory.GetSpatialReferenceByPrjFile(spatialFeatureClass.SpatialRef) as ISpatialReference;
                spref = rf;
                if (rf == null)
                {
                    goto ensureByEnvelopeLine;
                }
                if (rf.ProjectionCoordSystem == null)
                {
                    return(enumCoordinateType.Geographic);
                }
                else
                {
                    return(enumCoordinateType.Projection);
                }
            }
            catch
            {
                goto ensureByEnvelopeLine;
            }
ensureByEnvelopeLine:
            return(spatialFeatureClass.Envelope.IsGeoRange() ? enumCoordinateType.Geographic : enumCoordinateType.Projection);
        }
Beispiel #2
0
 public FetClassIdentify[] GetFetClassIdentify()
 {
     using (CatalogEntityClassFeatureClass c = new CatalogEntityClassFeatureClass(_connectionString))
     {
         SpatialFeatureClass temp = new SpatialFeatureClass();
         return(GetFetClassIdentify(c.Query("length(datasetid)=0")));
     }
 }
Beispiel #3
0
        private void DisplayFeatureClass(CatalogFeatureClass catalogFeatureClass)
        {
            SpatialFeatureClass   fetclass = catalogFeatureClass.Tag as SpatialFeatureClass;
            FeatureDataSourceBase ds       = new SpatialDbDataSource(fetclass.Name, fetclass.ConnString + "@" + fetclass.DataTable);
            FeatureClass          fetc     = new FeatureClass(ds);
            IFeatureLayer         lyr      = new FeatureLayer(fetclass.Name, fetc);
            IMap map = new Map(new IFeatureLayer[] { lyr });

            mapControl1.Apply(map);
            mapControl1.ReRender();
        }
Beispiel #4
0
 private string[] GetFieldsBySpatialFetClass(SpatialFeatureClass spatialFeatureClass)
 {
     using (IDbConnection dbConn = DbConnectionFactory.CreateDbConnection(_connectionString))
     {
         dbConn.Open();
         DiffDbAdapter             _adapter   = DiffDbAdapterFactory.GetDiffDbAdapter(dbConn);
         string                    shapeField = null;
         string                    oidfield   = null;
         Dictionary <string, Type> fields     = _adapter.GetFieldsOfTable(dbConn, spatialFeatureClass.DataTable, out shapeField, out oidfield);
         return(fields.Keys.ToArray());
     }
 }
Beispiel #5
0
        private FetClassProperty SpatialFeatureClassToProperty(SpatialFeatureClass spatialFeatureClass)
        {
            FetClassProperty  p     = new FetClassProperty();
            ISpatialReference spref = null;

            p.CoordinateType   = GetCoordinateType(spatialFeatureClass, out spref);
            p.Fields           = GetFieldsBySpatialFetClass(spatialFeatureClass);
            p.FullEnvelope     = spatialFeatureClass.Envelope;
            p.Name             = spatialFeatureClass.Name;
            p.ShapeType        = spatialFeatureClass.ShapeType;
            p.SpatialReference = spref;
            p.FeatureCount     = spatialFeatureClass.FeatureCount;
            return(p);
        }