本篇文章给大家谈谈igis导出地图步骤,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
目录一览:
如何利用ArcServer实现地图查询
首先引入相应的命名空间:
using ESRI.ArcGIS.ADF;
using ESRI.ArcGIS.ADF.Connection;
using ESRI.ArcGIS.ADF.Connection.AGS;
添加微信好友, 获取更多信息
复制微信号
using ESRI.ArcGIS.Server;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Geodatabase;
1.指定连接用的用户。
ESRI.ArcGIS.ADF.Identity id = new ESRI.ArcGIS.ADF.Identity();
id.UserName = "Administrator";
id.Password = "password";
id.Domain = "服务器的计算机名字";
string agsServerName = "服务器的IP地址";
2.连接到服务器。
要通过程序来连接到GISServer,主要有两个对象可以使用:ESRI.ArcGIS.Server.GISServerConnection(实现了IGISServerConnection2接口)和ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection。前者是com对象,后者是原生的.net对象。
先来看ESRI.ArcGIS.Server.GISServerConnection。使用 *** 如下:
ESRI.ArcGIS.Server.IGISServerConnection2 pGISSC = new ESRI.ArcGIS.Server.GISServerConnectionClass();
pGISSC.Connect("yourservername");
ESRI.ArcGIS.Server.IServerObjectAdmin pAdm = pGISSC.ServerObjectAdmin;
注意,要成功获得pGISSC.ServerObjectAdmin属性得有一个前提条件,就是运行当前AGS程序的用户必须是agsadmin组里的成员。那么接下来就可以通过IServerObjectAdmin来对GISServer进行管理了;如果运行当前AGS程序的用户只是agsuser组里的成员,那么你只能获得ServerObjectManager,从而通过IServerObjectManager来创建AO对象,但是不能对GISServer进行管理;如果运行当前AGS程序的用户既不是agsuser成员也不是agsadmin成员,那么在connect的时候就会报错了。可以看出ESRI.ArcGIS.Server.GISServerConnection对象不能显式指定连接GIS Server的用户。
下面再来看ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection。这是ADF中的.net对象,通常推荐使用这个对象来进行连接工作,因为它可以指定使用特定的账户身份来连接GIS Server,就是下面的Identity:
ESRI.ArcGIS.ADF.Identity identity = new ESRI.ArcGIS.ADF.Identity("username", "password", "domain");
ESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection agsconnection = newESRI.ArcGIS.ADF.Connection.AGS.AGSServerConnection("yourgisservername",identity);
agsconnection.Connect();
ESRI.ArcGIS.Server.IServerObjectAdmin pAdm = agsconnection.ServerObjectAdmin;
同样的,要成功获得pAdm,Identity中指定的用户必须是agsadmin成员。如果你的网站,在调试时可以运行,而发布后“拒绝访问”,那么首先检查web.config的identity,如果使用了以上代码,请确保使用的user在正确的用户组中。
这里我就采用之一种 *** ,如下:
AGSServerConnection agsConn = new AGSServerConnection(agsServerName, id);
try
{
agsConn.Connect();
if (!agsConn.IsConnected)
{
agsConn.Dispose();
return "";
}
}
catch (Exception ex)
{
return "";
}
3.获取SOM对象。
IServerObjectManager som = agsConn.ServerObjectManager;
4.设置对应的地图名字和服务类型,获取上下文(IServerContext)
要获取当前的severContext。而获取IServerContext有两种 *** :
1)、通过当前Resorces得到
UIComponent form = facesContext.getViewRoot().findComponent((String)paramMap.get("formId"));
if (form == null)
{
return;
}
MapControl mapControl = (MapControl)form.findComponent((String)paramMap.get("mapId"));
if (mapControl == null)
{
return;
}
WebMap webMap = mapControl.getWebMap();
WebContext webContext = webMap.getWebContext();
// 得到当前服务的IServerContext
AGSLocalMapResource mapResource = (AGSLocalMapResource)webContext.getResources().get("ags1");
MapServer mapServer = mapResource.getLocalMapServer();
IServerContext serverContext =mapResource.getServerContext();
2)、通过IP链接得到(也就是我要用的 *** )
IServerObjectManager som = agsConn.ServerObjectManager;
string servertype = "MapServer";
string serverobjectname = "GZ"; //对应的地图名
IServerContext severContext = som.CreateServerContext(serverobjectname, servertype);
IMapServer pMapServer = severContext.ServerObject as IMapServer;
IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects;
IMap pMap =pMapServerObjs.get_Map(pMapServer.DefaultMapName);
5.获取IMapServerObjects
IMapServer pMapServer = severContext.ServerObject as IMapServer;
IMapServerObjects pMapServerObjs = pMapServer as IMapServerObjects;
6.通过IMapServerObjects获取IMap对象
IMap pMap = pMapServerObjs.get_Map(pMapServer.DefaultMapName);
7.获取要查询的图层和属性
//得到查询的图层
ILayer workAreaLayer = pMap.get_Layer(7);
IFeatureLayer loopFeatureLayer = (FeatureLayer)(workAreaLayer);
IFeatureClass loopFeatureClass =loopFeatureLayer.FeatureClass;
8.设置查询用的Filter
ISpatialFilter spatialFilter = (ISpatialFilter)severContext.CreateObject("esriGeoDatabase.SpatialFilter");
string shpFld = loopFeatureClass.ShapeFieldName;
spatialFilter.GeometryField = shpFld;
//指定要使用的空间操作
spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;
//创建where表达式,这里只要要素
spatialFilter.WhereClause = "图号='" + no + "'";
IQueryFilter queryFilter=new QueryFilterClass();
queryFilter = (IQueryFilter)spatialFilter;
9.调用Search查询
IFeatureCursor featureCursor = loopFeatureClass.Search(queryFilter, false);
//之一个返回的要素
IFeature feature = featureCursor.NextFeature();
10.处理结果
IGeometry geo = feature.Shape;
string box = geo.Envelope.XMin.ToString() + "," + geo.Envelope.YMin.ToString();
box += "," + geo.Envelope.XMax.ToString() + "," + geo.Envelope.YMax.ToString();
这个Shape是查询结果中之一个地物的外接矩形,大家可以根据自己的业务使用。这里我是要使用Shape的左下和右上两个坐标点,拼接到WMS中去。
sql脚本导入数据库,数据库sql脚本如何导入
*** /步骤
1
【之一导入数据结构】
打开本地计算机上的
sql
server
management
studio
客户端软件:
2
本地电脑:登陆本机数据库连接控制端:
3
选择您要导出到服务器的数据库然后鼠标右键:选择生成sql脚本:
4
选中本地电脑需要导出脚本的库名字
5
需要选择选择兼容sql2005的版本的脚本:
修改sql脚本的保存路径:记录下这个路径
查看生产脚本生成的选项:
成功生成sql脚本:并记录下脚本导出的路径
连接到虚拟主机提供的目标数据库服务器:
并点击新建查询,拷贝您导出的
sql
脚本代码(此代码为之一步导出的sql脚本代码)到上图显示的查询分析器中,点击分析脚本,如果没有语法错误,就点击执行脚本,直到执行完毕。
【导入数据结构完毕】
【第二:导入数据库数据】
下面咱们开始导入数据库表中的数据:登陆您本地的数据库:
点击您本地计算机上的数据库右键-任务-导出数据:
选择目标数据库,如下添加虚拟主机提供给您的数据库信息(服务器地址,用户名,密码,数据库):
点击下一步,点击下一步,选中所有表,并确保“目标”
点击下一步,直到执行完毕:这样你的本地数据库就导入到虚拟主机上了
【导入数据库数据完毕】
您好,请问百度地图要多少金币才能一个月得15元呢?
别想了,想其他 *** 赚这15吧,百度地图还是好点,搜狗地图的分,就是坑,用不用都一样,就跟推销是的
关于igis导出地图步骤和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。