Crie uma EntityStore de meteoros de bola de fogo
A Wolfram Knowledgebase contém uma grande quantidade de informações que abrange diversas áreas. Ele também possui um poderoso conjunto de recursos para representar, acessar e realizar cálculos com este conhecimento. Agora também é possível (e até mesmo simples) para usuários criarem seus próprios conjuntos de dados e trabalhar com eles como se fossem dados integrados. Aqui, o processo de criação e uso de um banco de dados de entidade para meteoritos bola de fogo (conhecidos como bólidos) com base em uma fonte de dados existente é ilustrado.
Use Import para fazer o download de um conjunto de dados de bólidos mantido pelo Jet Propulsion Laboratory.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_104.png)
(rawdata =
Import["http://neo.jpl.nasa.gov/fireballs/",
"FullData"])[[3, 9, 2, 12, 1, ;; 5]]
![](assets.pt-br/create-a-fireball-meteor-entitystore/O_76.png)
Defina uma função de utilidade para adicionar unidades aos dados brutos.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_105.png)
AddUnits[x_, u_: "Kilometers"/"Seconds"] :=
If[NumberQ[x], Quantity[Interpreter["Number"][x], u],
Missing["NotAvailable"]]
Extraia partes relevantes dos dados, adicione uma identificação apropriada de Quantity, e crie o banco de dados entidades.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_109.png)
store = EntityStore["Bolide" -> <|
"Label" -> "bolide",
"LabelPlural" -> "bolides",
"Entities" -> entities,
"Properties" -> properties
|>]
![](assets.pt-br/create-a-fireball-meteor-entitystore/O_77.png)
Registre o banco de dados para esta sessão.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_110.png)
PrependTo[$EntityStores, store];
Crie uma "EntityAssociation" de posições e energias de bólidos.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_111.png)
ea = EntityValue["Bolide", {"Position", "TotalRadiatedEnergy"},
"EntityAssociation"];
Faça um gráfico geográfico de visibilidades de bólidos com base em suas alturas e posições no céu.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_112.png)
GeoGraphics[{GeoVisibleRegion[#] & @@@ Values[ea]}]
![](assets.pt-br/create-a-fireball-meteor-entitystore/O_78.png)
Extraia energias de bólidos em QuantityArray.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_113.png)
energies = QuantityArray[Values[ea][[All, -1]]]
![](assets.pt-br/create-a-fireball-meteor-entitystore/O_79.png)
Visualize energias de bólidos usando um histograma.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_114.png)
Histogram[energies, "Log", AxesLabel -> {"energy (J)", "count"}]
![](assets.pt-br/create-a-fireball-meteor-entitystore/O_80.png)
Aplique uma função de escala para dar uma imagem qualitativa do brilho da bola de fogo.
![Click for copyable input](assets.pt-br/create-a-fireball-meteor-entitystore/In_116.png)
GeoGraphics[{Red, GeoDisk[#1, scale[#2]] & @@@ Values[ea]}]
![](assets.pt-br/create-a-fireball-meteor-entitystore/O_81.png)