Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Buenas tardes
Tengo un archivo que se exporta desde uno de nuestros sistemas que tienen las columnas de Dirección, Latitud y Longitud. A continuación, tenemos un archivo GeoJSON que tiene los límites para varias áreas de servicio. Lo que queremos lograr es extraer (como una columna) el nombre del área de servicio del archivo GeoJSON.
Por lo tanto, el objetivo final sería tener una tabla que incluyese Dirección, Latitud, Longitud y Nombre de área de servicio.
Nuestro archivo GeoJSON tendría información como la siguiente. Nos gustaría tirar del campo de nombre por lo que en los ejemplos debajo de Downtown y East Roam si la dirección está dentro de la forma poligonal.
[
{
"id":1,
"campaign_id":2,
"name":"Downtown",
"zone_type":"in_service",
"people_goal":38,
"zone_color":"#008000",
"notes": "Notes for the Downtown Zone",
"is_subzone":false,
"parent_zone_id":null,
"geojson":[
{
"type":"Feature",
"properties":{
"id":1,
"zone_name":"Downtown",
"lg_id":34,
"color":"#008000"
},
"geometry":{
"type":"Polygon",
"coordinates":[
[
[
-85.17772674676962,
34.25390581369373
],
[
-85.17626762506552,
34.251706537253966
],
[
-85.17695427057333,
34.248655832831254
],
[
-85.17618179437704,
34.247591607594714
]
]
]
}
}
]
},
{
"id":3,
"campaign_id":2,
"name":"East Rome",
"zone_type":"extended",
"people_goal":6,
"zone_color":"#008000",
"notes":"",
"is_subzone":false,
"parent_zone_id":null,
"geojson":[
{
"type":"Feature",
"properties":{
"id":3,
"zone_name":"East Rome",
"lg_id":37,
"color":"#008000"
},
"geometry":{
"type":"Polygon",
"coordinates":[
[
[
-85.12825012207034,
34.25409499535699
],
[
-85.1257610321045,
34.25356291881514
],
[
-85.12086868286134,
34.25494631082515
],
[
-85.11108398437501,
34.23976322547396
],
[
-85.15262603759767,
34.261898398047876
],
[
-85.12825012207034,
34.25409499535699
]
]
]
}
}
]
}
]
Solved! Go to Solution.
Hola, @mattyj2009
A través de las operaciones en el editor de consultas Power, solo puedo obtener una tabla que contenga latitud y longitud, por lo que creo que debe crear una tabla para El este de Roma y el centro.
Para la tabla 'Roma', puede probar esta consulta M:
let
Source = Json.Document(File.Contents("C:\ Desktop\geojson.json")),
Source1 = Source{1},
geojson = Source1[geojson],
geojson1 = geojson{0},
geometry = geojson1[geometry],
coordinates = geometry[coordinates],
coordinates1 = coordinates{0},
#"Converted to Table" = Table.FromList(coordinates1, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Extracted Values" = Table.TransformColumns(#"Converted to Table", {"Column1", each Text.Combine(List.Transform(_, Text.From), "#(tab)"), type text}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values", "Column1", Splitter.SplitTextByDelimiter("#(tab)", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1.1", type number}, {"Column1.2", type number}})
in
#"Changed Type"
Para la tabla 'Downtown', puede probar esta consulta M:
let
Source = Json.Document(File.Contents("C:\ Desktop\geojson.json")),
Source1 = Source{0},
geojson1 = Source1[geojson],
geojson2 = geojson1{0},
geometry = geojson2[geometry],
coordinates = geometry[coordinates],
coordinates1 = coordinates{0},
#"Converted to Table" = Table.FromList(coordinates1, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Extracted Values" = Table.TransformColumns(#"Converted to Table", {"Column1", each Text.Combine(List.Transform(_, Text.From), "#(tab)"), type text}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values", "Column1", Splitter.SplitTextByDelimiter("#(tab)", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1.1", type number}, {"Column1.2", type number}})
in
#"Changed Type"
A continuación, puede crear un gráfico de mapa para 'Roma' y 'Downtown', como este:
Si esto no es lo que desea, por favor responda a mí y muestre su salida esperada en una tabla o gráfico.
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @mattyj2009
A través de las operaciones en el editor de consultas Power, solo puedo obtener una tabla que contenga latitud y longitud, por lo que creo que debe crear una tabla para El este de Roma y el centro.
Para la tabla 'Roma', puede probar esta consulta M:
let
Source = Json.Document(File.Contents("C:\ Desktop\geojson.json")),
Source1 = Source{1},
geojson = Source1[geojson],
geojson1 = geojson{0},
geometry = geojson1[geometry],
coordinates = geometry[coordinates],
coordinates1 = coordinates{0},
#"Converted to Table" = Table.FromList(coordinates1, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Extracted Values" = Table.TransformColumns(#"Converted to Table", {"Column1", each Text.Combine(List.Transform(_, Text.From), "#(tab)"), type text}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values", "Column1", Splitter.SplitTextByDelimiter("#(tab)", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1.1", type number}, {"Column1.2", type number}})
in
#"Changed Type"
Para la tabla 'Downtown', puede probar esta consulta M:
let
Source = Json.Document(File.Contents("C:\ Desktop\geojson.json")),
Source1 = Source{0},
geojson1 = Source1[geojson],
geojson2 = geojson1{0},
geometry = geojson2[geometry],
coordinates = geometry[coordinates],
coordinates1 = coordinates{0},
#"Converted to Table" = Table.FromList(coordinates1, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Extracted Values" = Table.TransformColumns(#"Converted to Table", {"Column1", each Text.Combine(List.Transform(_, Text.From), "#(tab)"), type text}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values", "Column1", Splitter.SplitTextByDelimiter("#(tab)", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1.1", type number}, {"Column1.2", type number}})
in
#"Changed Type"
A continuación, puede crear un gráfico de mapa para 'Roma' y 'Downtown', como este:
Si esto no es lo que desea, por favor responda a mí y muestre su salida esperada en una tabla o gráfico.
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Así que tengo una tabla que se exporta desde nuestro sistema. Tengo algunos datos de muestra a continuación (antes de cualquier modificación).
Id | Lat | Lon | Número | predireccional | streetname | streettype |
331 | 39.904722 | -91.366863 | 1201 | Principal | ||
4334 | 39.817275 | -91.392727 | 3935 | Maestros | Ave | |
4790 | 39.80445043 | -91.36748135 | 1221 | Unión | ||
5165 | 39.810623 | -91.356699 | 205 | N | Principal | St |
6376 | 39.775113 | -91.403285 | 4121 | Mercado | St | |
7487 | 39.839117 | -92.484838 | 908 | W | Bourke | St |
7594 | 39.812558 | -91.368877 | 1201 | Lyon | St | |
9462 | 39.907396 | -93.083227 | 1701 | N | Estado | St |
15900 | 39.709727 | -92.938642 | 27591 | Morton | Rd | |
16245 | 39.80383696 | -92.95601428 | 26804 | Pino | Rd | |
20492 | 39.773696 | -92.941444 | 30736 | Carretera 15 |
Básicamente lo que queremos lograr es poner el nombre del área en la que se encuentra la latitud y la longitud y si no se encuentra dentro de ninguno de los polígonos del archivo GeoJSON, déjelo en blanco (nulo).
Id | Lat | Lon | Número | predireccional | streetname | streettype | Nombre |
331 | 39.904722 | -91.366863 | 1201 | Principal | Centro | ||
4334 | 39.817275 | -91.392727 | 3935 | Maestros | Ave | Centro | |
4790 | 39.80445043 | -91.36748135 | 1221 | Unión | Roma Oriental | ||
5165 | 39.810623 | -91.356699 | 205 | N | Principal | St | Roma Oriental |
6376 | 39.775113 | -91.403285 | 4121 | Mercado | St | Null | |
7487 | 39.839117 | -92.484838 | 908 | W | Bourke | St | Null |
7594 | 39.812558 | -91.368877 | 1201 | Lyon | St | Roma Oriental | |
9462 | 39.907396 | -93.083227 | 1701 | N | Estado | St | Centro |
15900 | 39.709727 | -92.938642 | 27591 | Morton | Rd | Null | |
16245 | 39.80383696 | -92.95601428 | 26804 | Pino | Rd | Null | |
20492 | 39.773696 | -92.941444 | 30736 | Carretera 15 | Null |
Los datos anteriores son datos de muestra y sé que ninguno de los puntos no está dentro de East Rome o Downtown, pero se rellena para fines de muestra.
Hola, @mattyj2009
Desafortunadamente, supongo que no puedo obtener cuál es su salida esperada, pero aquí hay algunos blogs que coinciden bien con este caso. Puede echar un vistazo:
https://radacad.com/how-to-do-power-bi-mapping-with-latitude-and-longitude-only
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |