Asp.Net引用Arcengine提供后台GIS服务

来源:互联网 发布:win10网络唤醒关闭 编辑:程序博客网 时间:2024/06/04 19:05

Web前台使用地图瓦片,JS拼装;后台使用asp.net引用Arcengine提供GIS服务。

 

1. 简单点查询

(1)引用

    using ESRI.ArcGIS.Geodatabase;
    using ESRI.ArcGIS.DataSourcesFile;
    using ESRI.ArcGIS.esriSystem;

 

(2)ArcEngine的Licence认证

     IAoInitialize m_AoInitialize = new AoInitializeClass();
     esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
     licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);

 

(3)空间查询或属性查询

               IFeatureClass featureClass = null;
                IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
                IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile("E://shp//shp", 0);
                string LayerName="×××";

                featureClass = pWorkspace .OpenFeatureClass(LayerName);
                ESRI.ArcGIS.Geometry.Point point = new ESRI.ArcGIS.Geometry.PointClass();
                point.X = 100;
                point.Y =  200;
                ISpatialFilter spatialFilter = new SpatialFilterClass();
                spatialFilter.Geometry = point;
                spatialFilter.GeometryField = "shape";
                spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;

                //IQueryFilter queryFilter = new QueryFilterClass();
                //queryFilter.WhereClause = "FID=90";

                int index = featureClass.Fields.FindField("字段名");
                IFeatureCursor featureCursor;
                featureCursor = featureClass.Search(spatialFilter, false);
                IFeature feature = featureCursor.NextFeature();

                while (feature != null)
                {
                    this.Label1.Text = feature.get_Value(index).ToString();
                    feature = featureCursor.NextFeature();
                }

 

原创粉丝点击