重写TiledServiceLayer实现Arcgis访问Mapabc地图服务 (转载)
package com.baixin.main;
/**
*
* @ClassName: MapAbcToArcGISTLayer
* @Description: ArcGIS访问MapAbc地图服务
* @author: Zrd
* @version: v1.0
* @Date: 2012-8-11 上午10:18:17
*/
import java.util.HashMap;
import com.esri.android.map.TiledServiceLayer;
import com.esri.core.geometry.Envelope;
import com.esri.core.geometry.Point;
import com.esri.core.geometry.SpatialReference;
import com.esri.core.internal.b.a.a;
public class MapAbcToArcGISTLayer extends TiledServiceLayer {
private int WKID = 2436;
private String layername = null;
private String layerurl = null;
private static final double[] c = { 896.0859375, 548.04296875,
224.02148437, 112.0107421875, 56.00537109375, 28.002685546875,
14.0013427734375, 7.00067138671875, 3.50033569335937,
1.75016784667968, 0.875083923339843, 0.4375419616699215,
0.2187709808349608 };
private static final double[] d = { 3386781.496062992D, 1693390.748031496D,
846695.374015748D, 423347.687007874D, 211673.843503937D,
105836.92175196858D, 52918.46087598425D, 26459.23043799213D,
13229.61521899604D, 6614.807609498003D, 3307.403804749013D,
1653.701902374507D, 826.8509511872533D };
private static final double[] res = { 0.0011159643937610616,
0.0032319287875221232, 0.0044638575750442465, 0.008927715150088493,
0.017855430300176986, 0.03571086060035397, 0.07142172120070794,
0.1428434424014159, 0.2856868848028318, 0.5713737696056635,
1.143547539211327, 2.287295078422654, 4.574490156845308 };
public static final int initWithDpi = 96;
public MapAbcToArcGISTLayer(String layerurl,String layername) {
super(layerurl);
this.layerurl = layerurl;
this.layername = layername;
initLayer();
}
protected void initLayer() {
if(getID()==0){
this.nativeHandle = create();
}
try {
SpatialReference localSpatialReference = SpatialReference.create(WKID);
setDefaultSpatialReference(localSpatialReference);
Envelope localEnvelope = new Envelope(371987.18333999999D,
252920.58593D, 624459.12035999994D, 423400.07714000001D);
setFullExtent(localEnvelope);
Point localPoint = new Point(0.0D, 458793.07714);
double[] arrayOfDoublescale = d;
double[] arrayOfDoubleres = c;
int k = d.length;
TiledServiceLayer.TileInfo localTileInfo = new TiledServiceLayer.TileInfo(
localPoint, arrayOfDoublescale, arrayOfDoubleres, k, 96,
256, 256);
setTileInfo(localTileInfo);
super.initLayer();
return;
} catch (Exception localException) {
localException.printStackTrace();
}
}
@Override
protected byte[] getTile(int level, int col, int row) throws Exception {
// TODO Auto-generated method stub
int nrow = (int) (Math.floor((458400.07714) * res[level] / 256) - row);
String strUrl = layerurl + "x=" + col + "&y=" + nrow + "&z=" + level
+ "&type=ic&layer="+layername+"";
HashMap<String, String> localHashMap = new HashMap<String, String>();
byte[] bytes = a.a(strUrl, localHashMap);
return bytes;
}
}
重写TiledServiceLayer实现Arcgis访问Mapabc地图服务 (转载)的更多相关文章
- 服务器重启后导致访问ArcServer地图服务须登录
问题状况: 重启服务器后,在访问网站的地图服务时会提示登录,输入各种密码账号都不好用 解决方法: 通过进入[服务管理器],找到ArcGISServer的服务,重新启动该服务就可以.
- ArcGis server发布地图服务
ArcGIS server发布服务: 首先修改地图文档属性中的关联默认数据库 最后使用分享将地图服务发布到server上,是地图服务可以使用: 注意一定要勾选 Feature Access选项 fea ...
- ArcGIS Server浏览地图服务无响应原因分析说明
1.问题描述 从4月17号下午5时起,至18号晚9点,客户单位部分通过ArcGIS Server发布的地图服务(该部分地图服务的数据源为数据库SJZX)无法加载浏览,表现为长时间无响应.同时,通过Ar ...
- ArcGIS pro 发布地图服务(一)动态地图服务
1.软件:arcgis pro 2.4 数据:.mxd文档. 2.导入mxd文档. 3.登录portal账号 4.分析—发布 5.在server中的地图服务 JavaScript api 查看 6. ...
- ArcGIS Server SOE地图服务重启特别卡
ArcGIS Server 服务器端扩展,SOE代码调试时,需要经常重新编译.替换地图服务中的扩展, 由于未知问题,本地开发环境包含SOE的地图服务,每次重启都需要耗费相当长的时间,大体上20多分钟, ...
- arcgis访问百度地图
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- ArcGIS发布地图服务
一般做完矢量图绘制工作后,生成的.mxd文件只能在ArcMap中查看,为了方便用户进行浏览,我们需要发布地图服务. 目前为止最常用的就是在ArcGIS中发布地图服务. 今天也算是在做“发布地图服务”的 ...
- ArcGIS发布地图服务后直接调用查看方法
做项目配置了一个地理底图,不知道有没有问题,如何给到客户查看并确认呢? 首先在ArcGIS上发布该地图: 打开地图后->文件->共享为->服务…… 发布成功后,得到可以访问的地图服务 ...
- [转]ArcGIS移动客户端离线地图的几种解决方案
原文地址:http://blog.chinaunix.net/uid-10914615-id-3023158.html 移动GIS中,通常将数据分为两大类:basemap layer和operatio ...
随机推荐
- maven添加远程私服
文件放在maven下和..m2下面 <?xml version="1.0" encoding="UTF-8"?> <!-- License ...
- 入门 ARM 汇编(一)—— 知识铺垫
我读着史铁生的散文,零碎的牵扯起我生命中不曾出现过的记忆,一如北方的黄山厚土之中悠忽而来的忧伤的信天游,那些灿若信仰一样的阳光以及阳光下虔诚的子民.我想有一次远行,于细碎流淌的时光与路途之中,观察所有 ...
- CGI(通用网关接口)
公共网关接口 CGI(Common Gateway Interface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在C ...
- C# Graphic 绘制圆、三角形、椭圆、图片
在form和panel上可以绘制图形,线段,圆,文字,图形等等. 绘制代码必须放在OnPaint()函数里面,因为窗体刷新的时候,都会调用该函数,重新刷新所绘的图. 示例代码在Panel上绘制图形来简 ...
- Hadoop blocks
一In cases where the last record in a block is incomplete, the input split includes location informat ...
- SSH applicationContext.xml文件配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- MIT jos 6.828 Fall 2014 训练记录(lab 1)
注: 源代码参见我的github:https://github.com/YaoZengzeng/jos Part 1: PC Bootstrap +------------------+ <- ...
- 二分+动态规划 POJ 1973 Software Company
Software Company Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1112 Accepted: 482 D ...
- 孙鑫视频学习:对第10章设置线宽时为什么不调用UpDateData(TRUE)的理解
在第10章10.2.1小节中,首先分别对视图类和对话框类添加了一个名为m_nLineWidth的int型变量,再将用户在CSetting dlg对话框的edit控件中输入的线宽值记录在dlg.m_nL ...
- HDU 4121 Xiangqi --模拟
题意: 给一个象棋局势,问黑棋是否死棋了,黑棋只有一个将,红棋可能有2~7个棋,分别可能是车,马,炮以及帅. 解法: 开始写法是对每个棋子,都处理处他能吃的地方,赋为-1,然后判断将能不能走到非-1的 ...