PageSourceSearch

https://ejhudson.netlify.app/project/rangemap-project/

html ejhudson.netlify.app collected 2026-10-03 10:41:18 UTC 16,690 bytes, 22 lines download raw bytes

1<!doctype html><html lang=en-us><head><meta charset=utf-8>
2<!-- This site is hosted on Netlify. Anyone can build and deploy a site
3     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=7b9c31a3-2b3a-48d0-990e-a5d1d9ee1773
4     Netlify hosting facts for this site: static/SSR served via Netlify Edge. --><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=generator content="Wowchemy 5.0.0-beta.3 for Hugo"><meta name=author content="Emily J. Hudson"><meta name=description content="Generating kde-based range maps from observance data As part of a project with Megan Mitchell and Nicole Creanza, I used BigQuery on the Google Cloud platform to compile sighting records of 42 species of in the Passerellidae family of sparrows."><link rel=alternate hreflang=en-us href=https://ejhudson.netlify.app/project/rangemap-project/><link rel=preconnect href=https://fonts.gstatic.com crossorigin><meta name=theme-color content="#1565c0"><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.min.css integrity="sha256-FMvZuGapsJLjouA6k7Eo2lusoAX9i0ShlWFG6qt7SLc=" crossorigin=anonymous><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.2.0/styles/github.min.css crossorigin=anonymous title=hl-light media=print onload="this.media='all'"><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.2.0/styles/dracula.min.css crossorigin=anonymous title=hl-dark media=print onload="this.media='all'" disabled><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.min.css integrity="sha512-1xoFisiGdy9nvho8EgXuXvnpR5GAMSjFwp40gSRE3NwdUdIMIKuPa7bqoUhLD0O/5tPNhteAsE5XyyMi5reQVA==" crossorigin=anonymous media=print onload="this.media='all'"><link rel=preload as=style href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Roboto+Mono&family=Roboto:wght@400;700&display=swap"><link rel=stylesheet href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Roboto+Mono&family=Roboto:wght@400;700&display=swap" media=print onload="this.media='all'"><link rel=stylesheet href=/css/wowchemy.003d2be57501b5669ca58ef75468ece2.css><link rel=manifest href=/index.webmanifest><link rel=icon type=image/png href=/media/icon_hua2ec155b4296a9c9791d015323e16eb5_11927_32x32_fill_lanczos_center_2.png><link rel=apple-touch-icon type=image/png href=/media/icon_hua2ec155b4296a9c9791d015323e16eb5_11927_180x180_fill_lanczos_center_2.png><link rel=canonical href=https://ejhudson.netlify.app/project/rangemap-project/><meta property="twitter:card" content="summary_large_image"><meta property="og:site_name" content="Emily J. Hudson"><meta property="og:url" content="https://ejhudson.netlify.app/project/rangemap-project/"><meta property="og:title" content="Sister species range maps | Emily J. Hudson"><meta property="og:description" content="Generating kde-based range maps from observance data As part of a project with Megan Mitchell and Nicole Creanza, I used BigQuery on the Google Cloud platform to compile sighting records of 42 species of in the Passerellidae family of sparrows."><meta property="og:image" content="https://ejhudson.netlify.app/project/rangemap-project/featured.jpeg"><meta property="twitter:image" content="https://ejhudson.netlify.app/project/rangemap-project/featured.jpeg"><meta property="og:locale" content="en-us"><meta property="article:modified_time" content="2025-07-17T21:36:45-05:00">
4<script type=application/ld+json>{"@context":"https://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://ejhudson.netlify.app/project/rangemap-project/"},"headline":"Sister species range maps","image":["https://ejhudson.netlify.app/project/rangemap-project/featured.jpeg"],"datePublished":"0001-01-01T00:00:00Z","dateModified":"2025-07-17T21:36:45-05:00","author":{"@type":"Person","name":"Emily J. Hudson"},"publisher":{"@type":"Organization","name":"Emily J. Hudson","logo":{"@type":"ImageObject","url":"https://ejhudson.netlify.app/media/icon_hua2ec155b4296a9c9791d015323e16eb5_11927_192x192_fill_lanczos_center_2.png"}},"description":"Generating kde-based range maps from observance data As part of a project with Megan Mitchell and Nicole Creanza, I used BigQuery on the Google Cloud platform to compile sighting records of 42 species of in the Passerellidae family of sparrows."}</script>
4<title>Sister species range maps | Emily J. Hudson</title></head><body id=top data-spy=scroll data-offset=70 data-target=#TableOfContents class=page-wrapper data-wc-page-id=90ce7055e96073b593bcbedf720ae1a8>
4<script src=/js/wowchemy-init.min.eca9bbc7a71accd5ebd9eee0ff004132.js></script>
4<aside class=search-modal id=search><div class=container><section class=search-header><div class="row no-gutters justify-content-between mb-3"><div class=col-6><h1>Search</h1></div><div class="col-6 col-search-close"><a class=js-search href=# aria-label=Close><i class="fas fa-times-circle text-muted" aria-hidden=true></i></a></div></div><div id=search-box><input name=q id=search-query placeholder=Search... autocapitalize=off autocomplete=off autocorrect=off spellcheck=false type=search class=form-control aria-label=Search...></div></section><section class=section-search-results><div id=search-hits></div></section></div></aside><div class=page-header><nav class="navbar navbar-expand-lg navbar-light compensate-for-scrollbar" id=navbar-main><div class=container-xl><div class="d-none d-lg-inline-flex"><a class=navbar-brand href=/>Emily J. Hudson</a></div><button type=button class=navbar-toggler data-toggle=collapse data-target=#navbar-content aria-controls=navbar aria-expanded=false aria-label="Toggle navigation">
5<span><i class="fas fa-bars"></i></span></button><div class="navbar-brand-mobile-wrapper d-inline-flex d-lg-none"><a class=navbar-brand href=/>Emily J. Hudson</a></div><div class="navbar-collapse main-menu-item collapse justify-content-start" id=navbar-content><ul class="navbar-nav d-md-inline-flex"><li class=nav-item><a class=nav-link href=/#about><span>About</span></a></li><li class=nav-item><a class=nav-link href=/#projects><span>Projects</span></a></li><li class=nav-item><a class=nav-link href=/#publications><span>Publications</span></a></li><li class=nav-item><a class=nav-link href=/#tags><span>Topics</span></a></li></ul></div><ul class="nav-icons navbar-nav flex-row ml-auto d-flex pl-md-2"><li class="nav-item d-none d-lg-inline-flex"><a class=nav-link href=/ aria-label><i class="fas fa-" aria-hidden=true></i></a></li><li class=nav-item><a class="nav-link js-search" href=# aria-label=Search><i class="fas fa-search" aria-hidden=true></i></a></li><li class="nav-item dropdown theme-dropdown"><a href=# class=nav-link data-toggle=dropdown aria-haspopup=true aria-label="Display preferences"><i class="fas fa-moon" aria-hidden=true></i></a><div class=dropdown-menu><a href=# class="dropdown-item js-set-theme-light"><span>Light</span></a>
6<a href=# class="dropdown-item js-set-theme-dark"><span>Dark</span></a>
7<a href=# class="dropdown-item js-set-theme-auto"><span>Automatic</span></a></div></li></ul></div></nav></div><div class=page-body><article class="article article-project"><div class="article-container pt-3"><h1>Sister species range maps</h1><div class=article-metadata><span class=article-date>Last updated on
8Jul 17, 2025</span></div></div><div class="article-header article-container featured-image-wrapper mt-4 mb-4" style=max-width:720px;max-height:480px><div style=position:relative><img src=/project/rangemap-project/featured_hu1a294848f3051b9f92dad6957c31709f_610827_720x0_resize_q75_lanczos.jpeg alt class=featured-image></div></div><div class=article-container><div class=article-style><div id=generating-kde-based-range-maps-from-observance-data class="section level2"><h2>Generating kde-based range maps from observance data</h2><p>As part of a project with Megan Mitchell and <a href=https://as.vanderbilt.edu/biosci/bio/nicole-creanza>Nicole Creanza</a>, I used BigQuery on the Google Cloud platform to compile sighting records of 42 species of in the Passerellidae family of sparrows. Our goal was to estimate the degree of range overlap for each pair of sister species; we wanted the range to be restricted to breeding season, where applicable, and comparable across species with orders of magnitude differences in number of recorded sightings. For most North American sparrows, thousands of records were compiled on eBird.</p><div class=float><img src=exampleBigQuery.png alt="An example query of the complete eBird records dataset for one species (Worthen’s sparrow) on the Google Cloud platform."><div class=figcaption>An example query of the complete eBird records dataset for one species (Worthen’s sparrow) on the Google Cloud platform.</div></div><p>Below are an example of some basic range maps I generated using different density estimations from one sister species pair.</p><div class=float>
8<img src=kdemaps.png alt="Range polygons generated by applying different density thresholds to kernel density estimation."><div class=figcaption>Range polygons generated by applying different density thresholds to kernel density estimation.</div></div></div><div id=ebird-status-and-trends class="section level2"><h2>eBird Status and Trends</h2><p>Ultimately, we decided to take advantage of the <a href=https://science.ebird.org/en/status-and-trends>eBird Status and Trends dataset</a>, which combines eBird reports with satellite images and statistical models to predict species occupancy every week of the year.</p><div class=float><img src=Pooecetes%20gramineus_Artemisiospiza%20belli.png alt="The same species pair as above, shown with breeding season data from eBird Status and Trends. Figure taken with permission from Mitchell, Hudson and Creanza (in prep)."><div class=figcaption>The same species pair as above, shown with breeding season data from eBird Status and Trends. Figure taken with permission from Mitchell, Hudson and Creanza (in prep).</div></div></div></div><div class=article-tags><a class="badge badge-light" href=/tag/r/>R</a>
9<a class="badge badge-light" href=/tag/sql/>SQL</a>
10<a class="badge badge-light" href=/tag/gis/>GIS</a></div><div class=share-box aria-hidden=true><ul class=share><li><a href="https://twitter.com/intent/tweet?url=https://ejhudson.netlify.app/project/rangemap-project/&text=Sister%20species%20range%20maps" target=_blank rel=noopener class=share-btn-twitter><i class="fab fa-twitter"></i></a></li><li><a href="https://www.facebook.com/sharer.php?u=https://ejhudson.netlify.app/project/rangemap-project/&t=Sister%20species%20range%20maps" target=_blank rel=noopener class=share-btn-facebook><i class="fab fa-facebook"></i></a></li><li><a href="mailto:?subject=Sister%20species%20range%20maps&body=https://ejhudson.netlify.app/project/rangemap-project/" target=_blank rel=noopener class=share-btn-email><i class="fas fa-envelope"></i></a></li><li><a href="https://www.linkedin.com/shareArticle?url=https://ejhudson.netlify.app/project/rangemap-project/&title=Sister%20species%20range%20maps" target=_blank rel=noopener class=share-btn-l
10inkedin><i class="fab fa-linkedin-in"></i></a></li><li><a href="whatsapp://send?text=Sister%20species%20range%20maps%20https://ejhudson.netlify.app/project/rangemap-project/" target=_blank rel=noopener class=share-btn-whatsapp><i class="fab fa-whatsapp"></i></a></li></ul></div><div class="media author-card content-widget-hr"><a href=https://ejhudson.netlify.app><img class="avatar mr-3 avatar-circle" src=/author/emily-j.-hudson/avatar_hubb3e307997cdec075ccc12f9f4c80754_139917_270x270_fill_q75_lanczos_center.jpg alt="Emily J. Hudson"></a><div class=media-body><h5 class=card-title><a href=https://ejhudson.netlify.app>Emily J. Hudson</a></h5><h6 class=card-subtitle>evolutionary biologist and data enthusiast | she/they</h6><ul class=network-icon aria-hidden=true><li><a href=mailto:[email protected]><i class="fas fa-envelope"></i></a></li><li><a href=/><i class="fas fa-"></i></a></li><li><a href="https://scholar.google.com/citations?user=aeKQCqoAAAAJ&hl=en" target=_blank rel=noopener><i class="fas fa-graduation-cap"></i></a></li><li><a href=https://github.com/emhudson target=_blank rel=noopener><i class="fab fa-github"></i></a></li><li><a href=https://www.linkedin.com/in/ejhudson1/ target=_blank rel=noopener><i class="fab fa-linkedin"></i></a></li></ul></div></div><div class="article-widget content-widget-hr"><h3>Related</h3><ul><li><a href=/project/landmap-project/>Endangered species critical habitat for sale</a></li><li><a href=/project/nash-sm4-project/>Nashville Autonomous Recording + BirdNET Project</a></li><li><a href=/project/mediamix-project/>Media Mix Modeling Demo</a></li><li><a href=/project/ggplot-test/>Songmeter Analysis</a></li></ul></div><div class="project-related-pages content-widget-hr"></div></div></article></div><div class=page-footer><div class=container><footer class=site-footer><p class=powered-by></p><p class=powered-by>Published with <a href="https://wowchemy.com/?utm_campaign=poweredby" target=_blank rel=noopener>Wowchemy</a> — the free, <a href=https://github.com/wowchemy/wowchemy-hugo-modules target=_blank rel=noopener>open source</a> website builder that empowers creators.</p></footer></div></div><div id=modal class="modal fade" role=dialog><div class=modal-dialog><div class=modal-content><div class=modal-header><h5 class=modal-title>Cite</h5><button type=button class=close data-dismiss=modal aria-label=Close>
11<span aria-hidden=true>&#215;</span></button></div><div class=modal-body><pre><code class="tex hljs"></code></pre></div><div class=modal-footer><a class="btn btn-outline-primary my-1 js-copy-cite" href=# target=_blank><i class="fas fa-copy"></i>Copy</a>
12<a class="btn btn-outline-primary my-1 js-download-cite" href=# target=_blank><i class="fas fa-download"></i>Download</a><div id=modal-error></div></div></div></div></div>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin=anonymous></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/instant.page/5.1.0/instantpage.min.js integrity="sha512-1+qUtKoh9XZW7j+6LhRMAyOrgSQKenQ4mluTR+cvxXjP1Z54RxZuzstR/H9kgPXQsVB8IW7DMDFUJpzLjvhGSQ==" crossorigin=anonymous></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/4.1.4/imagesloaded.pkgd.min.js integrity="sha256-lqvxZrPLtfffUl2G/e7szqSvPBILGbwmsGE1MKlOi0Q=" crossorigin=anonymous></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.6/isotope.pkgd.min.js integrity="sha256-CBrpuqrMhXwcLLUd5tvQ4euBHCdh7wGlDfNz8vbu/iI=" crossorigin=anonymous></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.2.0/highlight.min.js integrity="sha512-TDKKr+IvoqZnPzc3l35hdjpHD0m+b2EC2SrLEgKDRWpxf2rFCxemkgvJ5kfU48ip+Y+m2XVKyOCD85ybtlZDmw==" crossorigin=anonymous></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.2.0/languages/r.min.js></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.2.0/languages/python.min.js></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.2.0/languages/latex.min.js></script>
12<script src=https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.min.js integrity="sha512-SeiQaaDh73yrb56sTW/RgVdi/mMqNeM2oBwubFHagc5BkixSpP1fvqF47mKzPGWYSSy4RwbBunrJBQ4Co8fRWA==" crossorigin=anonymous></script>
12<script id=search-hit-fuse-template type=text/x-template>
13        <div class="search-hit" id="summary-{{key}}">
14          <div class="search-hit-content">
15            <div class="search-hit-name">
16              <a href="{{relpermalink}}">{{title}}</a>
17              <div class="article-metadata search-hit-type">{{type}}</div>
18              <p class="search-hit-description">{{snippet}}</p>
19            </div>
20          </div>
21        </div>
22      </script>
22<script src=https://cdnjs.cloudflare.com/ajax/libs/fuse.js/3.2.1/fuse.min.js integrity="sha256-VzgmKYmhsGNNN4Ph1kMW+BjoYJM2jV5i4IlFoeZA9XI=" crossorigin=anonymous></script>
22<script src=https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js integrity="sha256-4HLtjeVgH0eIB3aZ9mLYF6E8oU5chNdjU6p6rrXpl9U=" crossorigin=anonymous></script>
22<script src=/js/_vendor/bootstrap.bundle.min.f81d0a1705048649befc8b595e455a94.js></script>
22<script src=/en/js/wowchemy.min.e20609e6ad3f7fce339ee2e74f13682b.js></script>
22<script async defer src=https://buttons.github.io/buttons.js></script>
22</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.