density


URI

<spatialanalystJobs_uri>/density[.<format>]

支持的方法

GETPOSTHEAD

父资源

spatialanalystJobs

子资源

densityJob

介绍

密度分析作业资源根目录。通过对 density 执行GET 请求,可获取当前系统的密度分析作业列表。通过 POST 请求可创建一个分析任务。

支持的方法:

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

资源层次

HTTP 请求方法

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

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

GET 请求

获取密度分析作业资源。

响应结构

对 density 资源执行 GET 请求,在响应消息的实体主体里是一个密度分析资源描述集,其中单个资源描述的结构如下:  

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

响应示例

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

[

{

  "id": "546fdbc5_81c3_49a8_8341_1f2fd696da8f",

  "setting": {

    "DEFAULT_MASTER_ADRESS": "local[*] ",

    "analyst": {

      "fields": "",

      "meshType": "0",

      "method": "0",

      "query": "",

      "radius": "0.01",

      "resolution": "0.001"

    },

    "appName": "density",

    "args": [

      "--input",

      "{\"sliceNum\":20,\"type\":\"udb\",\"info\":[{\"server\":\"F:\\\\20170707\\\\China\\\\China.udb\",\"datasetNames\":[\"China_Capital_pt\"]}]}",

      "--radius",

      "0.01",

      "--method",

      "uniform",

      "--meshType",

      "square",

      "--meshSize",

      "0.001",

      "--output",

      "{\"server\":\"F:\\\\20170707\\\\supermap_iserver_win64_zip\\\\webapps\\\\iserver\\\\processingResultData\\\\Analyst\\\\udbs\\\\4ab58165-a839-4c80-b8b2-1a2d98ad465b\",\"datasetName\":\"analystResult\",\"type\":\"udb\"}"

    ],

    "contextSetting": null,

    "input": {

      "datasetInfo": {

        "available": true,

        "bounds": "Left=1.2957801616844445E7,Bottom=4852151.575504352,Right=1.2957801616844445E7,Top=4852151.575504352",

        "datasetName": "China_Capital_pt",

        "datasetType": "POINT",

        "epsgCode": 3857,

        "name": "China_China_China_Capital_pt",

        "readOnly": false,

        "type": "UDB",

        "url": "F:\\20170707\\China\\China.udb"

      },

      "datasetName": "China_China_China_Capital_pt",

      "numSlices": 0

    },

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

    "output": {

      "datasetName": "analystResult",

      "outputPath": "F:\\20170707\\supermap_iserver_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\udbs\\4ab58165-a839-4c80-b8b2-1a2d98ad465b"

    },

    "serviceInfo": {

      "targetDataPath": "F:\\20170707\\supermap_iserver_win64_zip\\webapps\\iserver\\processingResultData\\Analyst\\546fdbc5_81c3_49a8_8341_1f2fd696da8f",

      "targetServiceInfos": [

        {

          "serviceAddress": "http://supermapiserver:8090/iserver/services/map-kernelDensity8/rest",

          "serviceType": "RESTMAP"

        },

        {

          "serviceAddress": "http://supermapiserver:8090/iserver/services/data-kernelDensity8/rest",

          "serviceType": "RESTDATA"

        }

      ]

    },

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

  },

  "state": {

    "elapsedTime": 6096,

    "endState": true,

    "endTime": 1499417671510,

    "errorMsg": null,

    "errorStackTrace": null,

    "publisherelapsedTime": 1702,

    "runState": "FINISHED",

    "startTime": 1499417662453

  }

}

]

POST 请求

创建一个核密度分析任务。

请求参数

对 density 资源执行 POST 请求,创建一个核密度分析任务,请求体需包含参数如下:

名称 类型 含义

input

【必填参数】

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

analyst

KernelDensityAnalystSetting 【必填参数】分析配置。传入时,需指定:
  • resolution:网格大小
  • radius:搜索半径
  • method:指定分析方法。0表示简单点密度分析  1表示核密度分析
  • meshType:指定网格面类型。0表示四边形网格   1表示六边形网格
  • fields:权重值字段。非必填。仅支持系统字段以外的整形、长整形、浮点型的字段的名称
  • meshSizeUnit:网格大小单位
  • radiusUnit:搜索半径单位
  • areaUnit:面积单位
  • query:分析范围
  • mappingParameters:分析后结果可视化的参数类。详见MappingParameters说明。  
    • numericPrecision:精度,此字段用于设置分析结果标签专题图中标签数值的精度,如“1”表示精确到小数点的后一位。(默认值:1)
    • rangeMode:专题图分段模式。包括:EQUALINTERVAL、LOGARITHM、QUANTILE、SQUAREROOT、STDDEVIATION。
    • rangeCount:专题图分段个数。
    • colorGradientType:专题图颜色渐变模式。包括:GREENORANGEVIOLET、GREENORANGERED、RAINBOW、SPECTRUM、TERRAIN 等。
    • items:专题图子项设置。(可自定义专题图分段个数、颜色渐变模式)

output

【选填参数】

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

示例1:输入csv数据文件

对示例 density 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density.rjson 执行 POST 请求,输入已注册到 iServer 的udb文件,创建一个点密度分析任务。请求体中的参数如下:

{

"input":{

      "datasetName":"China_China_China_Capital_pt"

             },

"analyst":  {

        "query": "",

        "resolution": "10",

        "radius": "100",

        "method": "0",

        "meshType": "0",

        "fields": "",

        "meshSizeUnit": "Meter",

        "radiusUnit": "Meter",

        "areaUnit": "SquareMeter"

                  }

}

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

{

  "newResourceID": "8bf67620_2c3a_4752_8cce_30076f3fe94e",

  "newResourceLocation":"http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density/8bf67620_2c3a_4752_8cce_30076f3fe94e",

  "postResultType": "CreateChild",

  "succeed": true

}

示例2:输入数据集文件

对示例 density 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density.rjson 执行 POST 请求,用输入为的udb文件,创建一个核密度分析任务。请求体中的参数如下:

{

    "input": {

        "datasetInfo": {

            "type": "UDB",

            "url": "F:\\20170707\\China\\China.udb",

            "datasetType": "POINT",

            "datasetName": "China_Capital_pt"

        },

       "numSlices":36

    },

    "analyst": {

         "query": "",

        "resolution": "10",

        "radius": "100",

        "method": "0",

        "meshType": "0",

        "fields": ""

    }

}

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

{

  "newResourceID": "015fb79a_0f32_49d1_a0a9_743c10052156",

  "newResourceLocation":"http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density/015fb79a_0f32_49d1_a0a9_743c10052156",

  "postResultType": "CreateChild",

  "succeed": true

}

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

对示例 densitys 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density.rjson 执行 POST 请求,输入未注册到 iServer 的 PostgreSQL 中存储的数据,创建一个核密度分析任务。请求体中的参数如下:

{

    "input": {

        "datasetInfo": {

            "type": "POINT",

            "name": "newyorkPoint_P_352137765",

            "datasourceConnectionInfo": {

                "engineType": "POSTGRESQL",

                "dataBase": "supermap",

                "password": "supermap",

                "user": "postgres",

                "server": "192.168.120.21"

            }

        }

    },

    "analyst": {

        "query": "",

        "resolution": "50",

        "radius": "350",

        "method": "1",

        "meshType": "0",

        "fields": "",

        "meshSizeUnit": "Meter",

        "radiusUnit": "Meter",

        "areaUnit": "SquareMile"

    }

}

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

{

  "newResourceID": "0dc1214e_def5_47c0_af92_b9c5172c31da",

  "newResourceLocation": "http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density/0dc1214e_def5_47c0_af92_b9c5172c31da",

  "postResultType": "CreateChild",

  "succeed": true

}

示例4:输入数据集名称,参数中增加色带枚举值

对示例 densitys 资源:http://supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density.rjson 执行 POST 请求,以输入形式为数据集名称,该数据集已注册到iServer,参数中增加色带枚举值。默认输出。创建一个点密度分析任务。请求体中的参数如下:

{

    "input": {

        "datasetName": "samples_processing_newyorkPoint_P"

    },

    "analyst": {

        "query": "",

        "resolution": "500",

        "radius": "3000",

        "method": "0",

        "meshType": "1",

        "fields": "pickup_latitude",

        "meshSizeUnit": "Meter",

        "radiusUnit": "Meter",

        "areaUnit": "SquareMile",

        "mappingParameters": {

            "rangeMode": "LOGARITHM",

            "rangeCount": "10",

            "colorGradientType": "GREENORANGEVIOLET"

        }

    }

}

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

{

    "postResultType": "CreateChild",

    "newResourceID": "2fc4d7ac_ba25_4bee_8c94_824785f667d5",

    "succeed": true,

    "newResourceLocation": "http:///supermapiserver:8090/iserver/services/distributedanalyst/rest/v1/jobs/spatialanalyst/density/2fc4d7ac_ba25_4bee_8c94_824785f667d5"

}

HEAD 请求

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

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

请参见