หาจุดกึ่งกลางของประเทศไทย
หาจุดกึ่งกลางของประเทศไทย
โดย สมภพ ศรลัมพ์
โดย สมภพ ศรลัมพ์
THmap=EntityValue,"Polygon"[[1]]
In[]:=
GeoPosition
Out[]=
ListPlot[{#2,#1}&@@@(THmap[[1,1]])]
In[]:=
Out[]=
GeoListPlot[GeoPosition/@(THmap[[1,1]])]
In[]:=
Out[]=
r=DiscretizeGraphics[Polygon[{#2,#1}&@@@(THmap[[1,1]])]]
In[]:=
Out[]=
pnts=RandomPoint[r,1000];Show[{r,Graphics/@Point/@pnts}]
In[]:=
Out[]=
DistFunc=SignedRegionDistance[r]
In[]:=
RegionDistanceFunction
Out[]=
sols=Quiet@FindMinimum[DistFunc[{x,y}],{x,#[[1]]},{y,#[[2]]}]&/@pnts;
In[]:=
nsols={#1,{x,y}/.#2}&@@@sols;
In[]:=
ans=TakeSmallestBy[nsols,First,1]//First
In[]:=
{-2.0197,{101.362,15.4575}}
Out[]=
GeoListPlotGeoPosition[ans[[2]]//RotateRight],
In[]:=
Out[]=
GeoGraphics[GeoMarker@GeoPosition[ans[[2,{2,1}]]],GeoRangeQuantity[100,"Kilometers"]]
In[]:=
Out[]=