How to index geojson file in elasticsearch?

烈酒焚心 提交于 2020-05-12 02:40:24

问题


I am trying to store spatial data in the form of geojson,csv files and shape files into elasticsearch USING PYTHON.I am new to elasticsearch and even after following the documentation i am not able to successfully index it. Any help would be appreciated.

sample geojson file :

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "ID_0": 105,
        "ISO": "IND",
        "NAME_0": "India",
        "ID_1": 1288,
        "NAME_1": "Telangana",
        "ID_2": 15715,
        "NAME_2": "Telangana",
        "VARNAME_2": null,
        "NL_NAME_2": null,
        "HASC_2": "IN.TS.AD",
        "CC_2": null,
        "TYPE_2": "State",
        "ENGTYPE_2": "State",
        "VALIDFR_2": "Unknown",
        "VALIDTO_2": "Present",
        "REMARKS_2": null,
        "Shape_Leng": 8.103535,
        "Shape_Area": 127258717496
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              79.14429367552918,
              19.500257885106404
            ],
            [
              79.14582245808431,
              19.498859172536427
            ],
            [
              79.14600496956801,
              19.498823981691853
            ],
            [
              79.14966523737327,
              19.495821705263914
            ]
          ]
        ]
      }
    }
  ]
}

回答1:


You must separate the GeoJson features into (1) geometry and (2) properties/attributes parts. You cannot index GeoJson features and feature collections directly (see documentation), only the geometry part is supported as a field type.

So you final indexable document would look somewhat flattened:

{
    "ID_0": 105,
    "ISO": "IND",
    "NAME_0": "India",
    "ID_1": 1288,
    "NAME_1": "Telangana",
    "ID_2": 15715,
    "NAME_2": "Telangana",
    "VARNAME_2": null,
    "NL_NAME_2": null,
    "HASC_2": "IN.TS.AD",
    "CC_2": null,
    "TYPE_2": "State",
    "ENGTYPE_2": "State",
    "VALIDFR_2": "Unknown",
    "VALIDTO_2": "Present",
    "REMARKS_2": null,
    "Shape_Leng": 8.103535,
    "Shape_Area": 127258717496,
    "geometry": {
        "type": "Polygon",
        "coordinates": [
            [
                [
                    79.14429367552918,
                    19.500257885106404
                ],
                [
                    79.14582245808431,
                    19.498859172536427
                ],
                [
                    79.14600496956801,
                    19.498823981691853
                ],
                [
                    79.14966523737327,
                    19.495821705263914
                ]
            ]
        ]
    }
}


来源:https://stackoverflow.com/questions/40129634/how-to-index-geojson-file-in-elasticsearch

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!