Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 9.19 KB

data-pool.md

File metadata and controls

41 lines (28 loc) · 9.19 KB

장소 풀 상세

README 의 데이터 풀 표에 담긴 숫자가 어떻게 나왔는지, 무엇을 넣고 무엇을 뺐는지를 적는다. 판단 근거가 필요할 때 읽는 문서다.


  • 영업 중인 곳만 담는다. 원본에는 폐업이 섞여 있는데(경북 숙박은 41%가 폐업) 거르지 않으면 없어진 가게가 코스에 들어간다.
  • 술집·편의점·부속매점 등 여행지로 볼 수 없는 업태 115,530건을 제외했다. 여기에 더해 백화점·아울렛·쇼핑몰·대형마트 안 식당·카페(216건)와 편의점(465건)을 뺀다 — 업태 필터가 있는데도 남았다. 백화점 안 스타벅스의 업태는 '커피'고, 편의점도 휴게음식점으로 등록되면 '분식'이라 업태로는 가릴 수 없다. 위치 단서가 주소 문자열에만 있어 시설명·브랜드명으로 거르되, 다른 상호에 끼는 것(제이마트·씨유민박·CUBE)은 전수로 확인해 예외로 뒀다.
  • 주소의 시도·시군구가 그 지역과 맞는지 확인한다. 예전에는 시군구 이름만 맞으면 붙여서, 전국의 동구·남구가 부산 동구·대구 남구로 빨려 들어왔다(부산 동구는 15,701건 중 부산이 1,816건뿐이었다). 배포 파일을 직접 여는 테스트가 이 불변식을 잠근다.
  • 전화번호가 49% 붙어 있다. 관광 API에는 없던 정보다.
  • 갱신은 분기 1회, 빌드 타임 스크립트로 처리한다(scripts/build_place_pool.py).

반려동반 가능 여부는 위 표에 건수를 더하지 않는다 — 새 후보를 데려오는 것이 아니라 이미 풀에 있는 장소에 표식을 붙인다. 관광공사 반려동물 동반여행에서 전국 9,679건을 한 번에 받아 법정동 코드로 걸러 89곳 442건을 얻는다(67/89곳 커버, 사진 92%). 코스 슬롯의 콘텐츠 ID와 맞아떨어지는 장소에만 칩이 뜨고, 콘텐츠 ID 체계가 다른 출처(인허가·국가유산·야영장)는 판정할 수 없어 칩을 띄우지 않는다 — "반려동물 안 됨"과는 다르다. 동반 조건도 함께 받는다: 태안 15건 전수 확인에서 절반이 "일부구역 동반가능" 이었고 체중 제한도 셋 있어, 칩 하나로 뭉뚱그리지 않고 구역·견종·유의사항을 함께 내린다. 갱신은 월 1회 배치다.

여행일 혼잡도도 위 표에 건수를 더하지 않는다 — 장소가 느는 것이 아니라 이미 풀에 있는 장소에 그 날짜의 값을 붙인다. 관광공사 관광지 집중률 예측에서 지역마다 관광지 × 향후 30일을 받는다(73/89곳 커버, 볼거리 기준 이름이 맞아떨어지는 곳이 53%). 값은 0100이고 관광지별 정규화가 아니다 — 관광지별 30일 평균이 3.088.9로 흩어져 늘 붐비는 곳과 늘 한산한 곳이 실제로 갈린다. 한 관광지 안에서도 날짜를 크게 타서 30일 진폭 중앙값이 67.9다(요일별 평균 수 30.5 → 토 62.4). 그래서 붐빔은 80 이상(슬롯의 12.4%), 한산은 20 이하(14.3%)로 가르고 그 사이 73%는 칩을 띄우지 않는다. 예보가 없는 16곳은 지역 요일계수로 폴백하는데(외부 호출 0, 89/89곳 표본 충족) 이건 지역 단위라 같은 코스의 장소에 같은 값이 붙는다 — 응답이 근거를 함께 내려 화면이 장소 속성처럼 그리지 않게 한다. 갱신은 일 1회 배치이고 회차당 89콜이다(한도의 9%).

축제는 TourAPI가 비워 둔 자리다. 관광 API의 축제 조회를 89곳 전수로 돌리면 합계 1건이 나온다(축제 0건인 지역 86곳). 탐침 오류가 아니라 축제 타입만 비어 있는 것으로, 안동국제탈춤페스티벌이 있는 안동시조차 0이었다. 같은 89곳을 전국문화축제표준데이터로 재면 446건이고 88/89곳을 덮는다(0건은 경남 함안군 하나). 그중 좌표가 있는 345건만 담는다 — 좌표가 없으면 동선에 못 올린다. 상위는 보령시 26 · 신안군 25 · 하동군 25 · 영월군 15곳이고, 지역당 중앙값은 3곳이다. 다른 풀과 달리 사진이 오지 않는다. 여행일에 실제로 열리는 축제만 코스 후보가 되며, 갱신은 월 1회 배치다.

야영장은 숙소의 빈틈을 메운다 — 수가 아니라 사진이다. 인허가 숙소는 26,365건으로 지역당 평균 296곳이나 되지만 사진이 한 장도 없다. 이름·주소·전화뿐이라 코스에 올라가도 화면이 회색 판이 된다. 사진이 붙은 숙소는 관광 API 쪽 922건뿐이고, 89곳으로 나누면 지역당 열두 곳 남짓이 화면에 쓸 수 있는 전부였다.

  • 고캠핑을 우리 89곳으로 재면 운영 중인 것이 1,702건이고 그중 1,698건(99.8%)에 좌표, 1,288건(75%)에 사진이 있다. 87/89곳을 덮고 지역당 중앙값은 13곳이다. 빠진 둘은 부산 동구·대구 남구로, 도심 자치구라 야영장이 없는 것이 정상이다.
  • 겹침을 먼저 쟀다. 관광 API 숙소에 이미 야영장이 섞여 있어(대분류 숙박 977건 중 625건이 레포츠 타입) 이름이 같거나 좌표가 200m 이내인 375건을 제외했다. 순증은 1,323건이고 그중 964건에 사진이 있다 — 사진 있는 숙소 후보가 922 → 1,886건이 된다.
  • 휴장은 담지 않는다. 전국 3,115건 중 123건이 휴장인데, 문 닫은 곳을 코스에 넣으면 헛걸음이라 카드가 비는 것보다 나쁘다.
  • 표의 관광명소에도 야영장이 있지만 다른 것이다. 그쪽은 인허가 데이터의 볼거리 분류이고, 이 풀은 숙소 후보로 들어간다.
  • 운영기간·운영일·예약방법이 함께 온다(78~80%). 우리가 가진 장소 풀 중 "언제 여나" 에 답하는 유일한 소스라, 상세에서 지도로 넘기지 않는다.
  • 코스에는 사진 있는 숙소가 없을 때만 올라간다. 숙박 슬롯은 볼거리 중심에서 가까운 것을 뽑는데, 야영장은 산·계곡·유적 근처라 그 중심에 가깝다. 거리만 보면 사진 있는 호텔을 밀어내 사진 있는 숙소가 141 → 119건으로 오히려 줄었다(83곳 × 2박 실측). 그래서 숙소를 먼저 채우고 모자랄 때만 야영장을 쓴다 — 그 결과 숙박 자리의 1%(2자리) 에만 들어가고, 사진 있는 숙소는 166/166 이 된다.
  • 갱신은 월 1회 배치다.

국가유산은 인허가 볼거리의 빈틈을 메운다. 인허가 관광명소에는 야영장·골프장이 섞여 있는데, 국보·사적·천연기념물은 그 자체가 관광 자원이다. 88/89곳을 덮고 지역당 중앙값 36곳이며, 볼거리가 가장 얇던 경북(1,489)·경남(1,269)·전남(992)이 가장 두껍게 채워진다. 대구 서구만 0곳인데 그 지역 국가유산이 무형유산 3건뿐이라 그렇다.

  • 사진 97%·설명 98% 가 함께 온다(적재 3,437건 기준). 인허가 데이터에는 둘 다 없어 카드가 비었던 자리다.
  • 갈 수 있는 것만 담는다. 수집한 6,387건 중 유물(1,409)·기록유산(846)·무형유산(234)을 대분류로 빼고, 대분류가 통과한 것에서도 발굴 조사 구역(신안 해저유물 매장해역)과 개인 묘(이규보 묘) 292건을 중분류로 뺀다. 좌표를 못 채운 126건과 원본에 소재지가 없는 6건도 빠진다. 종목으로는 안 갈린다 — 우리 89곳의 국보·보물 표본 12건이 전부 동궐도·자수 초충도 병풍 같은 소장 유물이었고, 주소가 소장 기관이라 그대로 쓰면 그림 한 점이 목적지가 된다. 반대로 국보·보물을 통째로 빼면 사찰 대웅전·석탑이 함께 날아간다. 국가유산청이 주는 대분류가 정확히 이 둘을 가른다.
  • 좌표를 지오코딩으로 채운다. 원본은 72%만 좌표를 주는데, 소재지 주소를 카카오·네이버로 옮겨 89% 로 올렸다. 부산광역시 동구처럼 시군구까지만 있는 주소는 관공서 좌표로 찍히므로 일부러 버린다.
  • 관광 API 일일 한도와 무관하다 — 국가유산청 자체 API 라 그쪽이 말라도 이 후보는 산다.
  • 갱신은 연 1회면 충분하다(scripts/build_heritage_pool.py).

여기에 관광 API(TourAPI) 가 얹힌다. 그쪽은 사진·소개가 붙어 화면 품질이 높으므로 1순위로 쓰고, 모자란 자리만 위 풀로 채운다.

지역 카드의 대표 사진은 따로 고른다. 관광공사 중심 관광지(실제 이동 데이터 기반 순위) 상위를 훑어 관광사진 갤러리 6,118건에서 사진이 있는 첫 명소를 세운다 — 공주시면 공산성이다. 터미널·역·골프장·스키리조트가 1위인 지역이 흔해서 순위를 그대로 쓰지 않는다. 86/89곳이 갤러리 사진으로 채워지고, 나머지 3곳만 관광 API 사진으로 내려간다.

갤러리가 주는 URL은 19%가 죽어 있어(1,790장 중 345장이 404) 적재할 때 생존을 확인하고 버린다. 확인하지 않으면 지역 15곳에 깨진 이미지가 그대로 나갔다.