유명한 7개의 성당이 직선상에 있는지에 대한 수치적 조사
소개
- 위키피디아에 따르면, 성 미카엘과 관련된 7개의 유명한 성당이 직선상에 위치해 있음.
- 이를 검증하기 위해 데이터셋을 수집하고 지오데식 선을 계산하여 성당들이 직선상에 있는지 확인함.
데이터셋 수집
- 성당의 위치 데이터를 수집하여 지오팬더스 데이터프레임으로 정리함.
- 성당의 이름, 경도, 위도, 지오메트리 정보를 포함함.
landmarks_michael = {
1: ["Skellig Michael", -10.538483, 51.772035, shape(geometry_skellig)],
2: ["St Michael's Mount", -5.477813, 50.116531, shape(geometry_st_michael_mount)],
3: ["Mont Saint-Michel", -1.511447, 48.636038, shape(geometry_mont_st_michel)],
4: ["Sacra di San Michele", 7.342842, 45.098029, shape(geometry_san_michele_sacra)],
5: ["San Michele Arcangelo", 15.954767, 41.707770, shape(geometry_santuario_san_michele)],
6: ["Taxiarchi Michail", 27.846123, 36.548389, shape(geometry_taxiarchi_michail)],
7: ["Stella Maris", 34.969960, 32.827297, shape(geometry_stella_maris_monastery)],
}
첫 번째와 마지막 성당 사이의 지오데식 선 계산
- 첫 번째와 마지막 성당 사이의 지오데식 선을 계산하고, 나머지 성당들과의 거리를 측정함.
- 지오데식 선은 구면 모델을 사용하여 계산됨.
def haversine_distance(lon_1, lat_1, lon_2, lat_2):
# 두 점 사이의 구면 거리 계산
pass
def midpoint(p1, p2):
# 두 점 사이의 중간점 계산
pass
def midpoints_rec(p1, p2, bailout):
# 재귀적으로 중간점을 계산하여 지오데식 선을 그림
pass
성당과 지오데식 선 사이의 거리 계산
- 각 성당과 지오데식 선 사이의 거리를 계산하여 성당들이 직선상에 있는지 확인함.
- 결과적으로 성당들이 지오데식 선에 정확히 일치하지 않음을 확인함.
def distance_point_line(point, line):
# 점과 선 사이의 거리 계산
pass
gdf_cathedrals["dist_to_geod"] = gdf_cathedrals.apply(lambda row: distance_point_line(Point(row["longitude"], row["latitude"]), line), axis=1)
Mercator 투영에서 성당들이 정렬되어 있는지 확인
- Mercator 투영에서는 성당들이 직선상에 있는 것처럼 보일 수 있음.
- 그러나 실제 구면 지오메트리에서는 그렇지 않음.
GN⁺의 의견
- 이 연구는 지리적 데이터 과학과 지오데식 계산의 실제 적용을 보여줌.
- 성당들이 직선상에 있는지 확인하는 과정에서 다양한 수학적, 프로그래밍적 기법이 사용됨.
- Mercator 투영과 실제 구면 지오메트리의 차이를 이해하는 데 도움이 됨.
- 지리적 데이터 분석에 관심 있는 소프트웨어 엔지니어에게 유익한 사례가 될 수 있음.
- 비슷한 연구를 진행할 때 데이터의 정확성과 모델의 한계를 고려하는 것이 중요함.