当前位置: 首页 > news >正文

南通网站定制企业茶叶网站开发

南通网站定制企业,茶叶网站开发,易思espcms企业网站管理系统,自建企业网站模板下载问题描述:之前研究过arcgis js api 4.x加载arcgis server 发布的地方坐标系的wms服务,后来研究出来能正常加载了,想了解的可以看我之前的博客。但是一直困于加载geoserver发布的地方坐标系的wms服务,一直都是用的WMSLayer这个调用…

问题描述:之前研究过arcgis js api 4.x加载arcgis server 发布的地方坐标系的wms服务,后来研究出来能正常加载了,想了解的可以看我之前的博客。但是一直困于加载geoserver发布的地方坐标系的wms服务,一直都是用的WMSLayer这个调用,一直报坐标系不兼容的错误。

1.地方坐标系不是标准的坐标系,没有对应的EPSG编码,是为了加密对标准坐标进行偏移等操作形成的新的坐标系。

2.在geoserver发布服务的时候,不占用现有的EPSG编码,需要在epsg.properties文件中追加一条地方坐标系的geoserver格式的wkt,可以参照类似格式将自己的坐标系wkt串调整。追加完需要重启geoserver服务3.geoserver发布服务的时候选择坐标系选择 刚加的epsg:0;如果选择的数据的srid与0不一样需要将数据的srid改变或转换下,如原来的数据的srid是4547,我可以通过这种select语句方式改变srid为0 ,如果不改变,预览wms服务时会报srid不一致的错误! 

select objectid,ST_GeomFromText(ST_AsText(geom), 0) geom,safegrade from gis

4.发布完wms服务,能正常预览后,需要用arcgis js api 4.x写代码了,这是重点!

构造一个CustomWMSLayer类,然后进行实例化传参,最后map加载gisLayer即可。大功告成!!!

const CustomWMSLayer = BaseDynamicLayer.createSubclass({properties: {mapUrl: null,mapParameters: null},getImageUrl: function (extent, width, height) {const urlVariables = this._prepareQuery(this.mapParameters,extent,width,height);const queryString = this._joinUrlVariables(urlVariables);return this.mapUrl + "?" + queryString;},_prepareQuery: function (queryParameters, extent, width, height) {const wkid = extent.spatialReference.isWebMercator? 3857: extent.spatialReference.wkid;const replacers = {width: width,height: height,wkid: wkid,xmin: extent.xmin,xmax: extent.xmax,ymin: extent.ymin,ymax: extent.ymax};const urlVariables = this._replace({}, queryParameters, replacers);return urlVariables;},_replace: (urlVariables, queryParameters, replacers) => {Object.keys(queryParameters).forEach((key) => {urlVariables[key] = Object.keys(replacers).reduce((previous, replacerKey) => {return previous.replace("{" + replacerKey + "}",replacers[replacerKey]);},queryParameters[key]);});return urlVariables;},_joinUrlVariables: (urlVariables) => {return Object.keys(urlVariables).reduce((previous, key) => {return (previous + (previous ? "&" : "") + key + "=" + urlVariables[key]);}, "");}});const gisLayer = new CustomWMSLayer({mapUrl: "http://localhost:9000/geoserver/topp/wms",mapParameters: {SERVICE: "WMS",REQUEST: "GetMap",FORMAT: "image/png",TRANSPARENT: "TRUE",STYLES: "",VERSION: "1.3.0",LAYERS: "topp:gis",WIDTH: "{width}",HEIGHT: "{height}",CRS: "EPSG:0",BBOX: "{xmin},{ymin},{xmax},{ymax}"},});

参考文档为arcgis js api官方文档Sandbox | Sample Code | ArcGIS Maps SDK for JavaScript 4.27 | ArcGIS Developers

http://www.yayakq.cn/news/769030/

相关文章:

  • 创新的专业网站建设网站布局建设
  • 做网站项目需求分析是什么番禺网站制作企业
  • 找不同 网站开发丹东网站设计
  • 贵州住房和建设厅网站asp.net mvc 网站开发
  • 建设美食网站的目的和功能定位营销型网站推广公司
  • 网站后台怎么更新网站广东在线网站建设
  • 学校网站制作代码天津网站建设方案报价
  • 芜湖经济开发区网站chromeseo是什么
  • 网站注册实名制怎么做房产cms
  • 织梦软件怎么使用域名做网站网站更换服务器 seo
  • 中国物流网站html静态网页制作案例
  • 可信赖的企业网站开发水产养殖网站模板源码
  • 教育网站制作价格计算机一级网页制作基础教程
  • 网站建设的七个步骤建设网站需要准备哪些内容
  • 重庆自助建网站企企业中企动力西安分公司
  • 2018年做网站赚钱吗pc 移动网站 模板
  • wordpress全站广告位做网站没有成本费用如何做账
  • 柳州做网站那家好如何将域名指向网站
  • 张家港网站制作建议找婚庆公司去什么网站
  • 网站底部流程wordpress 空搜索
  • 网站设计方案谁写如何成立一个网站
  • wordpress 整站打包字体WordPress
  • 常用的网站建设技术有免费微商城怎么开通?
  • 哪些ppt网站是免费的做网站最好的工具
  • 代理网站下载高端的网站设计公司
  • 企业网站货物查询怎么做邢台做网站地方
  • 新建文档怎么做网站wordpress 锚文本插件
  • 北京上地做网站湖北可以做网站方案的公司
  • 网站制作 代码photoshop制作网站海报
  • 建设网站简单教程引迈快速开发平台