require(["esri/layers/TiledMapServiceLayer"], function () { dojo.declare("com.StrongIt.Map.Layers.LayerTianditu", esri.layers.TiledMapServiceLayer, {        _mapStyle: "",        constructor: function (mapStyle, startLevel, e…
require(["esri/layers/TiledMapServiceLayer"], function () {     dojo.declare("com.StrongIt.Map.Layers.LayerTianditu", esri.layers.TiledMapServiceLayer, {         _mapStyle: "",         constructor: function (mapStyle, startLe…
综述:本节讲述的是用Arcgis for js载入天地图的切片资源. 天地图的切片地图能够通过esri.layers.TiledMapServiceLayer来载入.在此将之进行了一定的封装,例如以下: 1.切片线划图--TDTLayer.js define(["dojo/_base/declare", "esri/layers/tiled"], function (declare) { return declare(esri.layers.TiledMapServ…
最近,工作中有需要用Openlayer3脚本库调用天地图的wmts服务接口,由于这两个都是刚开始接触,所以是摸着石头过河,遇到了地图显示不了的问题,虽然官网http://www.zjditu.cn/resource/apihelp 有这么一个例子,但是我替换成提供的正式地址,并没有显示地图. 我也通过用浏览器直接提供的地址打开,来进行参数对比.再看了Openlayer3和天地图的相关文档和网络上的文章,也加入了相关群下载相关资料浏览并询问群友,还是未果. 最后还是让提供方给了个例子,完成了实现(…
在使用 leaflet 调用第三方瓦片地图服务的项目,主要谷歌地图.高德地图.百度地图和 OSM 地图,与其他三种地图对比,百度地图的瓦片组织方式是不同的.百度从中心点经纬度(0,0)度开始计算瓦片,而谷歌地图是从左上角经纬度(-180,90)度开始计算瓦片:如果直接使用百度瓦片地图服务会请求不到瓦片,因此需要转换一下.借助 leaflet-tileLayer-baidu 这个插件: //需要引入 proj4.js 和 proj4leaflet.js 插件,使用script标签引入的方式 L.C…
上个月使用python调用arcgis工具箱完成了火点txt文件转shp文件的小功能, 感觉很不错, 写下这篇博客希望对大家有所帮助. 1.环境介绍: 系统: win8.1(64位) arcgis:desktop10.2 2.ARCGIS 工具箱简单介绍: 工具英文名称 工具中文名称 3D Analyst toolbox   三维分析工具箱 Data Reviewer toolbox 绘图工具箱 Conversion toolbox 转换工具箱 Data Management toolbox 数…
arcgis js之调用wms服务 定义: export const tdtlayer = async () => { let WMSLayer = await arcgisPackage.WMSLayer let WL = new WMSLayer({ url: 'http://xxx.xxx.xxx.xxx:8080/iserver/services/map-tianditu/wms', sublayers: [{ name: '7' // name of the sublayer }],…
2019年1月1日起,天地图做出如下变更,导致直接在Arcgis/ArcMap中添加WMTS服务不能用了. 国家天地图解释的很清楚,注册个人用户就可以了. 原有调用方式不变,只要在URL 后添加“&tk=89c965bfb07ae000000000000000000” 初时也没调好,经过分析后做了点小修改,已测试可用: ArcMap中添加wmts服务器URL: https://files.cnblogs.com/files/yuanbao/Tianditu_Vec_w.xml…
1.override 重写:在继承中,子类与父类方法名相同,参数列表相同,的方法叫重写,与返回值有关;  主要应用于系统升级. 2.final 关键字: 可修饰:1.类-->被修饰后该类不能被继承      2.方法 -->被修饰后该方法不能被重写 3.变量-->被修饰后该变量为常量,只能赋值一次, 常量标识符全部用大写 3.多态:事物的多种形态 满足条件: 1.继承 2.重写 3.父类引用指向子类对象; 多态弊端:不能调用子类特有的属性和行为. 向上转型:用父类名 向下转型:类名  对…
昨天因为要从JFrame控件获取密码,注意到一个问题,那就是用toString方法得到的不一定是你想要的,如下: jPasswordField是JFrame中的密码输入框,如果用下面的方法是得不到密码的value的: jPasswordField.getPassword().toString(); 这是因为jPasswordField.getPassword()得到的是字符数组char[],然后调用toString方法得到的是这个字符数组的hashCode,即字符数组的内存地址. 只有用下面的方…
全球矢量地图服务 var viewer = new Cesium.Viewer("cesiumContainer", { animation: false, //是否显示动画控件 baseLayerPicker: false, //是否显示图层选择控件 geocoder: true, //是否显示地名查找控件 timeline: false, //是否显示时间线控件 sceneModePicker: true, //是否显示投影方式控件 navigationHelpButton: fa…
拖拽后,地图直接消失了,而且右上角的坐标变成了NaN,NaN 后来经过测试发现,原来是自己封装有问题,坐标点一定要用parseFloat()转换下,但不清楚为什么页面刚开始加载的时候没有问题,总之能解决就好.代码如下: var centerXY = "121.5472412109375,29.88006591796875"; var centerObj = centerXY.split(','); var centerX = centerObj[0]; var centerY = ce…
底图采用Web Mercator投影坐标系 获取元数据信息:http://t0.tianditu.com/img_w/wmts?SERVICE=WMTS&REQUEST=GetCapabilitieshttp://t0.tianditu.com/vec_w/wmts?SERVICE=WMTS&REQUEST=GetCapabilities 矢量: vec_w http://t0.tianditu.com/DataServer?T=vec_w&X=210&Y=106&…
 异常描述: (1)ArcGIS JavaScript 调用天地图WMTS服务,出现了这种混乱的效果,加载不完整. (2)昨天是相关瓦片的请求,Google浏览器显示的是请求失败.当时怀疑是无线网络的问题,接了有线,还是请求失败.以为是别人的问题,过几天应该就好了,所以也没放在心上 (3)今天一调试发现所有的请求都可以正常响应,可地图却仍然混乱 可能问题猜测: (1)天地图WMTS服务的问题 (2)坐标系的问题,可能是坐标系的混乱,ArcGIS JavaScript请求了错误的的瓦片行/列 (3…
做地理信息系统(GIS)项目,除了实现功能用户体验度要好之外,最重要的是地图渲染效果更要好.很多时候苦于数据的完整性和对于配图的审美观,程序猿们都很难配出好看的地图效果.基于上述一般直接调用google的地图服务,包括矢量地图,地形地图和影像地图.这样就不用花大力气关注于数据的问题,只需要把地图的操作功能实现就行.下面来说说如何基于arcgis js api 调用google的地图服务. 首先我们需要知道google地图服务的地址: http://mt.google.cn/vt/lyrs=s@1…
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>天地图底图加载(经纬度版本)</title> <link rel="stylesheet" href="https://js.arcgis.com/3.21/esri/css/esri.css"> <script src="htt…
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>天地图底图加载(墨卡托版本)</title> <link rel="stylesheet" href="https://js.arcgis.com/3.21/esri/css/esri.css"> <script src="htt…
Arcgis的二维地图瓦片有两种获取方式 1.在Arcmap中对配置好的地图进行切图,生成对应瓦片 2.使用第三方的地图下载器,直接下载,导出成arcgis瓦片格式即可使用. 备注:这里主要介绍第二种获取的方式,方法1见arcgis的帮助文档 ①下载安装水经注地图下载器 ②这里选择高德矢量地图作为数据源,在地图中框选需要下载的区域,双击开始下载 ③任务下载完成后,选择格式为:arcgis-server瓦片格式,选择对应的瓦片级别 ④导出成功后的瓦片文件如下: arcgis瓦片目录结构说明可参考如…
1. 在引用天地图时, 我们要自定义一个相关的比例尺转换类 const tileInfoObj = { rows: 256, cols: 256, compressionQuality: 0, origin: { x: -180, y: 90, }, spatialReference: { wkid: 4326, }, lods: [ { level: 2, resolution: 0.3515625, scale: 147748796.52937502, }, { level: 3, reso…
概述:本节讲述Arcgis for Js加载ArcgisServer和GeoServer发布的wms服务. 1.定义resourceInfo var resourceInfo = { extent: new Extent(-126.40869140625,31.025390625,-109.66552734375,41.5283203125,{wkid: 4326}), layerInfos: [], version : '1.1.1' }; 2.加载ArcgisServer的wms var a…
使用GeoWebCache的主要目的是其独立安装版能够发布arcgis的切片.我们知道,使用openlayer是调用geoserver最方便的方法,那么在发布完arcgis的切片后,怎么用arcgis API来调用呢? 1.重写TiledMapServiceLayer的方式. 不断寻找,终于找到了一个arcgis官网的加载geoserver的wmts的例子,而geoserver和GeoWebCache是支持wmts的.所以这个方法是可行的.我将这个例子改了一下,最后调用成功. 例子如下: fun…
在这先说点题外话,本人在研究webgl 三维球过程中惊人发现,openlayers 的开发人员也在研究webgl并经证实他们也正在研发基于 webgl的三维gis开源平台,这可能是首个开源的三维平台,在现在三维大趋势下,看来 openlayers  前景还是一片大好,闲话少说,静候佳音. 在这将分4篇文章来系统的详细的介绍openlayers 是怎么来加载本地及服务器瓦片,为了提高开发人员的工作效率 采用倒叙, 在第一篇先给实用的算法及简单的参数说明,后面介绍原理,彻底的理解其工作原理. 第一篇…
WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图 1.前言 在前面我花了两个篇幅来讲解行列号的获取,也解释了为什么要获取行列号.在这一章,我将把常见的几种请求瓦片时的URL样式罗列出来,并且给出大致的解释. 我在这里将地图分为离线地图和在线地图.所谓离线地图,即保存在本地而没有发布的地图.在线地图即发布与网上,可以通过浏览器访问的地图. 2.ArcGIS切图——exploded类型 在前面章节中我已经贴出了exploded类型的切图图片,这里再次给出. 那么如何通过行列号来换算出此瓦…
记录了通过ArcGIS的PringTask进行地图打印,以及借助html2canvas实现屏幕截图的方法.两个方法各有适用的情景.过程中涉及的相关资源和问题给出链接,自行查看. 1.需求背景 地图打印,这是地图应用系统的基本工具了.多数使用者都希望能够将地图,连带着查询结果.统计结果以及自己绘制的各种图形输出,将其保存到本地,以供他用.本文描述两类情况:一类是通过ArcGIS Server发布的地图服务,一类是调用其他数据源的地图切片形成的地图. 2.通过ArcGIS Server发布的地图服务…
前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打印不出来的:这个在GIS之家群里也有很多giser问过,我一直也没抽出时间好好整理研究,碰巧一个师妹遇到这种打印问题并且解决了,于是我向她邀稿,才有这里的这篇文章.本文是‘猴妹‘师妹授权给我来发表的,介绍都是师妹的研究成果,在此,非常感谢‘猴妹‘师妹. 记录了通过ArcGIS的PringTask进行…
最近有这样一个需求,需要将arcgis server发布的地图瓦片放在移动硬盘中,系统演示的时候,直接调用本地的地图瓦片,而非远程的,主要是为了系统演示的时候加快地图访问速度. 而且需要在任意电脑运行,这就要求不能安装笨重的arcgis server. 那么在不修改前端地图代码的情况下,如何做到这种效果呢? 在此,我们又想到了代理大佬nginx. 1.地图瓦片请求URL规律 地图瓦片可以用两种形式的url 1)rest风格 http://IP:PORT/arcgis/rest/services/…
内容概览 1.基于openlayers6结合geoserver实现地图矢量瓦片2.源代码demo下载 效果图如下: 实现思路:利用Geoserver发布矢量切片服务,然后openlayers调用矢量瓦片服务渲染加载,geoserver发布矢量服务步骤自行百度搜索相关教程,网上很多.最后,通过地图点击事件交互,实现图形高亮以及气泡窗口显示信息详情效果. 具体实现过程 利用geoserver发布好的矢量瓦片服务预览效果,直接F12看源码,来对应整合到demo var geojsonLayer = n…
类的继承   父类-子类 关键字 extends 新建一个父类 public class Person {     private String name;          private int age; public void run()     {         System.out.println("Person  run");     }   }   public class Student extends Person {     public void run()  …
本篇随笔为转载,原文地址:C++多继承中重写不同基类中相同原型的虚函数. 在C++多继承体系当中,在派生类中可以重写不同基类中的虚函数.下面就是一个例子: class CBaseA { public: virtual void TestA(); }; class CBaseB { public: virtual void TestB(); }; class CDerived : public CBaseA, public CBaseB { public: virtual void TestA()…
对一个之前一直做winForm的 菜鸟来说,突然接触这么神奇的语言,基本上每天都会诅咒一下这门神奇的语言. 最近做了一个小网站,底图用的是天地图的服务,用ArcGIS JavaScript提供的一些GIS功能.个人觉得,天地图API简单易上手,连我这个菜鸟看几个示例代码都能快速的做出包含地图的网站.只是,目前的天地图,基本上只有数据,没有GIS. GIS相关的,esri的东西. 网上看了esri的ClusterLayer的示例代码,网址如下: https://developers.arcgis.…