Search code examples
geojsongoogle-earth-engine

How do I import GeoJSON files for use in Google Earth Engine Code Editor?


I have generated some points of interest with my database with SQL to geoJSON.

geojson:

    {
    "FeatureCollection" : [
        {
            "geometry" : {
                "coordinates" : [
                    -45.927083,
                    -12.260889
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "626.46"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.916500,
                    -12.255944
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "565.04"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.949417,
                    -12.270361
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "631.47"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.958833,
                    -12.277361
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "591.85"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.942944,
                    -12.249889
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "644.67"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.930917,
                    -12.243611
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "644.67"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.871917,
                    -12.197139
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.866861,
                    -12.206417
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.967389,
                    -12.261889
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "592.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.973500,
                    -12.250639
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "592.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.962944,
                    -12.245444
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "621.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.952667,
                    -12.239778
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "592.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.931639,
                    -12.228528
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.908694,
                    -12.247472
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "557.20"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.918667,
                    -12.239139
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "644.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.897028,
                    -12.246000
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "557.20"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.906417,
                    -12.230472
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "64.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.895750,
                    -12.225028
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "644.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.927111,
                    -12.213750
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "564.90"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.917639,
                    -12.208750
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "564.90"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.897833,
                    -12.198444
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "584.00"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.881583,
                    -12.202233
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.876833,
                    -12.235306
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.867278,
                    -12.230306
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.856806,
                    -12.224889
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.861806,
                    -12.215611
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.887833,
                    -12.192806
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "12.60"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.877639,
                    -12.187917
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "564.90"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.941889,
                    -12.234611
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "644.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.887111,
                    -12.239889
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "644.50"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.907944,
                    -12.203361
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "591.70"
            },
            "type" : "Feature"
        },
        {
            "geometry" : {
                "coordinates" : [
                    -45.892722,
                    -12.208028
                ],
                "type" : "Point"
            },
            "properties" : {
                "grower" : "foo",
                "name" : "bar",
                "radius" : "574.60"
            },
            "type" : "Feature"
        }
    ]
}

I would like to import this geojson to my code editor on Google Earth Engine. Looking in the docs (assets manager), GEE accepts assets as raster images, shapefiles (.shp, shx, dbf, prj).

Also, I found the import to feature collection via fusion tables, but it still needs shapefiles.

I have found some geojson to shapefile conversors, though I need a way to directly import my geojson to a feature collection on GEE. Is that possible?


Solution

  • You can also import GeoJSON geometry objects directly into either the JavaScript or Python API using, for example, this format for a MultiPolygon:

    feature_geometry = {
      "type": "MultiPolygon",
      'coordinates": [
        [
          [
            [-120, 35],
            [-120.001, 35],
            [-120.001, 35.001],
            [-120, 35.001],
            [-120, 35]
          ]
        ]
      ]
    }
    

    Both hash maps (i.e., dictionaries) are identical to the GeoJSON specification (source):

    {
      "type": "MultiPolygon",
      "coordinates": [
        [
          [
            [-120, 35],
            [-120.001, 35],
            [-120.001, 35.001],
            [-120, 35.001],
            [-120, 35]
          ]
        ]
      ]
    }
    

    Of course, you can also read this data in from a GeoJSON file (Python example shown):

    import json
    data = json.loads(geojson_file)
    

    For a simple Python wrapper, there is the pygeoj library, but JSON data is handled well natively in Python and of course in JavaScript.