Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Multipoint GeoJson data to map

Hi,   I'm new to Power Bi and I would like to achieve a map with multipoints from a geoJson data.   Here is an example geoJson data with 2 points (coordinates)   { "type": "FeatureCollection...
  • Anonymous's avatar
    Anonymous
    6 years ago

    Step 1. Save your geojson in Json format : GeoJson.Json

    Step 2. Paste below advanced query in the advanced editor in transform data :
     let
    Source = Json.Document(File.Contents("C:\Users\Desktop\geojson.json")),
    features = Source[features],
    features1 = features{0},
    #"Converted to Table" = Record.ToTable(features1),
    #"Transposed Table" = Table.Transpose(#"Converted to Table"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"type", type text}, {"geometry", type any}, {"properties", type any}}),
    #"Expanded geometry" = Table.ExpandRecordColumn(#"Changed Type", "geometry", {"type", "coordinates"}, {"type.1", "coordinates"}),
    #"Expanded properties" = Table.ExpandRecordColumn(#"Expanded geometry", "properties", {"prop0"}, {"prop0"}),
    #"Expanded coordinates" = Table.ExpandListColumn(#"Expanded properties", "coordinates"),
    #"Extracted Values" = Table.TransformColumns(#"Expanded coordinates", {"coordinates", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values", "coordinates", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"coordinates.1", "coordinates.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"coordinates.1", type number}, {"coordinates.2", type number}})
    in
    #"Changed Type1"

    Step 3: Close and Apply 

    step 4: Change the data type of cordinates.1 and cordinates.2 by selecting the columns to logitude and latitude respectively.
    step 5 : pull the logitude and latitude in map visual.Transformdata-->Getdata-->Newquery-->advancededitor--> cody the code and paste--> apply