今年7月方才发布的ArcGIS 10.2为GIS的web开发带来了一个很实在的功能,JSON转要素。以往GIS图层外部数据(如文本数据,数据库数据)动态地写入地图效劳中的图层是一件不可想象的情形,现在能够用JSON动态地生成图层中的要素了,在这分享一个实战体会。
饮水思源,转载勿删:
第一谈谈需要解决的一个问题,以数据库的形式存了一批点的数据,包括点的经纬度,及相关的信息,如水体的污染物浓度,而且这些点天天都有一套数据,我需要在WEB上依照时刻把这些点查询并显示在相应的地图上,不能天天都从数据库中取数做成图层发布一次吧,这会累死不可,这就需要一个自动查询数据库点并动态形成GIS图层加载到的相应的地图上。好,下面就来解决那个问题。
1.创建ArcGIS模型:用转换工具》JSON》JSON转要素,设置JSON文件(PDATA)和输出图层(PointResult.shp)为模型参数,输出图层(PointResult.shp)勾选添加至显示。
ArcGIS利用的JSON文件是比较复杂的,能够先做一个标准的要素图层然后利用 要素转JSON 工具生成一个JSON,在依照生成的JSON格式,制作动态的JSON数据。
2.把模型发布为地理处置效劳:关闭模型编辑编辑窗口,双击运行模型,在结果窗口中把模型运行结果共享为地理处置效劳,注意勾选参数》异步》查看含地图效劳的结果。
发布完成后,可查看效劳的submitJob界面,那个地址的PDATA(GPDataFile)需要一个JSON文件的途径作为参数,形式为\文件途径'}\。
3.在Asp.net MVC中利用地理处置效劳:View代码(.cshtml)的关键脚本为(由于时刻问题没有从头整理,粘贴了之前的代码,代码里有一个DZ的参数,是地理处置效劳的另一个参数能够忽略),
能够参照Arcgis官网给出的例子(),但由于碰到跨域问题,代码改动的比较多。