(Acest articol a fost publicat pentru prima dată pe R pe kieranhealy.orgși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Cele cinci cartiere ale orașului New York pot fi tăiate informal sau formal în multe bucăți diferite, în funcție de ceea ce faci. Ca parte a unui proiect în derulare, am realizat recent un pachet R, nycmapscare vă permite să desenați hărți ale unora dintre aceste zone geografice. Lucrurile fiind ceea ce sunt, aceste unități spațiale nu se suprapun neapărat în moduri compatibile. Districtele orașe, de stat și ale Congresului, districtele școlare, secțiile de poliție, companiile de pompieri, secțiile electorale, districtele judecătorești municipale, codurile poștale … există o mulțime de ele. Unele dintre ele sunt destul de simple; alții stau la pândă cu răbdare pentru a prinde analiști neprudenți (mă uit la tine, coduri poștale / ZCTA-uri).
Cartografierea tracturilor și NTA
Două clasificări de interes deosebit pentru oameni ca mine sunt Census Tracts și Neighborhood Tabulation Areas (NTAs). Secțiile de recensământ sunt definite de Biroul de recensământ și fac parte dintr-un set imbricat de unități geografice care merg de la cea mai mică unitate pe care o păstrează recensământul (blocul) până la cea mai mare (întreaga țară). Blocurile se adună în grupuri de blocuri, grupurile de blocuri se adună în Tracturi. Tracturile se adună la județe. Desigur, există mai multe complicații. În mod ideal, Recensământul ar dori ca zonele geografice învecinate, subjudețene, cu aproximativ 4.000 de persoane în ele, sau cel puțin între 1.200 și 8.000 de persoane. Aceasta înseamnă că tracturile pot varia considerabil în zona geografică. Ele urmăresc în general caracteristicile vizibile ale mediului, fie ele fizice sau construite. Zonele nelocuite primesc, de asemenea, denumiri de tract, astfel încât, în principiu, putem obține o hartă completă la nivel de tract a unei zone fără goluri. Iată cum arată o hartă a orașului New York la nivel de tract:
1 2 3 4 5 6 |
ggplot(nycmaps::nyc_census_tracts_2020_sf) + geom_sf(aes(fill = boro_name), color = "black", linewidth = 0.1) + scale_fill_brewer(palette = "Set2") + labs(fill = "Borough") + theme_void() |

Limitele tractului de recensământ NYC 2020.
Puteți vedea variația dimensiunii tractului (comparați de exemplu tracturile Staten Island cu cele din Manhattanul inferior). Și puteți vedea și caracteristici care sunt incluse pe hartă dar, cel puțin într-o primă aproximare, nu au rezidenți permanenți. Acea pată mare și rotundă din colțul de sud-est al Queens, de exemplu, este aeroportul JFK. Există aproximativ 2.300 de sectoare de recensământ în New York City. (În mod firesc, numărul și aspectul lor spațial se schimbă de la recensământul decenal la recensământul decenal, pentru că de ce ar trebui să fie viața ușoară?)
Între timp, zonele de intabulare de cartier nu sunt unități oficiale de recensământ. Ele sunt una dintre numeroasele subdiviziuni utilizate de guvernul orașului New York. Ideea este de a agrega tracturi în unități care corespund aproximativ cartierelor la care oamenii se referă în mod convențional. Aceasta este, desigur, o sarcină imposibilă, pentru că oamenii nu sunt de acord asupra limitelor cartierului. Dar ideea este bună. Vrei ceva mai mare decât un tract, deoarece acestea sunt suficient de mici pentru a fi zgomotoase pe multe măsuri produse de principala sursă de date la nivel de tract, American Community Survey. Dar vrei ceva mai mic decât la nivelul următor, care este o zonă de tabulare a districtului comunitar. În prezent, există 262 de NTA. Arata asa:
1 2 3 4 5 |
ggplot(nycmaps::nyc_nta20_sf) + geom_sf(aes(fill = boro_name), color = "black", linewidth = 0.1) + scale_fill_brewer(palette = "Set2") + labs(fill = "Borough") + theme_void() |


2020 Suprafețele de intabulare de vecinătate
NTA-urile au nume recunoscute:
1 |
nycmaps::nyc_nta20_sf |> select(nta2020, nta_name, nta_abbrev) |
Simple feature collection with 262 features and 3 fields Geometry type: MULTIPOLYGON Dimension: XY Bounding box: xmin: 913175.1 ymin: 120128.4 xmax: 1067383 ymax: 272844.3 Projected CRS: NAD83 / New York Long Island (ftUS) First 10 features: nta2020 nta_name nta_abbrev 1 BK0101 Greenpoint Grnpt 2 BK0102 Williamsburg Wllmsbrg 3 BK0103 South Williamsburg SWllmsbrg 4 BK0104 East Williamsburg EWllmsbrg 5 BK0201 Brooklyn Heights BkHts 6 BK0202 Downtown Brooklyn-DUMBO-Boerum Hill DwntwnBk 7 BK0203 Fort Greene FtGrn 8 BK0204 Clinton Hill ClntnHl 9 BK0261 Brooklyn Navy Yard BkNvyYrd 10 BK0301 Bedford-Stuyvesant (West) BdSty_W
Când avem un tabel ca acesta, putem obține date la nivel de sector de la recensământ, de exemplu, despre nivelul de educație, și le putem agrega la nivelul NTA. Apoi putem uni acele date cu colecția simplă de caracteristici care are geometriile noastre în ea. Cu puțină lustruire (despre care puteți citi totul în ceea ce eu personal consider o carte foarte utilă), obținem ceva de genul acesta:


diplome de BA sau superioare în cadrul ANT-urilor.
În mod nominal, NTA cu populație zero devin gri (JFK, LGA, diverse parcuri și cimitire, Brooklyn Navy Yards, Națiunile Unite etc.).
Iată cum arată aceste date la nivel de tract:


Licență sau diplome superioare în tracturi.
Hexgrids
Uneori dorim o reprezentare mai schematică a geografiilor, deoarece hărțile coropletice pot fi dificil de lucrat. Există multe posibilități aici, inclusiv să nu desenați hărți deloc. O opțiune este să facem un fel de cartogramă transformând poligoanele hărții noastre într-o grilă teselated în care fiecare unitate primește o singură piesă. Mele nychex pachetul oferă plăci hexagonale și pătrate pentru NTA și tracturi din New York City. Transformarea poligoanelor precise din punct de vedere geografic în grile obișnuite cu plăci poate fi puțin dificilă, mai ales când poligoanele pe care încercați să le plasați conțin „găuri”. Dar datorită tilemaps şi rmapshaper pachetele pe care le putem ajunge destul de departe într-un mod semi-automat și apoi să modificăm lucrurile prin deplasarea manuală a plăcilor. Harta noastră hexagonală NTA de bază arată astfel:
1 2 3 4 5 |
ggplot(nychex::nyc_nta20_hex_sf) + geom_sf(aes(fill = boro_name), color = "black", linewidth = 0.3) + scale_fill_brewer(palette = "Set2") + labs(fill = "Borough") + theme_void() |


Tabla de joc de deschidere pentru viitorul meu joc de strategie, Bilet la Ridgewood
Și iată cum arată harta noastră de prevalență BA atunci când este mapată cu ea:


Etichetat NTA hexmap
Aici am etichetat hexurile cu versiunea (uneori foarte) prescurtată a numelui lor NTA. Hărțile de genul acesta nu rezolvă prin magie dificultățile de reprezentare spațială a datelor bazate pe populație, dar au utilizările lor. Ele pot fi la îndemână dacă doriți să obțineți rapid o senzație de variație între unități, păstrând în același timp un aspect aproximativ spațial. De asemenea, fac unele tipuri de parcele mici-multiple sau fațetate puțin mai ușor.
Nu trebuie să ne oprim la rezoluția la nivel de NTA. Putem face și una la nivel de tract. Iată o hartă hexagonală de bază la nivel de tract:


Bilet la Ridgewood, ediție avansată
Această hartă face o serie de compromisuri cu geografia orașului pentru a face loc pentru hexagonul fiecărui tract. În special, nordul Manhattanului este mai detașat de Bronx decât este ideal și a fost, de asemenea, necesar să se separe Brooklyn de Queens de-a lungul graniței lor comune. (Algoritmul nostru de simplificare și terasa a avut o perioadă foarte dificilă cu masa de uscat Brooklyn/Queens nediferențiată.) Cu o hartă hexagonală complet desenată manual, probabil că am putea evita majoritatea acestor probleme, dar asta ar implica o cantitate destul de substanțială de muncă. Chiar și atunci când generăm componentele principale din punct de vedere algoritmic, este încă necesară o mică ajustare manuală a poziționării și aspectului general (mai ales pentru lucruri precum Rockaways și alte insule sau cvasi-insule). Din păcate, nu există o modalitate magică de a integra poligoanele principale ale cartierului, păstrând în același timp orientarea tuturor hexurilor. Totuși, rezultatul nu este rău.
Iată harta noastră BA în formă hexagonală la nivel de tract:


Harta BA la nivel de tract.
Beneficiile și dezavantajele obișnuite ale coropleților regularizați sunt în evidență aici. Populația din Lower Manhattan primește un strigăt mai corect, la fel ca părți din Brooklyn și Bronx. Geografia încă mai funcționează. Dificultățile provin mai degrabă din faptul că harta se află în primul rând la nivel de tract, mai degrabă decât din terasa. Adică, unele tracturi au forme neobișnuite care duc la estimări destul de zgomotoase. De exemplu, uneori un tract va consta de cele mai multe ori a unui parc sau a unei zone industriale, dar au câteva segmente rezidențiale. Acest lucru poate însemna că ajunge să fie măsurat prea sus sau prea jos pentru lucrul pe care îl numărăm. Sau, prin contrast, un tract ar putea fi aproape în întregime un singur tip de entitate, cum ar fi o casă de bătrâni, producând rezultate care ar putea părea ciudate dacă nu știi ce este în acel loc. Puteți vedea de ce orașul urmărește la nivelul NTA pentru multe dintre rezumatele sale. Are de zece ori mai puține unități, dar lucrurile sunt netezite într-un mod care poate fi mai util. Orice metodă de măsurare din lumea reală vine cu o anumită rată de eroare, despre care Recensământul oferă estimări. Hărțile frumoase vă tentează să reificați observațiile și să rotiți fire despre ceea ce vedeți, fie că este un poligon spațial fin detaliat sau un hexagon plăcut obișnuit. Cu cât boabele de observație sunt mai fine, cu atât este mai important pentru tine să știi despre situația de pe teren. Literalmente.
