vectorClip


URI

<spatialanalystJobs_uri>/vectorclip[.<format>]

支持的方法

GETPOSTHEAD

父资源

spatialanalystJobs

子资源

vectorClipJob

介绍

矢量裁剪作业资源根目录。通过对 vectorClip 执行GET 请求,可获取当前系统的矢量裁剪作业列表。通过 POST 请求可创建一个矢量裁剪任务。

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。

http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/vectorclip.rjson

GET 请求

获取矢量裁剪作业列表。

响应结构

对 vectorClip 资源执行 GET 请求,在响应消息的实体主体里是一个矢量裁剪资源描述集,其中单个资源描述的结构如下:  

字段 类型 说明
id String 应用ID。
state SparkJobState 该任务的状态。包括执行状态、起止时间、耗时等。
setting SparkJobSetting 列举了任务配置的详细信息。

响应示例

对 vectorClip 资源执行 GET 请求,返回 rjson 格式的资源描述如下:

[{

  "id": "a4d3f1c0_bd7e_4c3d_a63e_b02f76a293a9",

  "setting": {

    "DEFAULT_MASTER_ADRESS": "local[*] ",

    "analyst": {

      "datasetOverlay": "New_Region",

      "inputOverlay": "F:\\20170608\\onere\\onere.udb",

      "mode": "clip",

      "numSlices": "20"

    },

    "appName": "vectorClip",

    "args": [

      "--inputSource",

      "F:\\20170608\\onere\\onere.udb",

      "--datasetSource",

      "zone",

      "--numSlices",

      "20",

      "--inputOverlay",

      "F:\\20170608\\onere\\onere.udb",

      "--datasetOverlay",

      "New_Region",

      "--mode",

      "clip",

      "--outputResult",

      "F:\\20170608\\supermap_iserver_900_15008_4414_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\udbs\\fdae17ca-782b-4729-83d0-bfefb573377d",

      "--datasetResult",

      "analystResult"

    ],

    "contextSetting": null,

    "input": {

      "datasetSource": "zone",

      "inputSource": "F:\\20170608\\onere\\onere.udb"

    },

    "mainClass": "com.supermap.bsp.main.vectorClipMain",

    "output": {

      "cacheName": null,

      "cacheType": null,

      "datasetResult": "analystResult",

      "outputResult": "F:\\20170608\\supermap_iserver_900_15008_4414_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\udbs\\fdae17ca-782b-4729-83d0-bfefb573377d"

    },

    "serviceInfo": {

      "targetDataPath": "F:\\20170608\\supermap_iserver_900_15008_4414_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\a4d3f1c0_bd7e_4c3d_a63e_b02f76a293a9",

      "targetServiceInfos": [

        {

          "serviceAddress": "http://localhost:8090/iserver/services/map-vectorClip2/rest",

          "serviceType": "RESTMAP"

        },

        {

          "serviceAddress": "http://localhost:8090/iserver/services/data-vectorClip2/rest",

          "serviceType": "RESTDATA"

        }

      ]

    },

    "serviceRoot": "http://localhost:8090/iserver/services/"

  },

  "state": {

    "elapsedTime": 12091,

    "endState": true,

    "endTime": 1496911750621,

    "errorMsg": null,

    "errorStackTrace": null,

    "publisherelapsedTime": 2804,

    "runState": "FINISHED",

    "startTime": 1496911733481

  }

}]

POST 请求

创建一个矢量裁剪任务。

请求参数

对 vectorClip 资源执行 POST 请求,创建一个 矢量裁剪任务,请求体需包含参数如下:

名称 类型 含义

input

【必填参数】

DatasetInputDataSetting
  • 数据集输入设置,当输入数据是一个数据目录服务中已存在的数据集时,用该设置。其中包含如下字段
    • datasetName:数据集名称。其中数据集的来源包括通过数据目录服务导入的数据、注册到 iServer 的数据对应的数据集以及 DataStore 中存储的数据集。
  • 数据集信息输入设置,当输入数据集文件路径及信息时,用该设置。其中包含如下字段
    • datasetInfo:数据集信息。其中数据集的来源包括:CSV文件、udb文件、空间数据库、存于hdfs的索引文件。详细参数说明请参考:大数据分析输入参数设定
 FileCSVInputDataSetting
  • 文件路径输入设置。 当输入数据集文件路径时,用该设置。其中包含如下字段。
    • filePath:文件所在路径。其中路径包括:csv文件路径、hdfs文件路径。 详细参数说明请参考:大数据分析输入参数设定
    • metaInfo:数据文件的元信息。若该数据存放目录下包含 .meta 文件,则此参数可不填。

analyst

OverlayAnalystGeoSetting 【必填参数】分析配置。传入时,需指定:
  • 裁剪对象数据集(仅支持面数据集,暂不支持存于hdfs的索引文件)
    • 已向iServer注册:datasetVectorClip:只需指定裁剪对象所在的数据集名称。(若数据集中有多个对象时,默认选择第一个对象)
    • 未向iServer注册:inputVectorClip:需指定裁剪对象数据源路径及数据集名称。因为只涉及一个对象,可用attributeFilter参数进行对象的设定,默认是直接从Spark Driver端读取。
    • 传入几何对象(geometry):geometryClip:需指定几何对象的类型和具体坐标。同时,支持将传入的几何对象生成缓冲区。还需设定以下参数:
      • endType  缓冲区端点类型:包含圆头缓冲和平头缓冲。
      • leftDistance 左侧缓冲区距离
      • rightDistance 右侧缓冲区距离
      • semicircleLineSegment 圆弧线段个数
      • radiusUnit   缓冲区半径单位                   
  • mode:叠加分析模式。包含内部裁剪clip、外部裁剪intersect

output

【选填参数】

FileSystemOutputSetting
  • 分析结果输出设置。当输出结果到文件时。用该设置。其中包含如下字段
    • type:指定输出类型。
    • datasourcePath :结果数据源的存放路径。其中分析结果可以存放到udb或hdfs中。
    • outputPath:分析结果工作空间输出路径。
DatabaseOutputSetting
  • 分析结果输出设置。当输出结果到数据库(HBase、 PostgreSQL、PostGIS、MongoDB)时。用该设置。其中包含如下字段
    • type:指定输出类型。
    • datasetName:分析结果数据集名称。
    • datasourceInfo:结果数据源的连接信息。详细参数设定请参考:大数据分析输出参数设定

示例1:输入数据集名称

对示例 vectorClip 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/vectorclip.rjson 执行 POST 请求,输入一个已注册到iServer 的数据集,传入数据集名称即可。创建一个矢量裁剪任务。请求体中的参数如下:

{

    "input": {

        "datasetName": "samples_processing_newyorkZone_R"

    },

    "analyst": {

        "datasetVectorClip": "samples_processing_singleRegion_R",

        "mode": "clip"

    }

}

返回 rjson 格式的操作结果表述如下:

{

  "newResourceID": "f88cd129_a989_4f6c_a8e0_4f9d225f6b54",

  "newResourceLocation": "http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/vectorclip/f88cd129_a989_4f6c_a8e0_4f9d225f6b54",

  "postResultType": "CreateChild",

  "succeed": True

}

示例2:输入 PostgreSQL 中存储的数据

对示例 vectorClip 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/vectorclip.rjson 执行 POST 请求,输入数据为存储于PostgreSQL 数据库的数据。创建一个矢量裁剪任务。请求体中的参数如下:

 {

    "input": {

        "datasetInfo": {

            "type": "REGION",

            "name": "zone",

            "datasourceConnectionInfo": {

                "engineType": "POSTGRESQL",

                "dataBase": "supermap4",

                "password": "supermap",

                "user": "postgres",

                "server": "192.168.120.49"

            }

        }

    },

"analyst":{

                  "inputVectorClip": "{\"type\":\"udb\",\"info\":[{\"server\":\"D:/data/zone.udb\",\"datasetNames\":[\"New_Region\"]}],\"attributeFilter\":\"SMID=1\"}",

                  "mode":"clip"

           }

 }

返回 rjson 格式的操作结果表述如下:

{

  "newResourceID": "b53a553f_a099_4baf_bc30_e68c41d08cf0",

  "newResourceLocation": "http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/vectorclip/b53a553f_a099_4baf_bc30_e68c41d08cf0",

  "postResultType": "CreateChild",

  "succeed": True

}

示例3:输入 geometry

对示例 vectorClip 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/vectorclip.rjson 执行 POST 请求,输入一个geometry,并且设置了缓冲区。创建一个矢量裁剪任务。请求体中的参数如下:

{

    "input": {

        "datasetName": "samples_processing_newyorkZone_R"

    },

    "analyst": {

        "geometryClip": "{\"type\":\"REGION\",\"points\":[{\"x\":-73.96,\"y\":40.78},{\"x\":-73.90,\"y\":40.78},{\"x\":-73.95,\"y\":40.742},{\"x\":-73.90,\"y\":40.747}]}",

        "bufferAnalystParameter": {

            "endType": "ROUND",

            "leftDistance": {

                "value": "10"

            },

            "rightDistance": {

                "value": "10"

            },

            "semicircleLineSegment": "10",

            "radiusUnit": "METER"

        },

        "mode": "clip"

    }

}

返回 rjson 格式的操作结果表述如下:

{

  "newResourceID": "4197351c_cfe6_43fe_83a8_e97cf1327cf3",

  "newResourceLocation": "http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/vectorclip/4197351c_cfe6_43fe_83a8_e97cf1327cf3",

  "postResultType": "CreateChild",

  "succeed": True

}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 vectorClip 资源是否存在,或者客户端是否有权限访问 vectorClip 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 vectorClip 资源是否支持<format>格式的表述。

请参见