全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
要打开一个数据库,也就意味着我们要得到那个工作空间,而工作空间是一个普通类,也就意味着我 们只能从其他类来得到这个工作空间,这个类就是工作空间工厂(WorkspaceFactory),而这个类又是一个 抽象类,也就意味着我们只能使用它的子类来实例化一个对象,WorkspaceFactory 有众多的子类,我们可 以从 OMD 图中获得,如下图:
在这里说明下,shapefile 是 Esri 早期的空间数据格式,以文件管理, shapefile 文件所在的文件夹也被抽象为一个 workspace,相应的要的 到 shapefile,就要用到 shapefileworkspacefactory 这个工厂对象。
IWorkSpaceFactory 是 Geodatabase 的入口,它定义了数据库的通用属性,比如打开,创建等,我们在 ArcGIS
Engine 的帮助中可以详细的得到它的信息,如下图:
打开个人数据库
public IWorkspace GetMDBWorkspace (String_pGDBName)
{
IWorkspaceFactory pWsFac = new AccessWorkspaceFactoryClass ();
IWorkspace pWs = pWsFac.OpenFromFile (_pGDBName,0);
return pWs;
}
打开文件数据库
public IWorkspace GetFGDBWorkspace (String_pGDBName)
{
IWorkspaceFactory pWsFac = new FileGDBWorkspaceFactoryClass ();
IWorkspace pWs = pWsFac.OpenFromFile (_pGDBName, 0);
return pWs;
}
打开SDE数据库
打开 SDE 数据库我们使用的是 Open 方法,要用这个方法,我们就要对 IPropertySet 对象设置,要打开 SDE 数据库,我们要获取 SDE 数据库的服务器地址,数据库实例,数据库,用户,密码等参数。而 IPropertySet 就好比一个 Key-Value 的对象,用来帮组我们设置这些,然后传到 Open 方法中。
public IWorkspace GetSDEWorkspace (String_pServerIP, String_pInstance, String _pUser, String_pPassword, String_pDatabase, String_pVersion)
{
ESRI.ArcGIS.esriSystem.IPropertySet pPropertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass ();
pPropertySet.SetProperty ("SERVER", _pServerIP);
pPropertySet.SetProperty ("INSTANCE", _pInstance);
pPropertySet.SetProperty ("DATABASE", _pDatabase);
pPropertySet.SetProperty ("USER", _pUser);
pPropertySet.SetProperty ("PASSWORD", _pPassword);
pPropertySet.SetProperty ("VERSION", _pVersion);
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2 workspaceFactory;
workspaceFactory = (ESRI.ArcGIS.Geodatabase.IWorkspaceFactory2) new ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass ();
return workspaceFactory.Open (pPropertySet, 0);
}
注意,打开 SDE 数据库需要用到 ArcGIS Engine 运行时的企业级许可。