ArcGIS Server 9.2数据加载 )

简介:
Comments - 446 

ArcGIS Server 9.2数据加载

 

过去的几个月内对基于Arc GIS Server9.2的 开发有所接触,这也是第一次真正自己动手作 WebGIS的开发,期间遇到诸多问题。最突出的就是二次开发WebGIS的部署问题,以及字符集冲突的问题。问题描述分别见《请教 ArcGIS server 9.2做的题目的部署问题》与《??Arcgis Server DotNet Web ADF 模板例子改变字符集后出现的问题》。同意的问题在 ESRI BBS也有提问,由于时间断断续续这些问题一直没有找到很好的办法,最近几天才解决,故在此总结一下。

1、关于部署时地图 数据源问题的解决:
在web.config中添加一个地图数据源节,部署时只要修改web.congfig中的值就ok了,呵呵。就是请教一文中说的第2种方法,感觉很早就应该这么搞了,简直一劳永逸,所有用到地图资源的地方都可以共享。具体如下。在web.config文件中:

<appSettings>
    <!--地图数据源-->
    <add key="MapDataSource" value ="MyHost"/>
< /appSettings>

在某个类假设是CommonUntility中加几个static方法,当然也可以把许多地图资源访问操作封装在这里了。

 

过去的几个月内对基于Arc GIS Server9.2的 开发有所接触,这也是第一次真正自己动手作 WebGIS的开发,期间遇到诸多问题。最突出的就是二次开发WebGIS的部署问题,以及字符集冲突的问题。问题描述分别见《请教 ArcGIS server 9.2做的题目的部署问题》与《??Arcgis Server DotNet Web ADF 模板例子改变字符集后出现的问题》。同意的问题在 ESRI BBS也有提问,由于时间断断续续这些问题一直没有找到很好的办法,最近几天才解决,故在此总结一下。

1、关于部署时地图 数据源问题的解决:
在web.config中添加一个地图数据源节,部署时只要修改web.congfig中的值就ok了,呵呵。就是请教一文中说的第2种方法,感觉很早就应该这么搞了,简直一劳永逸,所有用到地图资源的地方都可以共享。具体如下。在web.config文件中:

<appSettings>
    <!--地图数据源-->
    <add key="MapDataSource" value ="MyHost"/>
< /appSettings>

在某个类假设是CommonUntility中加几个static方法,当然也可以把许多地图资源访问操作封装在这里了。
 

ContractedBlock.gif ExpandedBlockStart.gif Code
using System;
using System.Collections.Generic;
using System.Web;
using ESRI.ArcGIS.ADF.Web.UI.WebControls;
using System.Configuration;
using ESRI.ArcGIS.ADF.Web;

/// <summary>
///MapHelper 的摘要说明
/// </summary>
public class MapHelper
{
    
public MapHelper()
    {
        
//
        
//TODO: 在此处添加构造函数逻辑
        
//
    }
    
static MapResourceManager m_MapResourceManager;

    
public static MapResourceItem resourceItem;//地图数据源
    string QueryLayer;//图层名
    
//设置地图数据源

    
private static void setResourMng()
    {

        
if (resourceItem != null)
        {
            
return;
        }
        resourceItem 
= new MapResourceItem();
        resourceItem.Name 
= "地图";
        resourceItem.Definition 
= new GISResourceItemDefinition();

        
//获取地图数据源

        
string MapDataSource = ConfigurationManager.AppSettings["MapDataSource"];
        resourceItem.Definition.DataSourceDefinition 
= MapDataSource;
        resourceItem.Definition.DataSourceType 
= "ArcGIS Server Local";

        resourceItem.Definition.ResourceDefinition 
= ConfigurationManager.AppSettings["ResourceDefinition"];
        resourceItem.Definition.DataSourceShared 
= true;

        resourceItem.DisplaySettings 
= new DisplaySettings();
        resourceItem.DisplaySettings.DisplayInTableOfContents 
= true;
        resourceItem.DisplaySettings.Visible 
= true;

        m_MapResourceManager 
= new MapResourceManager();
        m_MapResourceManager.ResourceItems.Insert(m_MapResourceManager.ResourceItems.Count, resourceItem);
        m_MapResourceManager.CreateResource(resourceItem);
        resourceItem.InitializeResource();
    }

    
//获取ResourceItem


    
public static MapResourceItem GetResourceItem()
    {
        setResourMng();
        
return resourceItem;
    }

}
使用方法:
ContractedBlock.gif ExpandedBlockStart.gif Code
 if (!Page.IsCallback && !Page.IsPostBack)
        {
            
if (MapHelper.resourceItem == null)
                MapResourceManager1.ResourceItems.Add(MapHelper.GetResourceItem());
            
//Map1控件的MapResourceManager检查
            if (Map1.MapResourceManager == null || Map1.MapResourceManager.Length == 0)
            {
                MapResourceManager1.ResourceItems.Add(MapHelper.GetResourceItem());
            }
            
//MapResourceManager1控件的ResourceItems检查
            if (MapResourceManager1.ResourceItems.Count == 0 || MapResourceManager1.ResourceItems[0== null)
            {
                MapResourceManager1.ResourceItems.Add(MapHelper.GetResourceItem());
            }
        }
2、关于字符集问题的解决:
此问题最开始是因为html用的gb2312,而aspx用的utf-8,这样存在一个矛盾:
a、当webconfig用gb2312时从html到aspx的提交正常,数据库操作能够正确完成,但是Arcgis server自带的例子的编辑功能无法正常进行,操作中出现脚本错误。
b、当把webconfig改成utf-8时,编辑正常但是html到aspx的提交出现问题,aspx页面无法从html中获取参数。
此前的错误就是因为js,html,aspx的编码都不完全一致导致。试验发现:
1)、html不需要更改编码,只改写<meta http-equiv="Content-Type" c />中的charset即可。
2)、js的编码可以用UE或者vs.net编辑器更改,aspx似乎由webconfig的配置来决定。
3)、用ArcGIS Server时web.config最好用utf-8.
版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

posted @ 2009-02-11 13:43 温景良(Jason) Views( 598) Comments( 0) Edit 收藏
 

公告

 
本文转自  

我的程序人生博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2009/02/11/1388170.html,如需转载请自行联系原作者

 
相关文章
|
9月前
|
定位技术 数据格式
GIS开发:arcgis server发布CGCS2000切片
GIS开发:arcgis server发布CGCS2000切片
154 0
|
12月前
|
缓存 定位技术
GIS开发:arcgis server切片数据和wmts
GIS开发:arcgis server切片数据和wmts
124 0
openlayer2 二:加载arcgis server图层
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/80755803 1.
1490 0
|
SQL Oracle 网络协议
从零开始发布一个ArcGIS Server地图服务
从零开始发布一个ArcGIS Server地图服务
402 0
从零开始发布一个ArcGIS Server地图服务
arcgis server 修改IP后服务无法启动
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/80081665 ip修改后会出现服务无法启动的现象,亲测解决方法如下: 找到Server站点的配置目录下的“arcgisserver\config-store\machines”目录。
1538 0