The following GIF illustrates daily temperatures in top 80 biggest cities around China. We can observe any change in temperature:
???GIF??????????????? 80 ??????????: 
Process the geographic data:
?????????:
 
getPolygon[entity_] :=
  Replace[
   EntityValue[
     entity,
     "Polygon"
     ] /. GeoPosition -> Identity,
   {longitude_, latitude_} :> {latitude, longitude, 0}, {-2}
   ];
neighbourings = 
  getPolygon /@ CountryData["China", "BorderingCountries"];
creatercn = 
  getPolygon /@ {Entity["Country", "China"], 
    Entity["Country", "Taiwan"], 
    Entity["City", {"HongKong", "HongKong", "HongKong"}], 
    Entity["Country", "Macau"]};
Get the population and location information for these cities.
????????????????.
 
largeCities = 
  Join[Flatten[
    CityData[{Large, #}] & /@ {"China", "Taiwan"}], {Entity[
     "City", {"HongKong", "HongKong", "HongKong"}], 
    Entity["Country", "Macau"]}];
cityInfo =
 EntityValue[largeCities, {"Population", "Position"}, 
  "EntityAssociation"]
I only selected the top 80 biggest cities:
???????? 80 ??:
 
numCities = 80;
hugeCities = TakeLargestBy[cityInfo, #[[1]] &, numCities];
Get geographic coordinates:
??????
 
hugeCityCoords = 
  Replace[Values[
    hugeCities[[All, 2, 1]]], {long_, lat_} :> {lat, long, 0}, {-2}];
customize the color legend that the temperature:
????????:
 
colorScl = 
  Blend[{{-8, RGBColor[0.178927, 0.305394, 0.933501]}, {0, GrayLevel[
      1]}, {34, RGBColor[0.817319, 0.134127, 0.164218]}}, #] &;
clst = Subdivide[-8, 34, 12];
tempLegend =
 Graphics[{
   Table[{
     {colorScl[clst[[i]]], Rectangle[{i, 0}, {1, 0} + {i, 1}]},
     Thin, GrayLevel[0.6],
     {If[Mod[i, 2] == 0, 
       Text[Row[{NumberForm[N@clst[[i]], {\[Infinity], 1}], 
          "\[Degree]"}], {i, -1}]]},
     {If[Mod[i, 2] == 0, Line[{{i, -.2}, {i, -.6}}]]}
     }, {i, Length[clst]}]
   }, ImageSize -> 400
  ]
the time specification of the query:
???????????:
 
dayRange2016 =
  BlockMap[
   {Sequence @@ #, "Day"} &,
   DateRange[{2016, 1, 1}, {2016, 12, 31}, Quantity[1, "Days"]],
   2, 1
   ];
Now query temperature data (In fact, my approach is to export data in each loop):
???? (??????????????, ??????????????????????????????):
 
LaunchKernels[8];
hugeCityTempInfo = 
  Transpose[
   Table[AirTemperatureData[Keys[hugeCities], dayRange2016[[i]], 
     Mean], {i, Length[dayRange2016]}]];
Finally, let's build a dynamic model with Manipulate:
?????? Manipulate ???????:
 
Manipulate[
 With[{day = dayRange2016[[i, 1]]},
  Panel[
   Column[{
     Overlay[{
       Dynamic@
        Graphics3D[{{Opacity[0.6], china}, EdgeForm[None], 
          Specularity[White, 20],
          Table[
           With[{
             tempValue = hugeCityTempInfo[[cityIdx, i]],
             cityCoord = hugeCityCoords[[cityIdx]]
             },
            {colorScl[tempValue], 
             Cuboid[cityCoord, 
              cityCoord + .5 {1, 1, 
                 Rescale[tempValue, {-18, 42}, {0, 1}]}]}
            ],
           {cityIdx, numCities}
           ],
          {GrayLevel[0.5], neighbourings}
          },
          Axes -> False, ImageSize -> 600, BoxRatios -> {1, 1, .2}, 
         Boxed -> False, BoxStyle -> GrayLevel[0.3], 
         PlotRange -> {{50, 150}, {0, 65}, {-.1, 1.1}}, 
         Background -> GrayLevel[0], ViewAngle -> 0.22, 
         ViewCenter -> {{0.5`, 0.5`, 0.5`}, {0.36, 0.51}}],
       Graphics[{
         Inset[
          Style[DateString[#, {"Month", "/", "Day"}] &[day], 40, 
           GrayLevel[0.5]]]
         }
        ]
       }, All, 1, Alignment -> {Right, Bottom}],
     tempLegend
     }, Background -> GrayLevel[0.], Alignment -> Center],
    Background -> GrayLevel[0.], ImageSize -> 600
   ]
  ],
 {{i, 1}, 1, 365, 1}
 ]

In addition, I have a account in WeChat, more articles please check here( Chinese only :-( )
??????????[????], ????????, ????????????.
??????: ???? ???/??/????
?????? ?2012?2016PM2.5???? ???????????? ???????? ????????? ??? 2016 ?PM2.5?
???? ?2016??????????? ?????????? ??????? ????????? ???2016????
?????? ?3D?????? ?????????? ???3D??????? ?????.???? ?Wolfram?????
				
					
				
				
					
					
						
							 Attachments:
							Attachments: