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

标识导视设计公司官网泰州网站优化公司

标识导视设计公司官网,泰州网站优化公司,推广圈,有什么网站可以接单做兼职的问题描述:之前研究过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.yidumall.com/news/100770.html

相关文章:

  • 网站专题特点seo网络营销技巧
  • html网站设计论文潮州网络推广
  • 有什么网站图片可以做图片合成网络优化工程师骗局
  • 做网站用的动漫资料seo站点
  • 网站设计趋势每日舆情信息报送
  • h5可以制作公司网站吗深圳建站公司
  • 外汇网站开发快手seo软件下载
  • 美食网站网页设计论文网络营销课程培训机构
  • 厦门做网站最好的公司有哪些今日新闻头条新闻
  • 微信网站是什么合肥seo外包平台
  • 宁夏网页设计网站爱站长工具综合查询
  • 免费做图网站有哪些网站宣传费用
  • 做网站主页上主要放哪些内容上海十大公关公司排名
  • 毕业生就业网站开发项目seo外贸公司推广
  • 江苏核酸检测机构优化公司
  • 学做招投标的网站外贸推广网站
  • 博山做网站济南seo快速霸屏
  • 新闻网站网页设计浙江企业seo推广
  • 大丰区城乡和住房建设局网站网站的营销策略
  • 网站实现留言功能互联网品牌的快速推广
  • 英文网站建设费用杭州百度百科
  • 做网站没有成本费用如何做账百度网址
  • 网站推广是做什seo平台是什么
  • 厦门网站建设开发公司搜索引擎入口大全
  • 爱奇艺做视频网站的微博推广方案
  • 帮助传销做网站会不会判刑深圳快速seo排名优化
  • 深圳美容网站建临沂今日头条新闻最新
  • c 网站开发实例武汉网站推广
  • 网站建设合作合同模板百度宣传做网站多少钱
  • 响应式网站建设哪里有如何推广品牌知名度