igis导出地图步骤的简单介绍

2024-05-02 GIS 77
A⁺AA⁻

本篇文章给大家谈谈igis导出地图步骤,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

目录一览:

如何利用ArcServer实现地图查询

首先引入相应的命名空间:

using ESRI.ArcGIS.ADF;

using ESRI.ArcGIS.ADF.Connection;

using ESRI.ArcGIS.ADF.Connection.AGS;

微信号:MeetyXiao
添加微信好友, 获取更多信息
复制微信号

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中去。

igis导出地图步骤的简单介绍

sql脚本导入数据库,数据库sql脚本如何导入

*** /步骤

1

【之一导入数据结构】

打开本地计算机上的

sql

server

management

studio

客户端软件:

2

本地电脑:登陆本机数据库连接控制端:

3

选择您要导出到服务器的数据库然后鼠标右键:选择生成sql脚本:

4

选中本地电脑需要导出脚本的库名字

5

需要选择选择兼容sql2005的版本的脚本:

修改sql脚本的保存路径:记录下这个路径

查看生产脚本生成的选项:

成功生成sql脚本:并记录下脚本导出的路径

连接到虚拟主机提供的目标数据库服务器:

并点击新建查询,拷贝您导出的

sql

脚本代码(此代码为之一步导出的sql脚本代码)到上图显示的查询分析器中,点击分析脚本,如果没有语法错误,就点击执行脚本,直到执行完毕。

【导入数据结构完毕】

【第二:导入数据库数据】

下面咱们开始导入数据库表中的数据:登陆您本地的数据库:

点击您本地计算机上的数据库右键-任务-导出数据:

选择目标数据库,如下添加虚拟主机提供给您的数据库信息(服务器地址,用户名,密码,数据库):

点击下一步,点击下一步,选中所有表,并确保“目标”

点击下一步,直到执行完毕:这样你的本地数据库就导入到虚拟主机上了

【导入数据库数据完毕】

您好,请问百度地图要多少金币才能一个月得15元呢?

别想了,想其他 *** 赚这15吧,百度地图还是好点,搜狗地图的分,就是坑,用不用都一样,就跟推销是的

关于igis导出地图步骤和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

客服微信号码

客服微信号码

客服微信号码

客服微信号码

留言咨询
提交留言

您将免费获得

  • 全面诊断

    您将获得专家对您公司申请资质所需条件的全面诊断服务,我们不同于传统代办公司,仅是提供一些通用的,浅显的建议

  • 找出疏忽点

    我们在了解您公司的基本情况之后,将挖掘出您公司目前不利于资质申请的疏忽点,还将详细说明您在申请资质时应当改善的确切的事项。

  • 分析需求

    我们通过丰富的从业经验,结合目前的实际情况,确认好符合您实际经营情况的资质需求。

  • 定制方案与报价

    对您的需求深入了解后,将结合您公司目前的情况,我们将为您量身定制一份资质代办方案及报价单。

获取方案

×
请设置您的cookie偏好
欢迎来到资质参谋
我们希望在本网站上使用cookie,以便保障本网站的安全、高效运转及服务优化,有关我们使用cookie的更多信息,请点击查看了解更多。
接收Cookies
决绝Cookies