iNaturalist Sightings
요약
이 글은 iNaturalist 관측 기록을 시간 및 공간적 근접성에 따라 그룹화하여 웹에서 시각적으로 표시하는 과정을 설명합니다. 작성자는 Python CLI 도구인 'inaturalist-clumper'를 구축하고, 이를 통해 데이터를 JSON 파일로 저장했습니다. 이후 JavaScript와 LLM 프롬프팅 능력을 활용하여 이 데이터를 가져오고, 썸네일 클릭 시 원본 이미지를 모달 창으로 보여주는 웹 애플리케이션을 완성했습니다.
핵심 포인트
- iNaturalist 관측 데이터의 시간/공간적 클러스터링(Clumping)을 위한 Python CLI 도구('inaturalist-clumper')를 구축했다.
- 클러스터링된 데이터를 GitHub에 호스팅하여 JavaScript가 CORS를 통해 접근할 수 있도록 했다.
- LLM 프롬프팅 능력을 활용하여, JSON 데이터를 가져와 동적 갤러리(썸네일/모달) 기능을 갖춘 웹 페이지를 생성하는 과정을 자동화했다.
iNaturalist Sightings
2026 년 5 월 1 일
내 iNaturalist 관측 기록 (두 개의 별도 계정) 을 발생 시간별로 그룹화하여 보고 싶었습니다. 이번 주말 캠핑을 가게 되므로 Claude Code 를 이용해 웹에서 이 작업을 전적으로 휴대폰으로 수행했습니다.
먼저 관측 데이터를 가져오고 "클러мп(clumping)"하는 inaturalist-clumper Python CLI 도구를 구축했습니다. 기본 설정은 서로 2 시간 이내이고 5km 이내에 있는 관측 데이터를 클러프로 그룹화합니다.
그런 다음 simonw/inaturalist-clumps 를 Git 스크래핑 저장소로 설정하여 해당 도구를 실행하고 결과를 clumps.json 파일에 기록했습니다.
그 JSON 파일은 GitHub 호스팅되어 있으므로 JavaScript 가 CORS 를 통해 가져올 수 있습니다.
마지막으로 내 simonw/tools 저장소에 대해 다음 프롬프트를 실행했습니다:
Build inat-sightings.html - an app that does a fetch() against https://raw.githubusercontent.com/simonw/inaturalist-clumps/refs/heads/main/clumps.json and then displays all of the observations on one page using the https://static.inaturalist.org/photos/538073008/small.jpg small.jpg URLs for the thumbnails - with loading=lazy - but when a thumbnail is clicked showing the large.jpg in an HTML modal. Both small and large should include the common species names if available
최근 기사
- LLM 0.32a0 는 주요 호환성 유지 개편입니다 - 2026 년 4 월 29 일
- 이제 사망한 OpenAI Microsoft AGI 조항의 역사를 추적합니다 - 2026 년 4 월 27 일
- DeepSeek V4 - 거의 최전선에 있으며 가격의 일부입니다 - 2026 년 4 월 24 일
AI 자동 생성 콘텐츠
본 콘텐츠는 Simon Willison Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기