From cebe12f76252c3722de3b28f788ba0f4cbd20214 Mon Sep 17 00:00:00 2001 From: elipousson Date: Mon, 11 Nov 2024 15:09:13 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20elipouss?= =?UTF-8?q?on/mapbaltimore@9cf953d67f6a3fad50120e0d3b6448b0bf8dc621=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../figure-html/layer_area_osm-1.png | Bin 439297 -> 439410 bytes pkgdown.yml | 2 +- reference/get_area_citations.html | 6 +-- reference/get_area_property.html | 40 +++++++++--------- search.json | 2 +- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/articles/get_area_files/figure-html/layer_area_osm-1.png b/articles/get_area_files/figure-html/layer_area_osm-1.png index ee3ba4a27c60cfba13dcdf11ee957f2ccd6bd510..941a2bbc6514f1592f71bea85425f1769d71d56d 100644 GIT binary patch delta 328431 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 _CK)M8w&*`nnoxB$#9W4SD6MYFpyW2UsQfQ1zq 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%0D%glJ<--sZpOW%f{9 zYD!aG(?;~3(@y+&3=_@(-XG=&RVb$K_7HbyFk%X0M14{YE=Al@Susd9a)Ir|F(oBG z`H%C7dOwRBr3M{s8x70ufP9Ty16VLN`6jznwY+G!;}ggFk7qN=*G>S;K9OHlCvbUM zZcXcs=&oeD5pIE_{RMx8KI;414tJ{PA~x{Y)H~ zG_qX4jBXEvyqLv@VBH1Vt-_Wj9r(nRfZM5PQz`fk@Iqnk@h;2i>e2k_0Hh(G|J`j# zIt+b*F5W=AABx6;`Y=8!qn#GN$258!!fPW;mNm}i!S9c@MRfN4p=;cStVmmS7;DT* zd#^IqqOPCDf3hfFea6#F!Se*)p>O?@GH3wFSKj{w66{m)x?ZtwjC7Bedb05Qyod^r zp|tlVlx?+(H?SquUfohRAJ`<>!>`9|DgEG?2>L_I?z-#i$lT3ULDsjUXZfA5R;nDy zR|5Yu>{czeT75#Sai)du`gr*-_9$8=Xz30p2!9bgsD3!R1w? z@1pAt#!hVzH)PC|4V#jyN4LLo_Nfdf>q^hs_zWgUIK}V$(oyl~u3MkUf>kaI^{7%O0IDF-7}sYkRwKTg zA4hoFboqxH33;X5!i=TO*n9`e#t|cBOT>@w&M5}gail^T3J6INcj|~hi{v_ihc@Jq z!D}xdeRXM#*rewP>K#}g2{a^MDbYzM3>vWTfyfT~>@W0kMa;StcdDxoy(kyG4c;w3 z$Yd$e8oU8J{9#GHsQYoB#H^K!>{m;sS93UP+2w_duEz)K^9c(9Y$h4o>#G{Zdl$DC zdSnR^qMa(is3xP_}Z=xfd0M@kHfJcRDyagXr!qj8Ku3a zQ2)v06+U0EF=x9c*ERs z@l>Bx7=Ki~CrPIKl%gTXYvS}ALZTJTn8d(x=|s!oZimUvYGM&j9#N;dbe=J359eyS z*YHd#L+E7?(VEi+Cy3zQ$povjp1Dn<_-QND)4?Uu^iBH70R(Ad(>Qe2pt}+RQ#njD z&bv5H&0e{eCXW+A9;J3K&j!d){uG!L{smF7G)N6d6?lf$1EEV{s(|HD>Fg-@){g?) zYF_8&sh)odlv16cjC$YgS)qKx`TVaAQy`13@81Hb9CG}=ORV8q*hAqJ;KAIiTMbyn zxdyO!<57GVtV<@&EdGfc_HS9RE8uVyr_h>7oSO1NDtJ zYh8K?0xd&0YU0~2Q!09_CLlM(PekU>0;m4pmNZzO=9!4pB4b1TQ`6|~n7%G zGOzOFWv=cKAfq8ajS^7jMxe{2E)NBV;S)$+@egLx$Lf%4pbVJZIu=J$# zSz8XnYg?4->hC=1*d_Ps>gr2zFi}1qUu*|0qm^Y9aM@UFgDNSLQdBUXx4C5&cOGb`MSGcl&fk@Zq{tx@>>qJX!QP>5sKUjoX<6pDNQ& zZdZ%y@{Fvok|nlD6K@B(C);-w+8gZnIxJPPYbCYNqtc{hgu*2xN*ORnIpTS$>JYhI9Hz#kS{5MkFMS=1d zECvUvEg()*?qZvD8mwA?8?InDFa})eGJDB3OM4W9y^KKtOG%D`9Bp*J@1El&cd(>s4^O! z4(01T2svF+!R;YfFc%6M1>`2={F;yb3!8t=)A!WC8q)XSNW4%}nm{pz;EhC-ZXws>ExfsfO; zJnVA*a?H)Reu8@;x*jDF&LbAh7_7nFcT@SLt~L}QbOdS{JZ**Wi3)7M|kbUIJT`a^X+H8=)^`8HBFu}W0*Skfom#iJ=yhg z!&mQSJcp0zHoJybMN>7aN1@3FP^3W6rkn?TF<=yAnXce~iH{sdHC7UyXfpp{w; zw~yN+K~~$r`}|W+hzVDJRkBYFy68$M9^s=_yXvu4rG1<%a`z`A;QyTzUVJL-ymL*D zw4-VvV8_8`y&?I_Aa?!o4)(A2jz8BY>Nh`l!e@M2LN`0Nwzs#VRILP+lw;q4Ap;dE zkyIYO$@}^;5hIM(>=W-u=KH;o*Kfm&FA&(iSarmC4u_0n_VT9`L(2IChwN;BrjE+{(jmqLoPm2hFry=G0SHa8)q^_^kHN1cp#3eh>q8k!L-iATufWgFqxL!Sa!R7)3E zX3G-2baTx->Z`u!H`w;9J|!KL_L;Uah*>*}685YP_N)GJXV*=!|^HB=G$hYd{ICy4D7jKOh5SEDJC8Yd& z;5T2qwMa%4UE=I}cI?=@tR=5*O#hU z%>L%KtY1qur{3b9n7bM(`ejO#!E~zZ4og$me(#?DuIGm0AMk2k-Bi?CjC9z<+>2U> zxiV$l+w_xZB89}CPoEG?)wqTRHc=pRpT5^AzrV50x|jY^x~9npqZT8xtHh0(<+TFU z&*8hY_;;D$&~rs}O7|lcdz$NQwr#0R+}ew+^6OCxcse~e82HJBqHpbUL^&e{DnJZC zngLd_h(JX5e&(GBvV<(G6ZBH5jhun#LMpjL3x{8J^_AEU#I~(c+Ppx{8_`(t6Cuv< znKAd92nv+0jhOQWrRE)ouuPMi8ngZGS8hp30b*G8W%M0)Ghg;^c-XIg0}E-=B%8Db4uB3;X_L&1*yd@3)s78>@z$lN8;faS~(aG&Z-l znWBf`wbq*?sMmXB=PL&Cf-EbzgSd)J5mzs=wTsEjKWS`CPVN6holQ1A=vSH{P!ytH z4O1`8&N!fNbgyNawB)4{YI=y5Iq6Y>XTiXo7iGcV<>R9Y;)~Z*>|<;D=!F*M==-Uq zu2++4G7SavrUPKoF8B1hmX9jsQYjXf{Fv780``Dgux%K(lDKVzswS5gSGiJhzd&JB5wq@L{=Wy$%)^=#x$>$z+shZteDLCFN z;$vI&fDif$yI+c-|L|;F(#*@3FC}1%I=rox9{63pzc#QEp0)3i>2Gzcs3t&yC18(P+ zUU|bhknVBpYGD4;CU4+~!e<5qbemt^+Kc)#B1dL(1z58pJMGvaieaoNrn?#x60r?B z-IdrEd@2R4wqr1+EA}osqV&aepN93E-v#Y4RtvyKt=A>{`h_nZe0vO39oHMK&7dN@ z92}N$4ZjZKKuuu-BX1wy@%Hhl>9a%~WP^&!EJR8}G#|M!-scAje#dqfd=ZY2qMIR1fP_kejFJLUlG4b~Dy4wZQiC8! zmvp_Gd++c4&(GLr*4cZlXFUNyX(_eyforAPd~NGL9-OIH{&QUEvrM_7diAAEe8fZX zrojV2x|T7q?~fr*;Qf9zGk~@(g8$;d?0-4RK8kL<*{p7jBt5l0_#jD6=h)sLxbBm} z1jC-754VFS&d}Dy@E~bo#T@Lx)(?72`{1<~yFJ6#yWyXrMK%_Xf}rdom&?!IS+{@} z{JsV?;B`(|D@amAWQ8rRTZf{lO5nVdv{hK~hj&TXaU|D+JVf7yu%R_eK%nMYDLSYG z&Lfg%C{T}=^NX~@Uwb6P7@TqarN>!cpM10~w{E|zh_;=9V@bWnIy1FLWD9`jp)Y#4 z1kQkz1AChmcQ7Ce(>|T}`Lo7%fBE~0qv+du#7`0kQ6mU)NW3pj53YuRXT*kmVqZ`F zgq1lzf(c&R#`5Y5D|uzD|2Fm5SDP(IYiC^oWh>q^noeMokYddqkP0C=r3kR}@vnwN zU^ZZb5}&X*bE9ME<_-Z$hhF{xn4Z!fatE4%RqN9f>qEz$Pc1Dgz-;*>b)QZ+v}nCq zAx9{0n64?OF@^=6Mc7MCk)`{FlMAJwzn@Q?ep~K8;Ap^`19nvV8f|nPxiCx)x~>!+ zh&<{@rLcNr(+G_r0^&Z)C>p}wtUS}=pwQisnek18O{j<`g6S&9U1DB`|3fv6l5ju( zp_S5HbUxQ}6%Kn}iJG^9dgg|>lC<`C>UxQ*8h0wya3C>3tDt2=zpP)E&JyaQXRMgj z@I2=WZzp#)&uN>-frW+@E*VB<>x{zE$Pt2;h&!WIUq-7t1NCx2Mxh>;`yJ77>ml=H zUio|eRBKcEw%zd*>fNozMD2;kT!HHR&rnM+2>S zma^QcS{wF0lvOecHdNX&7~}F>%{FWvMB9ewtEP8zvqIQZkVC%B?bmFF35`K^FF5ST z(vucGCFDQ&xI3Op5RHA6aVnhuo<6o{8MFK_h6tbIs|p`YKe-=m^vsY%z|w}vi~SkZ zv~C=RllBPv;FB8z+@yaRJ{~^UgB7OnmHe~+)dRhx!Z7fdCfp0qlag+l*deI-68!if z)2ei6J@g4Y+QG+XkuP7qyzID(40$}R=Qhj4-cSBY6FF7mFa=h4S_Y+tk|;W`C26Nm zR^UzT8wbazb*jgTxw(1nwP}TE!lFCkM9$8>35(FJ=c@q=71F1(Jh0GhW z$BhEpfttzXFni~wv~N?%vc6iJD0V6%!!F> zYim_FQa>_7?xpsH+-=Hw|K4gc19xd@x1VDYvLWj@gQPtJ5^vQ`@=phHf!P?8USoR>WMTpOgJ397rEwV4>=O+F6*hvA<;rA{}i#F8*ds^id8 zAB&WE{<01yR)>hjIMIHoUtXVSF_%YKa`%=o6q=vkw+oH34*=8axC)2^L%_lB<9h%;1?P@!I390Pc-puhSzUg zK$oOajrAQylk;z~8v#WB>)JAM%y3 z8cR!+=i|MBPpVYMi0I=6N5{DjsV>wiy^8)wFjtyCS2{cG@edPYucMmZdZci8ZUB)` zzI8K2jz@7ZVFk*Wh!r$g>Ho?iX*(3~Wd$CDu--Uu<7ap^wi#LWZ)3Nshdh~immdKV zwtBTRC)cGO38UnDynmXlw}Ej&yZ>oE!+5#r-CfPQaUkkV8hpu5DVuQ>>%f+r8EO}@ z7!vy~4aqM)yw~7Sbu?-o-snW@2r9b>fYnJ|8yD3fptb z!SkB>FF_3_n31miVE4s@U;@ZJ>ogP)md*M2BSX2azCLOhe7g_$#e4SI$ifm34#bz| zf2hZ+MuX$*b7SMQdSCQPb0O8dbTpz8?vws{H+TeP8Qay z+S?9Z-m3hYq5T#xzO_>=K)3~3b!i^k=GpqaVbcT1ngm%B=dE2$fw{{zK1HM8I#~*f zSJgsLiX=~J-w{wtg6t2IAL0g0mWbrZH`+X4E0?(tv^)+!b`gDxDf;+v*P4eq%F%TE zCRaQ5p+4{oTJROC_jMyl(s_+Gse-e@s?h#baBgaETl?WlHq^Gz$I6iiMJxPxG=#3I zg7e-W#co5GHuOvt{0>YGO;!z8;8~&g$}#=pf*|J1kY{@0_!s?IYxSfohKuD0){%<5 zm|vl189Ba#_N|8d!Vb_Y)o>jqN2PB5H#}leLNz;fY-c8eHRax^2@mnX4M>gF`v|9D z!Ar5^A{Qw91Z64jwV)mdQneb8x=NSsyS_Mus8z@>KhSD&=CVbtzsbQWo6EriH8?m6iZp2dOE9YSflBV)}}aIcN5piPKc-J-PxD4)pTf0x-WTI{BEp%0dp2a%Z**V2 z$!53j0!q^6Q6OUnlD)lKy8-74*6Bg7cV9-u4%d{EyQxb6g-96)Rk=#89Jz)5Tm!cO zY1rJga3$Cyv{Nlygh+ui>75;Xk}H=IomUHI)p3&FfBQ{4=}(`14RME4>*9CNR<->$ z!so(kxzzoEF0CA^Uaz6N`Q|EP_tz=C{Ji- zmU??`M(-+u_TQL5ZzD@ zg5R{!*m}4bj0i2$0Ov-^ElUkrr|HjvVfu=Y{ZEv6F>}xAjU-nOkIh_-gFUcWcYL2^ zW76~>WymbaP)>%eiu1rtalF%}LeXd$;0sA>oo3GCMy2Y{$o%B`?j=3TA6*v|bivD^)@Z9}0_REtYv-EnV4rQn~vj{28%bK`SwV9KX1LzpL zJZvB;nY^Knrk%D`>22A=kr{Gqkmq4BV8lNe5fgsVvxpA@n`uygE+tlSPJi8Q+WcO} zE-Hst6{FOIyRB_57V=_=aPG)SMEhp~!U<=9>}K>2PDG6A((rv0EWoHVJ95gie7ra(i3P7 z?yNoV@%(GEbo!`W9B__m?J2-8c$I}e&_G+IH*cQ)%teqcSfD9hQup6bx`UkZ-UF}c z?-R}yY}JBg;vjfSprH!*3fR?;dt8e3rK=+DP`r6u$}-)c=w(rQAbf*r|DD&w$n@4_ z<5|PyK^gjX6P%45P#sA7gp2&1&f@nDB%xlmul@+lHNosea6mvS6i|!yXo8Dr%u25n ze>GXe?tGAaLS%(YV72MhA@ZK}cJmPxiiCX@HFCV;oFr2} zuKDgT%6Wsj!T?_-=4TJvQ386c3GPlZW4j>S`p?Fpp5;Oe{iGQ#3U3TTr#Hjd@uQPjDLKxY-qe3AY^p#`-o+Ap|@>S76%U1bEAy@MFZx z{y(~uY3-5opE+{Dl}Ei;tb~GPd)S3F@U_BwTJxQ+FCKhLZ~N@WX|{5go-s7+9Or_^ z+I7l*&{bd^j{U8_E(=2lZ^#GGS{R9{&;0@{l_)ZO6}jp9-VY%a39aU>A9jTnJR)pR;p!mNyf+Oj#U%!+=Ocb%&l1asZGK9lrZK&Bw0|HS33CSGe@wat(WNiP^clL^% zIj1~UAs00J&ky;d{2$jo9VtTe7Qx)~)$xBDKef>F@^3fx@5Y8ia~2xzs=Bda+)Jy+ zB&4K;T?-hIPh9#hfKSv0&RE?251i2-#v2R`G{jkof9ZY`7Yti(EljgxpbYdd zfP#TWz0l3B>vjjXo!a{z-v83n9Xbyj3Ai4JkU-B>BO`U*-)E1pXj9?0;cKTm2zXg? z-bzmbsN=QB#DG)@RHl}+BNPjeS<$yMw-Hx3M>%G2Y@*rvgP8U2WQq;l-xcMBerq~@ zJ(}VT=mx-6-c7@A%Q92eSEm!C5cg{>KgLj`jLTDrthZHl-zL&d@|PI&hbG>BYac>h zG>;qv0UYy7NNr@l9we@kmuL9-t=VYZaBF4V_$)GdAwdQMPbtTfvy4eid-=%sK7$py z{3Zj#-^BX`mtl^D_vj$i_w$~OWUR6#r2fO+;~h-j)}oH$6sVr<{7Q2Z95@y4W5WJo zBSZ6 zJ+EHtyAq?+ya<1?30gGmTmWA6IS^UhdSG$^!T{x4fMohEh?wSq*!CTJz&TS2X4A9S z?I~bV8mt~RYCcz$#%Sx1^lNvApR3)})snYsUwBL5xNGaFg6INakN2hbhscR2@NmJ4 zCu^-5c7KlrQbzbhx@1(n>{&!!$sZlxl_+db@JT{k#ovt85KNtMFu@U#*vu9&W(Rw;HN~&x1;|Dt!MYZ>H z1}1~l$#xp7#1jVECssKfUIEQ687>1g5tr{@gKPS$b}Q2P^-G(G_^b-vjl!4g`VlDf z4z(gI6!$0UpVFHfg~GpNoV0HdR2;wx_bk3q);jOVGQ*&Y3zZ+}S2G6}jw7r8RiH@( zhdNv;6kJTlqr8T+E{AGs-k^a84a81Eq~u0gND~s3ihLA0=FXm{vvAo{ksHfw-tQgT zs{-BTdxM-MHcsA%F=wMlzJSi#LlHIBs)ueB?OMuO9sLD}t zLofSRbH&ftPZy$_5QVaOEEUC`m__~1=O#^F_^XPpJ>yP)(LU{P8PHx-w!?WrH#FW3 zzjq^&p0#$_08Q5cSE3LW*inN z-{WH}7K_8sun9wzfwK0;8z@n@jN{dpX|#l4&9qZ#?cD{J!dc0Ag)Z-c zb0C@i`hBxTVcjX}OX(Zr={}_RqaZbpv3zs{)CG*r&S72`@P{KC;nQE^*Wp&?(JS5i!l_Ww$sZC%FINn2(C}@H}ln zi5o$M4PPf~t@F4u^IjsVml{J7kmy#SfTVOjyDFYhHbE}9na?|IZjYT)V_{A++Kaj>A|^B>d^iqW4Qtf!5pJYcD)q1K=uNRG=duS)D+-@bl3I=_#M4=(?jDJa>*}4p8a<3;W>u<#= z4XQrsY`?*CJ80oYu-bZVN4>%uu^TZprDtrRVQoib(hwFW%6?B9X?s2CgYzc$@79*p zEkp&xj<9xjbu|N!?4Nk8M^~XohaM|R0WuaG-~Jmmo&T=W_p?x%Jr_FY314v)?mKF; z2>l@1&u6!+#}hEXw@4cYf>fDTz)BA`npCc*ITpYY%ZSXO|FCj329I^DHN_>YRZbC9 zAHAWTzxr4b2Wf+j#i;twqh`HiI9@@RuV-27n*-Zff^e_;MX4*-jOA=d!d~>Pwf0wG z_nKj|;)~(oat~uk=JtP_)b2hed1?0;bRV!tL^M`ZJQOmmdH=Iv^Ml20W5NlAhMyvF znoU-zuiyd`THt*Dh&r!|$;2(6J1ZMC>sCNpU0iJLBS%t=z6DLEE(MUpL~Cg>KiATB zT8NgBK|BFmfk`e8%H0(wy`&Cxx7k+_&+pUH(zag5W$taLihA|cM}j$py1>;NmjkgF zZN#SW-<8LDGolGa^lX%YDtRKJJnCJ7O*yOJUH8 zG67OiP6#^>gY(Tj=ndS;c>|M+5`TUCIa^)v#l3qk9!buuH|Bx=*@;y|wDQvwp?8tV zFDIzjTf40tn&LU{1}b}sHKL6-;3$;JNzlttyi_SdirwNgcCl{MJfQ*mxK%vlH}O0;34&|z z7h>;j+J{rub5A#VvVl6*)otS7BL@`pqCi z?~@C&ch1G3O#@YNhq}&hQw`N%oF)i$adtF;urcs?4}RzNwNaTlNT%`E-~luqbJFgB z8DJwwzu%Vq4%2cyggbVNXa}SdBKE>41Ao?(4}AtmwoXwP=w|Pah_Rux7<0)d60pmM zhlj)<&X@JJMLWO=kvX927^xeVgh^4OsFIJ42Q(T$ywsiCJl{l_P2rHO=DWdhDp&VA zjqECnNfO2*k7V~IqO&#wT7L6_6w1DIdV@~DWnoS+Hc79i?~uey<-$cg0soWD!@}n@ zH^@)^zlLaU{Md;{-jWI~lW*I!Z#Q+^m?5AABNBvV!!Z1jE*$0l{{6d7oTcjZ;(Pl4 z-XpYGFI*Ov721A*&gcd6Y(4sOFI)td0!98EecTK8$4S{EMf>!@b9so5LofS{rytSI zVf%`&lSs24>_pgWiM}ld*W8r=BJ1o|W7{ZNvLBwJ1Teiy(C!E)Soe#7#eqSNLzjnF z1*I#*tg>gE?r>3ERkb~ky6X&>0K$O7aFTCv`^as`w?UKt*>usv%sDSK(Eu2yt^fXN zJMg1CC*Ur%R-3>2yH6V$d2(k|n2YK~E;=Y~B;4OJ1aP-Pp`UU{3fRyCKHvmik<~wPG zbE5qLcm?dueF42)p{0jcr|8N7I3Gj!gPoVXJsLoxE*%|854`7P`-T9iiW$8%0N23n zA{L%R%Y1{!;tJ7(;h}rJ!8z%;IwdLPi`RbYz&xHMba{pQ)mYb^OQ(N_#|z5ZjNIi8 zj#iG1(je=>dgrp11hrFH0OXevu` zJft8s_X!zv$c^3}gtI7_!)DrTyQAByLO0E={ssZR3wD~*QfOPSP&OiyDRFv^*_}G2 zZ^;Lmz zx-detz%bmCU~BH~J!9DzkX!a6^*IZE?;dlY&wjvJkuq7Z79W9!-Fot={p>iyiPk=8t98X(oZy`@A{H){txAhG=BKVeiaptVG{hJC zUJkx(gq|CLvj_?+hcRguvOFm6*8IsBAjd%u!_Yr%DoMmU^Owb7-+b|$HP<~Sh?wxs zBDX{Hj>7N4PSEC~@IV6NNJtf{y0nj;8HJnhaVT`}>lrOY$_bylXk2)EK8kPN6-!d* zx(o(8llDfBU>wv@P_05a+F}gOt~d|aMZ)ISixmBS5ZyQju7p%*4j20@-60zXdkKg} zEiDS1h~j|MX^-hJEk2r41gZ)q0%dXiPg)Zb8Z!oGxfRrT6msb+k!dMmWh#sh`s7g1 z*RXVKdTmP3!H+`$T7^dNx5RxE& zI=zmjjwl;im3qrlW6r|`AkGE0=!FSYr>lgo86`s#0y^hLP^)Y$IlO{mG8Z)6souEx{ zqbZ#@B7`8Ymsct+otMvq$c9X9nw^!hV_da8V&;LXR9e?pr{1glw0>)ApH4i#ql5}u zI4|De2G}a3RqIRrD*F!+JMQvn!tYO|C9HW~3XK5-FFFzm?G(GY0Xg=hlX;yK? z+hFaJmC@Wz?))Za9FW4=+{ewYUF&zbd<0NkTrzjd`~2@=?CxBb2t2j;vZ;^JTQ(P zeYQgY0J0V=Qd|@V^ymqZKWt~;hwtLe6mUclo$?nDtEG^W8OMi)wPf|#yQ281Fr3rf z$`MB;&-GpTD1_3EXb*m+!L*+y*$f5{*N>mfEAbo6?sw%fGH0KZ=Z`AqCD;qSTT>hl z9Orxnt$|T!Y*5KVivH)E5#JU=>@=p6O`kFBR&pOQwr?y)ZdzbrR#J(IvDT!MNh*(J$in|dJ$h#RP+k8;Kd;6+jns@cy6~?;rmLCOj(cAKOv&Fq`oN?;K6s|+7s{k z%ZcIZ8Bl`XT^zq@pd`zRtN~00_rlRl$O<1IQKyea#1uGcHk`Q3Tl}BS@+Or%aOXR= z?e;E4N=zC9#L}d^{*pF&yDS(9pkRj>8D2He6725fYwx7%eZ9r7xw+ZH6usMqLb^pB zg(f_xcGPfG<06(Um)8;{mUQ1X;##@!!hE2Hkz7p0EFU{T{WZq1g!Bni|WU3UP*c}^WHN!+pWnxORbH-BDqV!;rm!`)Be`7 z;JucXUICo&XNgjsOgmKNBcrXU4%La5EV(-~>@sU1(C=ZmQ^c zolEFYEwaR*NNYIv5;80Jq<*{C_KAru-onFoRXesc6tT`pZGR$?j~2P#wkwF0;;s=A z4EesWmF~7=d&*ZwfJ{@j{p%hE82MdX!i&j|gP{$aAHoqZC~9ruMP6DJR_#Jp?V-fd zdrM>M39E=Mv%G(lP^pUO#!V%nHtx?8*ao!H@mu?sR!-N4C4_zO($Eov1sf73%bHqH zF+dI5vn@vreaveC?=nxOd1=`Z=1)FO8l*e4zFHDqkgr0f$M!~o$4%c@S0}si%x8OT zuI*qSax9Pk#>q@%wI1^&9|nt<@cYLn1E-|T+3+-DoH1gdfr_ z$8wi~muWT*RTT)!pxN;PLmOJ+w)6%1uEm%vMxxpdFf#nX8if;D2|6$*!$#PPHUr3X z#>h306&7R)uIAUVTnl77Vkwv}Kq=IK^gzyW+VwnNl#=8xY}+2&j*l7uC20)9^k-ru zSrf0slD)os05^Bu^`8Bnl+>|h6X7I;)us#tU3uA)k8i|t1je*F4!_7eZ4K1W3Bso2 zX_I+z&dP%fY-_#)Sq!tYi^~*ygrNM~GbB3SQl8obUDotj(R zaAf%lT|0NZ$w1)`*n?qmV{~=|mV(~}7DLddxPvQ3ruUz?>W5+~lAFvTUWi9R|K$)I zU2wUIC(#ioa?+%Y@W)@!KwXp@q@8JstoTcBpPZ2xh#TB5%P(vq_Y4#3)%v@*6?wj; z9sTL)Wc7kY6Ed$8surSqC5PAaL3BiH2)4u2)YrJoU$`al(AN~i&67eUO{RSGLxz@n z!`%}vRvvEI-4|j!ciPkCnKpLj(D?p$>4kJ@Zr-P7C-e2=`?`udPyU;{7$vZ}$r`Jx z`3!%~F2O8fLL@E^#daF2#HqXm+u?x~FqTlgql#eMzCiNA-*xgj$$i?bJO6qTm#%uW zPaaCB=$WU6GxEdA@L@mWWwqkWSr6O4e(PHZQ9YVoN~PgQNt;9?8bp3egJ-K5?z)IX zpE$$b%8C;Ex+^aPOWp7l-#E-E`d#>c1US2n=?*c zHHM$QkE9No!Fz=9_43-`f#^Hyxsakl17_6#^t-CsJsz2O<}vT5_`GI-`KrP2lAdg3Rd zjS?pc)QCO&B`U^#!{P&I4)|UYRiG3NXbKTN8Wit`wIpU|{Qc)vj(War3?i*kcvg!D zn}$|K9G(1@v;7@c4&}G^<%f)IZlPedGT~Om;bZHMaQ;3^lWk3RH~=Zimxcm`Y5HHW*mt%J(Rpd2Y5LKz4CxLh zs-Gz+IbUn8DzXnNAf=?FM39%~oqq;i@hBG5*483e6I)c%E}eM&S!mu*pea-!fm=A2 z*t{P9+!9i^1Uf?|tQDWiYTc-=Mm*4)jT((^U9Hb5aheQqC;mTbv~DwwqIjoOcoxCC zPgPDw^MAYDAVn1Z@3HOysDs^xBKV!xhX@qK(Um0~E`7Y7aMWx|Xy6&yKuxrqQosq( zKmnR%0efD=#^4T?*>NGo&Oj>E(BqJQ&UZQMJ)doSnWcr_>( zFAlec(Je9|L`i(?W69Khr2&J7?F>xamZ5EfK!cUXcEPSba>?+sp37>BK{ zLWP<6k$RiY>WAMojAj%&KcpB67=Mx6B z=3?KFGJn!K1BSM;emlX#tRKU+je_mc&BOv^K+6|kXS&ER&EXo9uH zE2z(se(>yI0zmH}AQ_Lxe*ROnLGcprvek6aE0A4+G98F4dbsx1Tw- zGj@~-4V(fq_#=2zbAJAlvN99krvC(*|3~9%X>LAUK|Q-t5Z+eoC-l=S%xH!Oo29$w#X%;5m3Aut1x^0gXca#wP96OZ?&n7tRs{gYWrN1LM5M;sstRnVv{rFQpW9ANyZV|5RN5*`G0)hh{bTy5@59-F- zBW9Bn2(Zi*&w#Z7D_M-e;?oU2TVSA~k@(?1v*@aJXyKqu@E^NFF(uOH2lGIct3XQm zxTb5J=7iy~A$zuc5;DS-&xrW97{`bDzricFE!KE8$oP}Lz8bt&KPY<4@QyvnNxT`N zW1g2oWPdOr!{S3C6zYX*x-Qhs`G*l%_z;a@Fk^AEie4%FTdKJ0nhHhW|aA>OH#q)|U!#{aDIS2NF0iQ~17JO#4>p=!n5m#V_$pVfa6EbTB~ zRL3Ac9mr2R+R0%^Ar|5{PmchS=1PogjFf5nHZs0*F6}vh3~w#{R$%G#0mVJr6nv{$~!6l{5}cZsJ`n->FHz~uUPaROKU%t zVz&N#E8i|q&zF{nY z7%V#?Ap_~7x@t4`S6R5SLwE5rK@FT%P(AimcJ}l{HUX~Ax3;!6o#b;|ccZ@pul0`r z4On<=VgeZks;sa3HIBXdVij=EJvVa;z3X0ILf%0Sm?ZN6`Ai?^(fzp<^>F6~cvCIN z+2?-z@U9#`ogF;F0r6?6G1FmE%<_uJJxf4eV`IMw!_wks;bF@Gi#y6CV;gWkh#H() z;1J~$APAhk_L7oKwv-c)IzGk`9x)3e#&SdKqcXo|$uXsQfm3W?y@9_nlzWAV4f$*u zatBpaq+fa^`f&eoq2YgEl<|K>0Hj^<0kSza`}h&oK;(wZ3AYpgItF9{RX?uhO$SWu zkGZ)v@{R*)%Q>;{uJ%S|L($y}`Q3g_FskbHlL(K|*9?mS0l~ShVa0qit|p8wUjTIE zo~JDEJ!auF#}tDfQR~50w-~@6wj|9H`Vo94RZzwWz=e4E-4dyOO&HbAB5dsorFK42) zvQ^ohyGvQN40xm=ls{T$EuEn9{-RX^pBDkZqoY&R2fbL}xP6y}n8xtcUBj$*dYBxfXi-Gt&iNC07jYtU zhc{3lKFOT0?u~j}T<3eB_|1JY(N?DR1!^3nh6*8rZke6z?{2sY6M2t)Qlgyov=(ll z_bzfwFAy#G7wqU(abiqqn$p5S(xfWwj<+Tw{!d2j9c+WXmm>U3)t&k4Sj0z8i@ zBT*rL)Yl42FypY1C)AvXo0eytDi>eW(WMj^?&kK`-bL1wz0ZhOOC_SkAF$kSN~tB2H#|`v<>@TgBi6ztnNNV43_}uC$j52A2{ZH-TH1EQ1$vFI@%7loQE#&gh|+xMKLn;~8mp^0?M zc4>_5rN2&~<8Y|;)oFjROG)|y zGCvK1@13ZM65anH{r)or^nOITV4a9jtd5r9k)E=Bt7facSHnj~{LKI&KCXDYATcDX zJKi@Ag3Dyly_jAc@NHu#$_t1J4J*|mb0QemMPRodz&$x>?I`6$36WLWbX3}!_82HJ zpH!f|n#k%48@U1ga>-3v_uRg3(t^#|Q&YYXA~TExpP?lk_!fN0Dtu!UO9l(tYmgY+ z2@cHoTu?`=p;B$M24o@8y+*@pJgy;3?=(aZN#rS6I~Q7M!es;#0(`#?1ByDh&m!{U zVZjr77}?Uw_073ZWFjAi(}4BQgJFy{jlBAIw~}33waTX!lT_~N6GrgAgJls2FXql0 zs1@_x8}~AbOkDp6L^GO9t)HEUBu+^T=Aox|=kcEm_4+_$ z1&ROtR(F^3aG0z0m~IGyL>`VLmj66l1&6K}=(WiqFBz6#;9C1!P2jfb z^E_Q=V{l{b%(Vt5;_vv`3zb^I6Qh#GPg|*t_}NJRDI8*DBag*npRhO_Xf92(>TJo= zL*Nj9N*JZARX6SgpSncO)X1KhH4)Ofb zXD(Ks_@eH_{Bq(W#25s(v+rNiqo z6M2WwDgs8CB`8rEEcFNUfBzJ&&U1M}5+nqJM72`*Hz)5v%7oApBJW5(IS3*OTxrAF zqntV)Pkn_oxOAU>o1sR_J^XE%zZ9f*{E2Sr=k%;N!x76`IM#&fD6$DZD$g`=(Bo;} z^A*0rN4;nAtNSNycYcIs5&-$2RPK`6pnZtF{gP9RIWN_Vzq&}ie{4|Y{lghd0Qj^~ zaxP%e!oRth82yws*&pYPnM$to(pp`>PL~P@x-x>X=gJxfPRq*@%-Av*fn4TK5cAqLBdcDc6Q9Sb2 zH!>?_v$u{j8~Mm7Cp+s2ulr(tp`=7s_0sdep4{Dy1+@Gm%Z;||7km2T$k%qxM-(2SVh{us~_YGP_rMW z!pz~?rFk%-x+yXD8}10{vg%J1xQ|M&4n`4KW#4+rxkHsy3`v=yQdQTpaP1XkZE2Ce zONdq&D=Vhsfk6^~RQbbV ze9t0z&G^*=w{Q!^g%=cov@f_JE8lf|a&#?eW=VIGW5+_)uUhb{>)?PKI&sDcbpJ&7PlB<%s;?u9=A_7}hgXB0YcI z;m>#4@O7EngY=b|e0j*Y0aRJAj9ebgtP{5B!jE76x?H$CL!G|qoiOn+5SjVmh6tN# zJi*{|tUE*s9YHf3Nj>a7ss8E!IFUXi;cBl1=1(b9^wG8!(e9ITM<90HSbM>m2B^sI zr))=@O{WfkqiGP_zAY;LKdQa@t^^9_ZuEVmenat>qeO6E??Xw^m;6qVIF!A{OLsY` zlTY|R+c?9bqm}a_d;Mr^vQ1QJv#4wQaEYuK!lobHce}_(lkLK}VVr2OT{stVZUqR# zJgQ$jIAZm~jGx|apT7zm%1=y)iwj{em5B-lvLmFIs?6_BAaKojzWL?snY~Pqb!mMV zJ7auXmErVT0Wx_%YoTX*el+CGgAeNU_iE>IDqpqU1?vE6@|bQW<-FliG7SZyOhx(> zakKR^K(u&W$WRZ+f)3xT($EvTa5|&{{Z~>`EjKbp6H8kOFU{`lU+nq}UUHO$44s*S z9x>`|`f<&qcaUcCulMedK>h2Se9Vw#y)Zc}Mehgy6Vz{(W#Pq~NX`&@q8V&l zOsw&|Nqs8Dn0vmOVt9$Zq`4%Ylcc)|Yy9`x?U9$zn9FI!;ccH7bM+bh} zry5V2nZ4n|`p`K74|kgYh2s0e+02miWl+9IcT!2ePcB$MR>ir;(8*O#KFLYRqW#HP zBK522xD`G^xdYt-TgZq#66s4{KZB2z-$vI9%k8tHgmDzDkG8Y~*IX%eErMynlj-B4 zPa~yPI_^k)9TwHODXQbPZW8{D^CL+_W4C-FZj!;K9EWPzcF+JY;(mQ^nozZHbfTyU zX{XG^L{^-}IFXab0B)#D5G_LtJ104m&(2T#6b#53p4Yn6MF^>j?7G=5z4IBzQ&;l> z-Z8V=KL9h*dljvpfY^yHm*#{MZ3w4zLBxb--W(bA5YLjgwBt>L*u#DANtLp7utBg` z3i4SgF{B-Rm-B)1#^$40keA(NFUr|8NL~@t34B`Oi$-p;N1gpC10r0xA?U_+wFScr(pI{-76?^*`iCX>Spzz z2KpWVs*ibY5-?I_RvKM>vk&!$J1{ZvkskK9go5;U; z@cbW%r!niirG3oPJB@ncUz4m)$}04i9zpE|>IqK!Ny*=2t;OWpkiU$cdKW7q|4`7R zSs0;{2vd$a$o~69>XoR=8q-?~QTL6V`RY6`=mTFDGQS zO}Q3~hp~JBW{FdZ z)PExe37}y{ajW`Tie}Yznwd-=Rf&J$@uh5%65i81~Drvk>kf4&35FM!%9sq_q z5V*q9l`GG7eK-n(q7zoT%hLKqK62fv`^!&Fd^_*3lRRvPBB@zYJ1Z{NLA`k7i#s(G zSBl-l2az2L(nIsp1jvv~tR(Jn9CUSiiAeW$_}6B`Q=@04pX3xlPhW-|>oT?Zk+jL~ zO(1b}{^m8Vrxf!ej**|s|C?pTQaxGQhbWNx5%W>Ax<(=hhI=c9|AC+N?%xQ+-7aU@ z`+GnpPO_+W;UlLM2U6pSO>(~0#f&`+|(B0nCcQ0rFnARdbgw z!qlVhav?EPi9uS-5pl<`H!JJ>(lE+lU2%ku1ZpD10^VCnlSAMGLzxxzkm&giyfq@S z5)h}w+fG)ApMt)RIx*A!{46Wi#}U4Pll(v={wPDQM557YopH07{*J=Az{ECv!QO$8h(axLq8&IF?RWM_w`E6H|x_?F8w*^_bOaD+{M5Vj*9?6MI`|AxJcG~xb$+>|0iCMZC+Z7`zV*;9VMU-@ay6bRP&pU_d{c#M2!>4=?Lh+1 zRKS|6opDGoZCau?`rkFtg46+GVizMKExC8nseL0o8@)$(QVs}~n zqoB4jU4{{=KRaGDm_cdmhv%>Sp0rX>5Jmm$CG+hy+F^`ysX*UM&sx%YVx^+f-u|(< zu;F9#pX0B~>Bf>0!gAn)KfuW))BN$EhgHx+@Ybv_W|&Ke37Q2NEar17cv#H%99?%4 z$*GSRuW7h<5>G)f>JE4Q&0(wk895Pt78mrRJ+h&(aho_w8J&WGPwf|mFM%~o*wDID zm=wq~^xX*jpop78O;zv5b4gwyOfSEcv`<@_gXpbe-!d%(c;2?zcDo{kgUl8oN49geu2ZrA#(nukF zhcQH@LRq)F=qwioW{6Y!?4u1ir;=*hI^`pDC@1mFPqd*i+!duA9|B?6@P}|6MTYpJ zjfS8WwvY*vo?-@`KU3>+w}~nv{QI95#Qu$5PG?)04iys@wu|}AG))(IAK+@QgroY0@bl*T{Z{nlLH&Snv#oy`eXFu1NA#&D+4vUC> zt$*k}*0kn^jl9MWu@U}z9Nt`7dnDX%^>$nl;>Lk6gO1g#p%wmx$s6DM+Jd=#y&PC56M4g>=3(vgbp;|decOV0kF z@pb%YT@pMK0U`_3=5zegs-|tHZ=HYLAG;ozyMcbiBbC3ZqGFQ_BBb1v{*!obqKmI@ zQS0%pcXh~#&n;#$q=o8ZL~x>6#-n1korJYFWIKa0p`qg4S2&$tVysWADe{o+tD94; zbRgj)*SLDO!b>X4C#;=GbqQ{-VnC161lpFnnz}L9Z0mHa+Lhupu*s7^uj%{({YJoO z@gE+UXF(eZJ2uSf=>U)}y`9H+0zSQlMtAo_R|-^imZuh|PDsDcQs`v}20c%KQa3tb^`V4vhEGi(fY>Q(DRr1e7e(&~2 zhc`v07TiJqVQ2l;-lPt(c9=xhjlBGQNF2y=Ppyjcp#&sLk6l-tg!isORvbyx%*v7z zMIDEXgHKIgo^AY^U(H`aJ4>r1Tk1}#_LD0G5_A|)$ddH7LTt$1*>l1PhVTO!HbmW^)9-$sbV`-C_BaBU%X?qFb%)~Mj zB3jxMzBZC^nVZ`l4jJ&oTc5u3{~jJWlK9%vQdupzDtG&4S=?IRhiGzqN|%F>Ek1`S z2>1X+0Q&DB{}oRq*eB)arvdThDG6#H`cJy{gZiZy-76t~G-1wvU&D$C0kIzBA493QTQRGIaxhqYrGsPhMRWxvB(c1X{1lnQuE7HG)pPi?nTQ?kP zO{CF$!2P)aEUB$SRbg1{i%f|P_HosyC&AP53dN(zE>N!Po%|9fA*_(5>yH?z;$Yd!0U zPV#l94{pEit#Ma?D{3Rl$%~t^WpZsM=x2sEKavp~&sdIf9RRurhjB-ir-CANi;#rm zc=E^8&U=j{!XU~80F15#Fx`$RTS(3N&V2IVm7ywnwMXTCzsF$+6K!_19OZ>3T1TqM zI&&N^2N49Pr4Hzj{|IHU)3e6V2!Q1A77{q0X8oEOot_-?#%3uKJ4K;ieXsWGABOUd zqbir){xE(xjs6H7sn+_urZKJ2Gw{Q`N8;=vU)6Gl%`$w0;^^9#+Srp3-E-TOm~rjv zZGVqO*Pbi$yxE{1$X7zK>MAP~_1F7)j_k%4fwc^5s)jLx>4Iy4fsQ~TeW87Nqe(>r zjIT8SHb0)uHN^OODYc49_EazVeU8c18N1uX9lx3iaN1tX@!lgxMY z=A*BTEA0r4^aXO&%KEV$qA9xjPC6!W@hob9!*@AyZWW+v8co9ZQO?SSB3~xZ#DsHu z3qD=FHVNM({mZ5dxM!Z08@|%X7{FkoitGKKk=R@3#ge7|=@2zn`kU$Jy=`D!bIs4nsl7VDksy0!gN?Y0{5t?cSG3kz;H- zqUapk|DgKFlB1b9yk~J1eEWD)rPc5x@Y}JJWVjMda2ZjoeW*!9bk7{i=Q~BHGtaw) z@QE{8hyp)2Gu)&9{IMx(GQ*zzn)Ii&l(t13d=9MR^%&-W*h{0#)h+o0(nL(rwHjRX zzw;m5?mO_NT9!A+8>+5!Q5)fDc`lkC*aL!?XVH%(#QrB>Z*iO|ZSE?)a00W>R|8Kw zo7157E%tOYA152>?Dpz{f~8lWn9s+Wsf%RDO2JHk$=9c2%iO3Ba=@&nMn?9oz&~$4 zo+cv!d+AxQ6B+ii3+M$Mc1pJ2@H}-g=mh;5F=pMzPE)dkw6@UQB0Y{{RgRb#kEneS3 zrc325;2A`{`TX3XY(Z^0pOx7fz0L~^fU!_$n#1@j&E1;fqrKN>3&Tli;Uo61QmL*^ z7Iy!7JhZj{Thp=Q!gh-?(Nbf!j-itmh8lpJ_15Sen=U@1&cQ$2e)Kc~&2*jPA7@+V zxI$e5TU+HTqF6em&@t8C$3*_MRr7-N0`_BrzrLm>%J^an==sVMd^^r;b;dafZ&f6} zu9iRa%pco1=Hg%VWvo-t@FYDYtgtmlp%D?|{UGf$L`$M9#MBK;7pzv=RWu%k_Y#O6 zg?7Gi^)m8mzS7meYWy z4YJV5Q3lF~kT$t8Avpu56t8wtp1H@lS_(IL2pYP!{$t$hX@nOYmL7D43xP9FuV{h3 z>kD15#J!dH_f;wgG7v@5rNF3#aZ4MtRjZ`s+rYGtcdfxO(~+^ZaNPrt$rk+v^s#R8 z9bA8X*s1_d9Osb03%$Ni`6JGcK)-1Q3IJUlx2-|M1Y{&_lnLjNFEu48i zrZ-+tP(TFH0jXqx9W4?2#;gM{f+EoydjPx|Y_Jvgb6s-cGD07dp=l+k@>A0bfk~gt zpP`e2of!t)+U^>oH*izP|Ju{y7irLUq=hbMl_<8O7bO=Bu61|G z+YAS4^S3dzF7`%xBD<288h4+pntVXtB|iM>{@U!OYdK|l0b{NZcsO<))emLa2nJ4D z^nkj1`FdH3Yr%Y3>z&f#@wwArWV(HLU`_y~tA>KJ9u=1dK<;9Q|~OL{sFKgH%?KSxZc4WbV_|9R2@X)fQ{| zcZ6{uw2$~cU)P{v^2Cq8bjH~M#=pIN@AkZ=Rs=6aKlDB z&5{xXS!gRCQY}8?f^Vk|<)fuJ%-Ykcf654gf!CNfaARpqIFBhsB2U~25%WKt(DNP| zhNdqQWGr|CGav96yo>GwQEzN(^_Qrj2WFOMh5;koc4ZzE&>5DdBKzV?Cr(v30qLlq zN>2KZU|DMCtK|k7$*IKJvqD-B-x3QpQ{!g$?%gRgdaq9Qm@-j)YNs`Jr~?~{MU4LS zE0+Mvef4FZiGcZZ+&ABY-FVh<18uIumpl9#iyPFz=|uu23`Ucg>NcytjU+=(#=<=k zKo+Izqya1bi)TeYe4wgOI9OLcNtbgTDD+-=NIqD2B!DPh)r0K;lNtl61XZ>Jaq2d8 zgw_CE^@@GF8T75it%e~QGb`_LAi|B?c+pL%nv#5Mi~=<9FrZNtxCU|{~uL)u6ygpE2{9Bg8(kChFQ zZ|Z&cf6)N>GvNU|>lCUssqdD@JVidJK7S5;_FFHJK(37leTlv>=*wE6Y93D65(GLRm%0*mt3 z=?&C6#w;90lsm|BM}0~h$uRDuU7rDM`~DQs4|K)(`Bv)tkF%6GNSNz9`q_Ruvg>CK zPP9>=-?~1DCJdF$$8ICVp`*F|(KCO5!jE`?4Ly|-p*8Z@z=G6S(KyeQ_+E+P387tk zd^Np6C~zdimRxaDSQODu7?IDEMl2p$ zI4loKS7|YAQQ|8+r(|Khtr?M0jIilV9i!arWmF(8h~eUTz4R$GV^6=FQ8+dWT1AzFge~k zi}Qi$uoHoz1hO{^zJ_c^jvlc<(#Isy2Qy307?7V4UWk5*L?n3O{OXtj$ z9)uSOGH`6|pB!L;&x)#j1=-ryH~smI7_Ki4~)33!*ROk=kN~p}W?=ULOweP+xZ@8PV2|ULyp|i-yNQ#5iVdm$Q zW>SB*+v~_f8=x~7V#qIALX<-C?1)-jl+Y?=fX|?%eCv*z&c4} zIZ>nR9nV<4V$#Q1W|gv@lcBXvofv0CLGb2|nj7Mj|Go?cDAu-!-ErK4qkZ$50^1?d}EWpGnXKqgccfn zy6*Sngli!nsr4=%RU7eBkhY<$3j9HPgksck7T1mr3xs4-1EbX^{$?(t#g87SDec|^ ze;#Jy&H>Ms%@uysRJQw}ig?FP+1)!oj{gzC%kiB&91qIEuCA`~K-}%P<>V{P1p5l3 zQffu;*CU#LbiQ%}wbHs{l=h|{u!f%tvTlUrU~0)QVcYrsJp{4B_Ej=O3xp7j^gu9S zr-Zgrgxk;h_ewks<~-i{OMe3MRjzX49xR4KlCjH=p`V03ia<>RNK=8(Oj$~c6YS@A zLZWfNI9K!N#2idO`ix#aWUiHq&j_gb{my|_^xjQBWXN^l!;0iW8x$s7QaL^D166z# z6r9iChng~%&FsobXwaI#{V;sv{@Fa$`s6(+pf|EtiRnG7LOoa=BnD#xV=Hj-9hga! zp-@vf7;Oyzlf25)UU=aL>&5a+xK7n^LhIA&y&ISLkIAfW(*Enc6R_Y+1L}T7LkZ2?nbFwm&$;Jh%`pCc2WJiAo(-gdKbR*q1kd>^w9G=F~q+ z^elQjwq}uYej0L#i_}ZDivP~0ra?q7H}R{kEHMFsQ9RTe~ z0A?wQ{ofOr;yj1KgztTi>W{G>W;JrN2S6&R&G|vr0twz(J#x~LtZ(o7 zW0Ol^31skWFY^+OYc;_k)BPiY<-)gOzB+dv2n5=T2W7a?ub1s{wKCO|d~1$Q^U(_r z0%c$^+DiDR~IQcStg>II%;(+h(kzAU6AzW}SL=!QFj zi3BU&nzNsU&=^mPs}yRskZMWP?Qh{#Px%2=Ns!zu?t(2>cbx#ev5v) z(xnH><{QA5mk3GKPmwFq!(5j#6OyNlsL-Cu{672dtEDmiuhN2g%|oROOy zTIi#VJg_eWM8l7-9bsTVbM^Gb()Z{z$VTNJRm-4Ii~?}D@r3j{+pXi#cHfwm-Mefz zmx?p(mjFvQD})yT(yV(3_p}Ol;H<>bON7{hW=UUvGDLDXR3CUKF(BPLLqa?1fMKB- zs6Q>APAfQL075R<+u9m|%aGA~`}8x|s@r(<&9*`?zel^jwo7mquvA3kJCVtkPIW=#0~ z7_6cntl3n17h`;WS}W`+!}eDDc6@%(NIw}C_r|*FsUkIXELv)h6h(YW0tDT61Z<$( z$%U>U&iB?pD_>nJPI)5Q;_brW6}9MkS0M1-hw|RP=P6M;Cct|BV1fhSiNR=H2js#Haz}{VUJ(bLKRr} zbZNM$q4}(qr`*zzX80X;ShmUx?s~)OxB5-Sfm^;Qu=|)z+~Oe}R91#9`TmuMPjWLT{oWl6O&eHl5oZS_uEI^dwqEK76|DVD_dfPg${-W~KsYyMj& z=anAC4HLftbANh&AXOnENWXfU@{5iDY^o$A*>@W4lJVV{n3&oh0mJ}y_ti=QASEoX zei=Etk(ZyJPdBExd+!M>TjYhKM`|Q>N?bVVlT>L@#|i9+^r1F-#Rfat^d#BIXEsg0 zPFo2&n?HZ0#nFEzR4lrv<}{M`G57Ez96Ko7_F@@p5eWagfQdTyfY&{7{D;R1I9tu>eDtpG@k$>JY*o+bjM)^da+#A*q@_ z8XR^`|47t~u(Wi*&U2n1MupiAVEaqoUjb#>`tk-*bRNLlUKDE#t}ZTtePZ9J$xfxU zCUO4Cf=C?$F*+j9;mt}jo-ZI6h}}I z$QCGYV!e1^GvBtH{3x*%v|Do9wVUhvy=9T^SRRHy7qIqntlT|wbAvW(AY#VR(b1$a z;gJb=f;tv>>?O3_IttFa)wu(@Cn|udEwdJby|nt;e_Rv_Vi-`Gj@)q*0Ro#jM;775 zxgi17K)|D?%FE~XjH>NXVvZ;}(JiS5)iP?P(Mtzk2NS#kzslI>YzuA^%T7KipP&0> zo1qoz8>dlZKdJQ`oufu8hq82f{Le59C*nX!8J*qFrL71`(U1n!RBeyH6{6bEA$#;g zYMB?D@DcRogz+VJX0@D_?yCi=9?hf&X+%+V!!_Dw3vqNBQqg|s)ifUI%? zKycDfbauZ2h!#}1m;*^$sqX&@ismN#oNxS4#pvYN5!u!KQIi&F4UYhXL*s91q?TZ~ z3*wlQPLRc8Ylf3DDfYHQFzYN$?wdx^;@_uy96RhB{>i8|dWeB!fO@qo7+@Ij;mWMe zxmRu4WfDEa4w;%6`gB5b7xv5jgK{dW#BJtOZA0GoiW;5@5f;qVmIoA>d_?_7c4e^; zL~K9*xFmC*B#%ikn4h|g1QQ(}s-KW5EK}*8i0;#9OXVgLeiKg#Z^r3O3h*vkYM^N* z=r$c0B9ihLKOF@?TSI5p)8D`EHthYV7k%+QClHJ-5Az<@-{pJHWu6{kDu}%f{XjD! z$tPC)7-~-RO{Y@sWGc8JmMcffU=V$v8E1C=0vLdev)@lKa&oBva6w(d#u^`FsalBD z=?$XFCFx?fDHCCt6eHhqu%{m``tTD_9y_K08NLh{i6jN(ik?fZx=RE0zcbe^O=W$&zuFJ5ULl{uI=*i8MsoMDuBMFxu;@B z?a@J!`9;4~PrVFDuf)qCwfd07Tg-R#4nE1kUX2o)w@MJ{< zOJ|30)5Tg-5l71OvZ#t+3ic;qR`|;Svoo~EkF^ece2Kcpx>ywtDJzSU6jaofeWrHE zdm*?9nx@$H-QHVoepkFxv|$qv(up6Gwh#yn@)`Xg?TSn($t8KXd$y`@7DW7_AVqqi z#wD}nICW^~Zb3&!M}WP3;g{8eaqglgK>P!|lbkDDAd_g#SQM~QdZG9Fhu_L=&jAs_ zC9`*r?|pt)699#@4#(^!oJ06j^~tPGTyS-{`WZI0EsK)QRWI3 z6oR&34t)cy>?#o4G{HC1ZPec6kXjF*nKA~|x~Nh<#U>fhDt=!WJd zw>0#PBpo%oZiX3Ndn%NE%UAM|B*`;$Yh;>Xq%f{^yuL?;n(P|J6^7*zgmj)~8Gk)f z5TOSV;@YD+tI0ndz*_hby+0lB$23Zv-~H7hYumjQoPWylUIQ%^yB<4L(GU+dRAPaY zVx6%clb8)P_e!d~KwIYZ+Y%H;Y4PHLzym8hNHO(slI%(WWl1?0e6!+~lm zIZNaW-a}2*qmi_G$HpGEvax9fmMpG&rX=v|WxfME-3srxfW{xMssM4^^u{|{GC9p? zJxwKkM}7ny;5|F}JdY&;cckF87=8t&3f$4!OKb->5 z9uO_8tJzqaI7Kxm625&K^ZbdJ_wLU1-m!d)DCRP-@L&LjyIL?rg%G(hUy22XT^yKo zJp<1Xt5mO0j1+OdH1Oz-v?uD%&$Ww3?)5xnKIJ@uzM2lM{Gy^f$UGdR z$2P!PIKg9DsmZg;r3tQjo2Q^X2DkqL!!WS+ukF(VMC~MeYIdr z((b*D=XCM8brZN#oC6qpo+-Y!16M|qlzl$&ZZW)bvOm;9mUGkH{hz1oJ_`az&VI4n zWLMfFaDWeNSz%JiOs%duBJ0nkMo+%*1G|bPOhDCPWR^*vNE!p zG>Vl~9g}vnTZuISQ>1+BROM@@0i6i!YCuGPWe@Lu&kEtPb+KHS5-T706*>P$un~A$ zDVl<=2LwYMpI>@cQoX30I21DEdWUJ3Y@o!oz{maJ`neEwG?vyGgUDe~ngb(PklhLu z&$T}+wTceTvGW^FR_RNs4~BlTpR2MvS@Mh*H*AX%76@kOe&OTeJFf(aTlmFZp9OF$ z2ro$EY%TzDTiYuU0Ag^P?{Kpz5Ioc_F@Bb&I52Bj|LmFX_F=WcFXlfa$TrSE{AHde zc-)kjZs1X7LiKKGC|x;A)Wn38u!YoX*$gwgXi;fg4Qmaed64x*=OLS<#ef>aoB2g{ zgprH}`j_B?)sB`0i{&hsMqn`z^o}7FhayEk-au`5of*}aU#!|j*OptQv+v$OyqA^m zPTjElxgtAxhKb@f&@;zVB_6zp(Qoc#a=7_5ckn}I0CZH4Bg_B6>d`?L{dxQO#Y26} z1+LS10K;~8fC87UXO=eub|Fmv(JA|Ow?7q(0fx1|5Q%+%k~z}o0Z_Bn#pV0aO7*GA zwp{0DHzJ%r`*AX7)X9Uaz91Bfg@IV%k5yA+@rDTLMzos_iwtg#&2rh2+D71w*s>0Y zEs1w%;*Jk`fjvC#2XS={q%qp&EA@h%$1X0dk3`OI1QELbA48x~b&f(YcrnpCgmiQe zceZC#jKp-yF!*^r`SMtOtN%6*0PVIz({oucZo!7}PoAjbS|?TQ|5#icq!9rmE82oY zU6IAp2OhFxZ13$1B`G}qevjEw^t@8UOg**vV}V+(dfUtELjF3XK?249Kc;}P(I~HQ z{}+;<5-W`UE%1_Npb8(x#>Ohd_byp?x3lA0S9mM= z*#pXBF2CCJ5?IEJO?AL<>hNlrZt<9Dgq;apgkkF4Vm^=ohi;%%tF6l0Fky=Leb+2e zmK(9H$udw|eht2+L+dJYDAm%1HbVH_{&?Ly)-hBr$7IGpg|Z8-$lA(hP$%i5Yz8?m#_!2{a~E z6jG`{g)|B5&uo@JCNX4wdOdx9bRt>Wa=9AlD3QLBlQNp3{6;zP%_}i1N>x%S8xz&f zh(>MJ>Dl@RL3>AMXX~vCf5w^3DIeE~(xcL%N&n)tVBoy>z_rF9W+=4Hk76T+k_5}1Hnx&S3U#^oklr5T4yA!! z=2dC;55N6x&*x++Q}|M33G&~~4Dp@#H}7hr$~o*5$2{G4pQ3=gtrGKy>s2Qvyza0P zLQ15arh@q@QIUaVR+b6920a3^y3-oF2DQ3wPocHDEXVi7_ZyAcv1j)si(*70JFD{G zC8VZ^QY^;B`^cUf|aE6X2FT3b?r zij0V`H#8*UdxbdOnHSX2);2eUDQ`u8p8Df8vOuAqf)my?>L+Whu385Tk}Iclv0yoo z8G8L>Xv=U25lMTqaStjP6{{Him|iO~19m6J zN{)EHdq(o?Lsd!1-^BJt8~O0q-Cu?*R|crdRSe^|<3A@Rj!IHQoRe5>;g!0mzndPC zGeov;+>-Gq+6HyOf})_-whNs`wDtGi@?!xK?661zR!SZRQ$%8kI1c@j!H$VylFrsX z&DvGRm6VPNufm_iO?I*pI#5bPk6pThoNXgZb(@`=cX(`y&h@}xIq66*SAc*Q%hQSG zqznqx9}eWD7!bDl8*Cv(SQSH6jHQU-dFyQ0i1YKQEgvpz9UTe|4vsy*Z02~!_BP>t zDVC6yvZw<4d^RcuGw`FkFH;4VhZv?AE_Eto7HZfP%4audh9u0Vj>v2ny)b$Cg8UN| z)FOPw**&;3>7B`LGRN<7OrS1WlZ79?OmiIw@z&Diu%fAB(5RAB@l zhI@DKs`kH-X8kk^1FzLLPg}P>jDhf}b{$ol2v5^2^aTe~(~iwOKlD@5NWf;IgFH-G zNKe?v8oFrxWHK{s3``I4t0vDquDAqYU@vgPdJql{S5mbxH1%$s-1z9-<}l7L?a(u~ zJrs}IgIz+`X{_@3#C3P?kl-~i=sH{}oqd&`m3(*m2yQ?0Dquflsb#n1%)jd>FBkuW zlI)~CST6g(g@)fEJ7gPpg|~)w*|Lc$*d_rH(z>mXpI2aDt1mEWHh!AE-1#D`W|6dw zm_brA^0LVNOTg|s9uktr%+^*w1poQ(r$I3QzMBY|k5bLmdfuX##kU=yEfXaa?B>Qb zgj8%{RXmgkH+~nG}hHmLGpXtAEpPmg@pc%|HaMZsd8?7Od`J+byvtg6_T z{Vaaxj-Rmy$kl8;h;YRrl^Amx=qN|HM|(Hb619-!Ws%1IWzD>cg;3;?0$LagVW@B^ zNmgm;Q#C_g$mDN}wg2@F2x3r7HoAw)%8Le@+szXR1(EPoka`>#zX#Rk+gi#?7tX}% zciz`)EjjF61r9YVPK+asZxJIyj>A zCqjX4kOV@a+N;3JCurq6p1-Np1^J-C!Ez64Vo-mK3sYp=(ukT%PkE8Yg*F;v!QVWN z471P*r%5~iy>eKwcHGAL&h=8LT;=t7Mzf9fw2hI`sDh9XDUX0aB~~>fgmNyJ+_>x% zV>Ei3XwvOe6RZ^~;V!_W2p3ty{Cup2p9fQIO+-{VUJ4VvRxKyxWOdn9MMRM z{BpOY-vZCtn6w5L`C0)E5g(kdX%Ep7n;9!&8{f7?l#EL4MdWGuPGTY9W3s=&gBL}r zWTflcK}4O{NQu9%YFY39{tDJrZW!N*^JaIBqnn?tw*O)eRKQ>0FC@-m#^=9W!glI25rg$;NuzM6i6Q!jAAwZix zKHc}*b@w#r7-0YHFz3q?@fhE4UJ%Lq(txEnMwzFXueyNd_n8w5>1z$ud10E02{E_G z-lb;uHivIdor8pD>h^jDn+%zm+BX~H-7|AZntvTn@I`ySRd`h%Hd`M>q!Zp&rS@=! zeC}rhvUy2i%q{08mOgC)^!NPaGMZP~W~J61~3j?})FrrZT;i^6f@mN%x*}49|K*V2QLL z(`Vt{Pxz$k4wFN=GF|s=K$Ii0=iBt^M{9Sl?=Q(IUwA39w^>lNsoD=;WO*`w%e}sO z>!Cj>c?7G}*=AiUZK%XFX82*SU`P2SOyinj+a=)2n2)lNPU*)e^~-98;ymivTYSs9 zB6o?Q4WhnP5nrm zv;~dg&fkIeju5+qa0@JD47D5F>%<1#T^ z*5D1sFM|?q9IDJHKZ}ZqQO>pcy666xZ&tPXO?(*H4yjYUcxB5SJ)7hpPR59>sQ3`| zIwxRb!@X$A19Z^>wS8`mb0R~JvV~dltG`Leb9gSb-=-HtC{@^+M2tAiJnJvZ)*VVU z{_<1N{$y>6CC}W=Xr-0n?X{w6TA?DZ7C8*|UKNRFX8{{m8P%bU`BiNSvV56`GD%JE z9SxU!m1nc(aXhw5unc`dY3?Wi(x(g|XP1sD!}@j%RMKB#mGix9Rh6&1InFLga^%Dy zI$!5yfb=~3J0i%PWmLlCwq!%^m4IVX0W7Z22#}O?V2Mql$#YvK(l|jH-9v;7&L&*o zb8v9zfs#Hki_RzC{cuM@LSY&-2uxO!7(&5wQGb(F|1~PIRCli)$Yl;IHPqK%e5|N& zd!Mo|&)0(9c|9>X*>M~vvu!Rvt?D_wa2U`*Lx>%3>&OfV9khVo>jl3jJXiaKS|Av! z6WoN1Z%CS3ThEJ{rT-})Okpb`h{b>e8L+a67o~x<^wVHC|Mb@fIe0ozBZTD-x|m$j zN5EI5LY(msp2r!7lhTKEEjWQY$%gj$ib2xDKu8j^3Im7ONJvt$sj5k`KkA!(sDzfT z7Ekflz@0om5}~g*348s5nuuDrYDDi*rR3=)gHUt?cw@AkB(C1DmX;6e>$86tW649( zxXP+zZ(0PG06InNwss~>*2_M2^<3YAwZ=x1DW=)aW2bU%N?~rQ^5w%CaPay1HBl+- z52H##QM`H$t{h~HU4y-BI6xwx=(@hCm7U=EkW`(#7Ik_YEYvs4O;+LL*fq%hl5|ja zkbiT`-o&!=F9Z|(5}OW^xxI7${P|a3N9WTJ+K{HO!M6Fcl+;urYyUr~J*UJ8yJv@$ zSD))j3r$M9Oo+Y&VV82)iwjdt@;^u-XDTaQFHZU;A{e$OQ^CT<*3xicf{+FgRtU)t0CnPs>%j2t`_i+g2W{w`)L{XSuGxO&Lmq`I5%0G^syT6}4dGZz2Li?AIn^kGU=q|o!U(V($ zi1P|Q8j)bW{Md*+e|G00Va4-yEzu}LJ*J@Os>v=sD?1HhvEm`&eqv(DH)Sd)p|H=~ zy1|&JRV`tDC%v@vsK=RvQx>Vul|xJ5?fVm_K>dg-snCu6vUTul?2{4O%>m8&qlm56 z5Z%lLwN!t?u-EIpGGBxV<*_?W2l18f%Lt;wyNZ?L-<;->S61m8=R*Rse{Ed}iNYx; zd3@WqZif$PK>{-p@v@2Qeg@#zvpTk$kJZnkH8HBw%S56=ic8leu6bjhuR059OGqeY|j}q2d^~Q$w{bXVImb<^p zWMy#rTJsxrU$m@QU_0V-)*`^o+ex%GkWoYbN$vF~am`MrujJcY2>0jK3ExJ0Ru8ZM z#L0;WfYjj{YwgqecaP0L8yFY0Jqc!{ey64AKTV)*gO7o<1 z*9n9{?%F1eJORbv0>t{GfsXqfp&|wI zR5dg-R5ncUb9Z+~P~v|s9-TKe9Urshr6@|lV2XD#G3wblrfDNSRZag}6hP>ImMU`c zCfe~f?|kTO8+1ric8>QtkJIll`N1U8ibz;ve9WsJ!ZGo~OX1+XTNzpt5HjP~e2lY8CRFw-BfXZw3hBGO*|-<84SVbJaZYbs zDw`ddkv8Zj9HPnZ9!I;{@AwO?Gh=uRJKvLE5&gGXS}H#<=u46Khw)raZ!GSf>3Dkl zYU?f5-Bd-GWtRql-|d`y_q%s6U=`Wyfx=1~fjs zh+oIj5zVQQ&vjP;wiN}H8zdN#w-m`luOE!n!;|lLyRtz6SC9O^Q%ir;&EmK5Is?CA zod>fp1>;V>^Sf{@eLmd=9m)vzX;ytOU-%V=FNpWg-nT80UPkrx_Ne$4lTCr6p)($d|DgP6F27kKy z1)tUE3UG8a)zs9ksmvbKz^`)e8`6I2IZHWm-+=h_5Ta2rjVRrbF6N}>E^MJy{*b|NTWXRht& z+f@GjFSU-1FRIs7ucK@Nzg=4r-l=-T^G8W%m)vkFb7*&=NS5-QKkNI22AE{slrYc&z z>}Hk)kUtCP=jUcGM{%r3kdDeml(Np` zwq8=2ZYZ^)H{4WQ*210fkNtiqKfU3br8hh;E1M|dr)Wq={67TpmT`o>R}V(-q$n+| zME4MmAwGTlVSLDLn5?r=*^?Y1XB>mTHsPcnPrrC467oMWO`;so@a31XK z`*9#Y4z~3nYP_w6?{i3u8JL(*en@&nW=Pki6VB>qVS%eIP@3>$P6Cv$Z?)HTMeIeO$ox!s_hUy2=*@ey)Fj zAd-sqvX{c{!f{S{@-w)Q3wr*0?A8P;L=zYEEX8nHi63KCMJdsCz~kjL_bz;KM1Q5q z8<(aKVTb8Fx4Pyao0j|j^q-$>M}ITfTM}8k&~zcym=L@>L6*0ARK;BFvAAZvD(xR) zv4nT3NslOg$j8RP!3ihr{YAY7`Cv>vx|$`jl_1+nGuozB-ek?6-SZ3bMI=sv(~ONz zB(@3f)?ZdGJ6sb66Vo;3;LL#p;#@S{jZpQ)pu z#@xri1m<(XmTZx^STzFionRNmcx!o}+LZkJ7@zb$Bwryc{IQwaFz-(Fgw!9w}|CZ-<;2PbVCsQi;#sd-mB6d1PsPX$$F zQ(vz03x!auZ$EkOW}aUJH$VLRY7W3}Q7QYkXc>|<#_G8k6aXClj^+kC=;}awZLt}= z)GWfwSM{>eO!+Im5HFRQNvI*-3O@CN$J~-l=rP(VA8iNg1O&@vR(`mB*gu+vDVgf* zURrzuPeerdnu>J;e%JyQGXHt^nn9RV*T5hahu;nmM)rVxdnD?wE99iZqhB8^*EeVe zJU49qOffhXU7>vsAw?wo#du2+@wH^w#N{yY?ei@R&s_F1F<~oA11S_=C%0W5`}AVn zQ`4{s#zh;~gHYq74tCa}8F$#>Eza&bfL-P!Qrq($y~y~SqxZ(~o7CQ?a$we@oRlED z-^Zq7SCWPX{g|R9@%G*BRg#`kPAPq5YU+Il$+5C|2LPcYKz-xu4;l;#WEGfm^pd%) zl~i-P`(*xlei)BLyYSliV78uWn3N)X(&c}UHZ=8pm{G>(BsEnnP#lE4C*yi`aKJNZ4QQ)iQW*hGM;iCN&_udu}&;c`+`e)12L6PqWFkk4~1 zSB7)HXOm{WM8NAK9k`XS4LZoJ$xq|3D$_<4YKERiv%MDgf5Gasx8Shyq*MEY)S8tp z`FlgoBYTfm`MNW3WO|cAq{6qF#oO79q(Xf0D$E_BW{9NZWQRF@MFk3MJN9*khw2P3 zG1+wxU4#6cUJ4Ly{`dMzd46|66GH$Y5k&p9bo_w*TVBL>dq%_5^rI~E0J=<&{5)G} zX$WbjyIsix5~r17alKZ4xk)7f{`(*JvGdeS$2*`Co){&#$QW`Z1o@TX5)!Kp%!wo* zi|mRC7gK;Gzt7Yn6_WbTpf1X=xNSx)vL-<*xcY!q z(*zD}PSPN!H;o8v`I`EhT)BJsU*E2cZp05dat3yprzsC`A<}MB0tq&hnCUKG~>y~6#Jc*H#4D^MA!n6x9=tCf(~R79@xTLYOqI(j4!T|xKlz6 zj5&0MEWI|9h^(&bSDYwrkAdztOQd=G7PZQr3g2YEnHog zlMWw2s$Z)4(U7zv)X)6(6<{Woi;n?aqeNJIaes9*Ey+02vvKmu8sLV*gWI=n3&s}9 zg6DW2a0u=`YktrXHu5w@y@!JSdDtpFYeJhIfz-GBV7`APK-;zB_^aj*%cnkJ83YrFa{TZEX<|HuTh zj!*~20?@k|dk=A03B0H!mjE=2F;mlqq;?0=Bmj`vSiYlysr%V&M$;gEwmmab+F%YS zk40ly_WpIO*WG9AFW+d{t`rvD#ZCOi^?{_bZLQ3(Yxnmin|=tF+w|uN)s_|s=9i7I z&n0_Xk?39gs+w94kS?={?ZGE{ZEiZwq5AJFh)`!ni_mv%a{AOOPN4lNe{VZ@Hv9PL zMWCvMn4d(z6O1E(w@Nvz*F?AY6Pj+<6P zsD{{pgwUuGKSmqZQ!u`otJ<_FQPJ1W=2>($Ge_W^x}NSB@#@!P=H2{V~R3azur2U0UU z8^xPrrHgAKd7f@y&u*c^>z51;F#5YIL%at`4iV79e?PZwCb}u?Q8X}G!IO9T5)csy zpYYLQkrmVQTvOVzy_9s<6BKAz_#$31=Qc=1$Lv#;NtvSAX5TNM$Nn{239$n(VrBsLLyrG5CZ^WSaFWS}63872-& zV89Xp>$oD~pr}_v#_Yavh8Mw0tY|(5zv!ij84m55yjmQk{L*->)!B0b7u-&cP7WGSkyf*t_Vl+0$i)nnoBq-!6Z6mcRIfaoQC@nEX%VRYGRd{!DW^lOpV&xE||xMz%_p#^3ngP zN!=V8$LRvv=jSG>QW=`f|E9(PNmHA>p)wqaX3tW)P^@emuTIBfY69;IQ(mi3X6lf0 z8qA)3BJFBc{rYwjtsUGxel}37*73G!@vd;?-SocY+R5Vck&XTOe@i7a)eNp<5;1)P z{Vw9Va`pfx&K;&oC|qpZsE7q1yFO@W&5@6$VWLb1v!vXAUi1C&C*o~ot868n@4u5- z@4vrJk(Qe33<*ln2LK7QKDg=gT)-Z^)Jw|MXX6`|ui(;kdFaw@?7P3-4d~1Ps3?mz zDw+fr{-C>!w_3LZ2Pywy%Syt{p>LzMp{Nz%he2u8wgU!reie#IjV9cRxDM@H_! z$Dr?oR9`)M!kV5Uep&?05`4vdnT2ga>23$-J}$d z)*6!0mu7tUa`&wX!UCI3_r~MXr!O&|ihm<8R;XZu`}e1x9{t>&R8kB79?U?p0vtKl z-;8tEpZL&S--6FKhPW6s9V8c(QE+b~XzlUiRjvt0Zz_;|EzDKjp&EALzeKV7KOr?X zx`NPF34HLT*u@jf{Rf{M_Fdv|)rP{?aIA58IxwWZZD%rfTNoa7I14 zHu|P?`Oo$ot2v=nJn zg8cj+^hGfkFuh3m`w&{qU=MQ#FU+Fzy18X0rbS=rOjp`5V5y#VKYKO4ag)Ni2K*otlh;pSp+p zN)2QDIJw+O9Xv%Z>^YLFqU8rykR7@O9pj~mIuk2Di~M`Z<|!X)!&&b~&^2ewAO+IH zi<-)&jmzGjYp?vhBT(YADXj*A{UzmZlrF=#Z68Y4KREA(x0olCTpPI1^q4H@2T19y zVCadE*qr;+EghK*8O<~zHp9EMoYl{X%@O<=H6%oLJF3iiafP$6H-C)E2sbK_^r~{3 z)lw+Fpt4Nb<~gu#IBj5#E)G9p5M#lGP+r1Q`L8)N12-D2vJNcqk|WO*Dk&sG$Lm7Y zB1_g3gf)zJM2qEbaa#x_eRB^WCky*Z0juLFw@Cio%;XF~HNlc*pI2FRq>7YcE z7{!;#ci%~f)T2Sm*tlW9sSZhEHEMDzyvUz4?A}Geod>BYDHh%Ro(N1-?qB~F%_J|- zZUeJ3&{keWoG~a>hnc(3&N-MH&aCd1GwYiL z1T?;&?~h+-k2PPg8S_g2d;al-?1O-l^x!sY;oV&n&9kR^To`@C*P^BZ@~c<1{v+2M zrB{aF%R6WnQ#;<<&R8*d7@ZtGqGP-RqBNQME6t151a7qLm22|fXq&Anr7B9-p}37u zFk+f=-7pJIN4^nHW-zhxUFPP~Q44qgdWSVc$T212w`T81?&56K z-*Q|C@q`hRoV3p&3m_?!7f96O#dZ}ME0mf+(^`b4oSINBCtprSlT~Pmdb4SxQ3d2hU(&tdz2P^R^UZgMdc=>UzdXrn?QE8H^-5uiRB@%fBFlXV-3^BoYlJk|Sl7BFs|VIlFfNC4rrMy@Z(ztY&~OzDT;G?LY9r2=o;^p2P|g%OPbGrHN-4t? zFBJyi65QnfAj&>e9qBW8XXvgm7bt~x1HVihu4vz;IudbE|PjSaBJO^5x%d2q-Bat`e_N1T8+i0nvTuaG{$enuy z!jV3qPU=+6=Jl@8cHw$*uZeY8-%-PxoH@9{1QzazlQ~+P0%l&8LsibgfkDOe;hLP^u>=zwL>V&E?wRqS zrnfKhe;JV@^s1eZs)6JjhwZo@lE%RRTM$$E8P?xpC)%wIG$5T1J5IOfOWc7WPsmsn2t_t5H7mUM_!rGmC2P9oy%g#e&Vpj#{4+&#f4_ z8aajVg@~sh2psbuDc3Yu6eXVKwA%qSd8@^!;TovSBKk7q_^&)$+P#^mac}9@Yd6*# z(J3mZn-6MUB>$Pu@mz?;P2JU>mQq`K9Ah}Q>@m6JDfs#PnoQAqkF6hvqCN53@t^BiBWD4?(-< z`}U!JrW7a$qI2YYtq9sIXsT@4)%2@AtDI$g-Y{;+$v#5ah2 zdaB&Hr}{4H=Iss_j$f}+$UEdl%mhI)+9ax}jZ3{QUYikqQ*xJ|p=T~ctWo0qHHL2%jg}3s8-@mUZf>?CpQ~>q(k?Y^Owg!d}?E#3!UIo+@s-% zrh;N(^woATNJ+P!nE{FY{Df=?*!iQxWL;+;x;i(^mmJ$5ffaun|C5TL*394 zYi1<3_ByF(RD0f5X8G-XDL7D^zN-DU3$e;xa+tQ~r$o}b$1=o$5@!6n0`|)S?^iNi z4mKyM7pbAv=aj?Ur-dm(gg7CdJ++IVkbi7BJ_OmQWf6%bPRE17`tLz{>&g0C_!M*v z{U|Z!(JxIbVbVsiz8$M<)NY$X7IZMT6WgLr*;jlNlHu7$^cjOcG6mJ8HTcIVs@__{EAxC7nZ zTo4Kv@F|OH=nO#_ee<8}-6TlrO@$_E5D}Y)^qMc{!H>?a7u}KdM{?+)nUd`(zZSxlBWGB(705X2O5sq^7LftkA zHPx8a40lJYh2^(z;pWF<6t(W4g!fZlvBRpd^!n25pF^=%HxavGpP6%N_w7zzIw)q5 zYDXU0q(s&^wBGnO<0qdS*yvML=2`H_Nq00YGt3#P0y^4dwX0b}Yuf@wTZDe zJ>_{j|7sF&ZfkHH$Q;rgo9(G{d2a_qxBdO;?Nu)CZ;grrT*kMkQXeH+SNN7T{Lo%i zsDiq?vSV*^N=@5J_mUk+l+7Cc9*Z4n;6mY%Qhp3mjmiTG7X@w9kKy5bpwPG`Ob|8% zEF#Rme*5MntWs^mU#{mIWO;#V0ctlH@gTt5O{nb_lo?^+1X@hu#?-=5lc zpYI{v2EBY8>d#;3aEFv2{90G5muN069b1Vwaz0yw{i^&M5-eMAa3Ry@J4P#n>WpDZ zJZ#*{E*dXSqvKBY8#(e=y9Htd8zLH;uFs6mct7<$JaJ&I2O9DWz{)%yT5STdfdShU zAsjTRhGxKfzz=uy!=}djLf{*48_1Nn{i4Cj@XPB^shKc(=uy0k8OlbtaEMFqp!H-DNWVwvFkqhF79 zGoN)wy3k2hR9a0Od3+bqo-Ml<_$600p=t8YaYc8F1bii3{_gl!bdcMv#oib`$*gvI z(W4&7N@dD3GHMWiC&=!P1=^%e>f6k*!~3QU_@hG3s_Wb=mJf#)*YHc_grj@YR^vvu zcOdAsi9p2=df0*!3T$X?y^sRzm0!T1Ao!qH_Wdhyc9h0M*@2I8@fcW$E;Z*76&0j7 zM*$Ew-Z+$1Q2(Y6Xj!fQ9D0ST!7rgHw6;jbj)4=R# z94z$u-u>yXXj|D209cR(gE$j*|5R}Bg5D9fABH2Zv{-G|fSBu47P9ycqd}$UEO8e$ zd#%TV2zZP7ziC|u#QU|cutgHF^=C2&T5;HP z^G`TuEO@PzB(!p>GnOGiGnU2EggBMpY6;F8Y8c$u&rR3he8E~EL^-VO{Hcw;ox)OZ z+{D;84+vTOfZq^2naAx6RviOH4vJIc6Yp$H&B#)VK=>Pu6$4|ZvL0?JG(N^#VMf&X zcYSovK>;1-1q8(u1WwgYTx@x$UcAfpOE6r~t1$sjVpSh2x>li$v-elcLmLJI{%z=p z5CQ(6g?jL8cwtO*-Uon019zzL#_8joUqs z;QirZuc zvA$vbe&_ekz?$|V%4RXJ*Z@_t$PoMKi-=~yPn%~cqKpI^$Yw}g^PU(^j7~yD&NuCw z@m}{mZ}oGAruWoS@<=;+X$U4f8cr}Yb-WN_5B&DNj)+vxpGWvlIpog}D4hZ8eQ`JS zm*8YS$iuMy$oAP370y238^A?hXRuirkM0s=SBzmKJ4huut186c$Gwonhz(3`{u@bq zet2ZkWb@1O=hkz2(T6&6F;^KJ3zE6t3xGa^-ftYt#efhC9rtlGe}k7qyA@6|unxW? z-S;}TfP^$wM)8JYzk|^80se~KCU^ZbxOM&^MkSg0Ph+?S8#?;o zSCYAb!~`TKPcGd;){CEO%6rb9vLy`ks`8!vPFbUb5*@L_Q!u|KW!(9?q@;S1?-XtG z@qKYpoHcG%_Gpfx1u2{YA}<*YRZ$G>C+wSioH#qOUaaG96XT-0&RF+MoM>sXiFYES zK24HZg;G*xFvH-?upxE#O?VfSlBci-FrRxFE*}FTDpe=}t`(OA~!GNdU?6wD7Ok((j zjV%dxL(Bwl^|)iP?+SPxXc!w_HAJdT$PJTsxNPuWVe{ZYe}LJ~1e5PRr0T@AV_K*_ zxsm-SOY{>%&U_*6%lRCu*qCTmr=u#o!&T1V*W$Ml)V8Gw=u1`X(u0B=1vTd)p#2(3 z^~{njE?M&V#S8?yD+0|dHh_Si$lsE8ur@WI2?+2!yf+(3RgiI`%w<&&qbS_*9Pu)V zW*7hvV#Cz3il*hvf)KiSFu_mI{i<{ji2? zA`Tj{$D@#YWxXrx z$t7Y8Nymhc*i~TQmxctmq#7W3BXzcVw9>>WMugM5%D~~qMC5LEH`k=WiUH64!R_0T zNqxLUch=U{c$gR%-o*4Qrb4B!Q&Ni})MzPm7ElC<0%3l-we8dY_4PcRHK~!F=>-P^XJJb&H~^Io$a-?BRlDP+7J{(o_bTbolPXM7F|i>@O8f7epQTaULd`jTB9x9vD_H9-dkP53*)J0BRg0 z8OWtM>B|4IQ7It9!|ZaWgvS^NV(9aB`P{^Z2 zqT<5g^mc+lzTD0+wpllr9{7otwYsWC_BT564qmFms9z*YVN~9+`ti_F%W+5UcwYI- zn!nj$gO3}gBNKfiPiwh`rgq0-dvK(Mf@Co4?5#r0g}XbMYR?%R3Wrvwy?U`|MhQ0`uU1)rywRX->T^x>={@{X>vqPSFzLo)k!!9-3^)Py>jm5?IE5*N~ zg8>va6qc`pBc@dAvHV3!{VjuMB-K{F(2K=;uHQeI2+zvpyIqNofLgcgp5E~F$-VXb z`AyBXvtSsfeG$5D4U#f#GqXwV=rvKXjyP|&ey)NI?6JS@s3hQ!DO}y|0ueQ?`q?v? zkX`JP-*@5bcOR&gv@9wz^Ao5W?bLkhLk!1j@=#)p1epF-Qxu4(G65bmOvYJ%?Qlm^ zDtAe-d41=I@(ZPO?NR?aa0!!ve01x!2&qtArKRK@ceaaKeJR=T8SSaDBvxQiNz(5; z9S1G8_Q$>vLAg;$sJgyous!5E9wbHiq5tq|Ec~(@^W43jjOTTKajNCodYieH%qFpB zF>d5FUq>a<*!QIWpd>Kxb}9F}xhya_W<)bA{zXDZ=e@wU8JSAQpGlW`+*kk0_Z?fo z3$I2!lpwuWm_dDGB*Ocb+Y;8&X92BplRc{lf=ci8Ow01vcj&xAZ24d#Nm zav-7W2R5W~3}42m*!_8sMB=A`tp|a9y#&cimc!H2eQCw=VlG8VrrOqRMYg^1pvLi{ z{JA3U`$tx+)pELO2{B5jhz}~hca0UW_V~UrgYz^r?*`3HRNMCiC9^r0R#Y>`h@^Zv#Nn2{z4PO z5pmc#-U$_T1;Lsfw2FH)Uqv;<>O!OTG^wnxvtqAT>+u85iZ7rUeq)b$#&x6%0nVhK z<2~{I->+qXj8l`!x9j5whSi^`{gQHr5ywquGNDQ|zv+b-9Qa%e$q|4iM+qme z4bMtnzfO~bWF(vQYc-UEugVoBCHhkhrx2M=b+%hKkm)+gXq*3w$ldLT0mIRKKVG>B z;eWmT^E{i;(7kD0IU=XtL9h`}T`YAgon1S&p0(5%$ zz8B@+v4syyqHrcO+m(pxsx>GzRk2a)8gYpZ&rvcSNEyE{!&lC~-9~xB;B z2I1WX$bw>Ci~XbwxnRMD;t*rW(%?)=q(X@&dz$DF10r=9BA0T?d+6-!#}#xfc=H{* zuqF2P(@WZ|Unh*dK92Gf|JC^Vy0K}#{hv}%dzjMFhBu|MQ(~Oa0Lk6d;iOuHA@q!e zxH;g-z{FZ#aoYU-dg173H$K4qA$#u10DUjVq)n1T#pm? z9abIpqz_L&?wQU|EHYvZP4zy*s%%QQ=?H8%bx5g&nnw_S1)M$D-$LcT9UOBYA)cKq zrs=RfX6o`fZj%0i;&w)ASvuE8wU>oOYK{zXZDO{P2+*s^;Cu;|$coXo7xzyRQJz1l z^Ms(Uza)6hlx*%3*wm5#Re~;%?P09`XV^NT~ z>`?iY(a~=cFoP6z-$O{;*f>7)=l1|c*VWLd46GEj!HIHmj>D*Jf=*Cx+cPEiDbX0^ z0t#i8#OsK!w?o-g6N6~wQZ*X?W?+f++fF8@n+Tk-N?8(9yX1k(b zrz7SWjy;9;h}qaL^IG`gUT;oK}2zgeiEmanVkV2y{@!u#+}qCZG= zovX*;jV)t`AE^T_g}Q^U@g1mRt?+5_L%yshX;N14G;k&3q^H$mH63e)vbS5{Y|k4` z^$uXog|qa~cDnW8Nsjwq|MB3V!rZQ+5GEJ!7-Qn)+`#`$?^)f{2Tvyz_3b4y^2%{O zD6qrAX{By`#>U{XjgrTxpx2>{c%bl@kOEe`thSF2GPVAz2L>gp(*X4VT!+69CN^#$ z&uPVX8_WO}|82OiFS`P~y?(vSUkbX~K8@&?(3ri_{c35Z&e>=iX!(@Da>ZbhmQ6wo z3%Hc7F9I2`GOYfBzUuc+XLIA6?TqG8w5bg|SEG#<$n> zO3i6?72~m*#^2+^Rr6U?54k1t5j&bUTY%~^GHED_G+S?V@S*sL{n{~(Vk2m(xk$Os z%KQAa1xAYw_*wJsY(J{s$iUmyG1=*s!!!J%`D|c_6zRzlPbvF`hdtuQO@990%-6?= zS*HtB4(H#M6>*{8rj4}_!K@tt0u#eN2+T0CRgt*jyG5w>bEq;_1l0HC^8=XcuQ|{; z{hYs2;+#ZyztHE*;aW*T9?u=uoWW)41FNPWV@%6`#GxA&5y5XHOc>^uKvVA68LHUKa=*2pm z!qp7>*-0hZ+3Icw*p1#RbzdIw=SJ9Nq;iYRUMP}HT`0<*%d>L9rY+@2k<*x}mnf?9 zb+krG9nn=Syz}!!zrLa09PGUThmB7gMLKd3 zRzx7sV|X^2BLK?7jUMQ&$16ynxt&4HjlMx}i_Ha@-+cql#f3N>@I3svEojs@&BgC= z|EXjv=z&mINJ#7wH5_biB&a^~tqH$QE0=uQC)3jzaYd=Uzwh~X`2EaQq{4OmFHce5 zgjzP6s2N;|sI9JU6k6@#-2Ots;@fn!NN7!}aU+$z^6XTxc;av%V*GlD4JEMzPd< zW;~ca&qU!U?61##Ln$Pm3=EXjKK9NI5U6vZxf~ikx4jx2R^IW!eM4|3J3*N*2Hs&P zH&Fkphz|S}8T~|w6Tz8>^TcO|_VSMiVXC@Bs z@5W0?dpR}pI|59`k)-*rENB0pH%)eddm`RSd9i!z)JDI@~e+lgXyq7{{NSV9< zg+JXH;eD=5N6Ac$*?Mkqip2EzD*kTEz@CCL(#Y##x=%HnYM*_fB{{xEmG8@Ynl4E0 zQ%6tDX*^cZ$~W^=ueerUD<_fx%>GBkD7|T$u8SpIV%Ps>jQ%>agx#Dsd8-~%P%UPd zT@35(WS$Ft+Sr#R-FAA7oyRheQdr%55U_>V*H|!};TeQ{@Xj z3E39~Q4QH2qtK$J?pov4#Q3@9onL3AW@{Lm{U zzfSCp%qOS|5yLOH&0%x%%kupEpMR<=hJj18qiC--D*k!;62JsUcC3_$=9{`#^br}p zt2w^GULb|OskP*4o7Akn@a`R?jGB`^n6THM1UYW;c%^loO^K2BS?NZ=LBpkN0qLdZ zpM^v6*L z_|4FNFVvJMADaWSb^U%gbPw!mbhBqORQFf^jHYRHA2ZLLS9mh7?CbsR`ZayjBz5yE z&d)VAhIm4VLH>K@tBL7(H#hw@&A45(@WqTV*Oo~upgV{V5_@3_%1ir{jp@bdFCdmJ z$Gp7*DZ?qRrXg1?&vFBRZQm~Iq3o+w&NcYb&|=dI(z@7&mEAT;Up)`+Js*$AFv=%20XvF^)3cfqk#gjh7*U)RIg4Wecey zQNd_}js30CL}@|@j2Jy@dwAGRF&yV0Tf-op$RI&0y!*k?+Jy7-Yd5CtAcRmY_R1KyvffOxa^amS^d*l$-aP zeB2I4nA3tM`UmLLEI6giiLCnbl-iKb$Y^umV19-jZk-(+ynfk^rl*VDig`oDDtQc* z5JaUFE>g-6@TDW$ZWzhk9gY2C%hP{o6EOA(--J%U@1VoaBeR`dSHjR zB0#P^I?x(cVLvW%MM{cQO}(sTg@tz}${S|=kHM0lEUM~c0T5y(KvkFzgOr*GBg8a* zs=-fZUR1gs324_q!@)N_TVBfybCcd=>c78HGvbdC<_(DhLY;egjW-==Q56FxwM;%A}8IyNjytK$CX*UmKSxd z6D{L|22xRJDPyN1d>!ANGxqAkuKsfrb?qaYA{?X=0@JQ4JfVrltsH@};K6DU^B7x1 z*bbb0GxM~2{g(Z~gkq=;?+0*T)nW%3NWJSRa6j|)F)MZ$le1*;#PF zuOw#cvhQ!C%8F873mWYXg(Mps7iV*#78#Cc8CYZa2oS70m5n%?r}$3|96iivDDyKq z)Swtm?wD9unTKG}GHruKWXC@L4j%?Dw4to5Y;M6I^VdvDy}*NxB8893f86>ha3Ja) z0p^0M_+cs;5+qjAS6@hXxUj})QZ;wKPAZYz4AILpg)j?OUvw3WUL{gX`OzSA|1W>W z+_bqmkP+swvfJ{{r4I^*fz&CSVdI8hi9O>&@75rEKrv)i!&}Y^3<67xjKA+jt@)~p zD$--DK?C3|Gc&XA3vWc&QcJt)UlYpVMbMP(?C$Qa>+-k(?*C2Tvxj(+XAnP{qqjN= z&Z6DKkq*(bYai2rip@%x-PHn`Ma<&^FEs^m@x50%X5OQJ%47a}}Jbev2+brdWERLG$AM zuel0^9hl2v@Usej#=#Fo2L?73p1)N2Tit&(&-q4yne8xZ3csq4%mbuD=iR2}WnwGb z8*lGm-AwG0{z~9nsH5UVcVIq(V3JP#_A>>@8c{{5Gk(X%gxt9!Top5jzjhUwrxren zD8oB)aQwEOe<0r*63FDBXCcYk;gS&KXKGSa)W3#usj5q?BF!Y#AJJIw%U=r~1n{%}K+KPpsK$DDIG6Dfd4mj&vSBg5lFmV71hL?;6l2 zVvvO)n)^O$5y0-nPJq$FFe^4+c|sG0T^y=IvWpDg z_ZjB0$CS|#Ic8aP^xqvblGVyel}h0*@1boLllOD|Aty84+C5Cpe&1e@FD7X$mus*7 zuQr0ezhn6e=PnC4{H70N+c$j(0=6x~yNcJkp$5 zDV_Rm{kF8^)Ye$n($jdev`K`xGZ{T~R}sbry7g$)5R9EW?vgyq_@&tV6mGi5Pv_3j zBzJi~%s`>zf#_3n+k_?2a#THgPxf=Bv(cq)HlWZ6+mevo$W8n`^drPcNJk z*xjY-&ujDZ*_4wMQv$1ON1xo~Lq{MPPc4(A>4&0Hl_jRV9st{Xt~$Ffkzl+y#=07Vvx@xil``+j-yOdpjh#{V)RO;_|as zI}jwEkdTllYM>|>vhc*V?-+Y~O42`k_z-QR<)?^I=q}=Q3@-cd;kfRP$=Ko_`J3U= zgzYN!qwF`A?ZI8y^Sq(VL0nR@9_&XjhRW#VxT%IK0e3P70+b?H6;%&|)+#xaB_di~ zggCk>mbc{7G!9_2b8C;u<1S|R=0CTgNWixb4t;8=2By{jJ36>!T1g=xA#r%_Ppqfq zLUS(Yo4~szYZ(bvGhN*hd*M~r!VERap3(bypR|47*J?72r4<+3;lr6*jp}s+u_~eh za|wrmo2U`SxsVD&z`nl4@bbc^?Q3sJOXNyQi?;4!1o9113eKvjnlrdG$25}dx$PNd z3J{Pmd~x=JPdQ$(>*Fa$qDJYIE7eO)WHWz}a!%Iw2<{?KCm>hnm<2q8oJbbjUKjAt zjaZd*J@?)PV8U;P))Lnf22G5RZ5N&lZVFa5stz%!i5g(9J^N0zAfAqr_yA)ko zlR=UmHF$e(DSj*!%xwCt@bh23WMyo0*!$(8;Fz>Ag=kvEk6Yd|q=9mAqov|r=WCRv zX0*2*=g&j=N}v5XUYGTH%#Negqlck?#6|S-LX%jKFS*5jixJPJJiYDi>wa>9zo>$| zrv>|AA8gz@sh|uXp#CUNdUYA_UOn8;!Dirvpr6sVpWj1Xl2I8n>(Z;PO*_|p4wGl? zE$CS9kozdWv@mB58vW)SMfrmktOaupHG6FHGap)oaWAit9>EEqcLBtMDvlQnm;iw+ z5K!00YYa@Kzyi4>Lo4V?FJE{DvUeH=Nq=aOvl9+_X5ubKIJ)k`2fvX-0VkM^c7Scq*-VG>>306tk2cL=m-`HFap;Xy zpG^Tiq$iRz+Rvd-R-;PA?G?x9&DGKWd53K9=`OY1pw8FM(<^wt6lLO+P6 zwpVFANYmSR%I}Z_+l~8MrFlEP8S8j2^3c+`tknYy>ABVAE}u)CeXYq5m^|q*Uue-{gFQ};sQlD_17Sb}x%#7SM2;mI`*lA}g)?n_%KjLxZ+=@_E->*6PPEarOMOIbt6L*! zE{_hY&KFTYPZs>G1@<@GX*?2Uz2@X78g4XJrU6e#_e*j;GW?gued(w8LTDzUS#0_I zJM#6yls~;CDojkNoYhGF6Iny_6wvVVIPYj_##qW&RrVn66qptu?OGn}OL8Q_+9WTU z4-OYY5toM~kvmK>S1a*xFM4i;9J~Wxe$sC&F(iGqz7>J;Qu#vOO{{a2=1|DNu%k5j zeRvj0BA>3jG$V!c!UnSk^$i0#6WkfWagM{7AIN5}rDZ2A;LSB!(pPNU(Wg1AiE`K{$f+i= za)Cd*d}%YrhsNIKAB|c&_UhTAA#b6^Dl~Y8NaTMwo6lDW7`YH!-+(vXb$6>%V6q0> z`p)iA$)!giw?9U$&07L$AsFzrGQWxePj(Mf z^Vh)J?2BHz!G50v>gPwCectqG6IG`iCHOe|v24y6SVZ_`@6_4a`*hwwyG>Lj(qTVe zsXtQoNOHr;VuL@v_Fa#9UL~QWb;2d1$4(UL=^zHHQ!dEbmEta5)6ika9WkI$y_Z}z zK!U%W#I;I>D2dZ&A4zU7{BmRimJ+pswD#t53S~3@Qz$$L&!2MM2Z9lc&caH>JJhWH zIB~^{e}zy>go|o8oA`e=P&7EBUZk)4l6%!4AW*@;5@x3Up{6TJy-cD31VcpkK9-a_ z#F?xy>^BwC#6SD?#v8KHdbFECJ&k|en&m~uq48KY9k=)656fxnP|+6?*{d()Msmi# zPuA-_tk#39KWW&N?=l85%UmT4LtH9Yh8$@7jaQ(V`Cp&mjU+tLl+KC@BHcXDAw(vY z$p-I>!JaNAmrlz`#yw#>$s$T?;-R#OFI+V=93MRX@9$G3-nK@cB|HklGmtv4l~HMw zo#=^QCsqr?B|j2V1#$K0=gIl9Iuc znDH97MbIR52gXqLFBpMepRY7_34dn|r7;WM7JbwjRb1U+agSZ~+?&!&u|Bxs-y2`t zoh9h%QByKDmM9j}Lqc%YhO>ijKciB0bUP`Ex`BT(GhyLl7sq6c%1G%wZNRGEbh1p6cvUObsEb<& z`tP*O(HUC!Lews>O?Lad5p*AaUV$|mzrYicrSD%2eL|;f2yh9ZX zu{|I1%})MS@afYhQ@f?>mygd+_T69S;zJK{IE+s3 zVP^~CwqLQtR!+PfeO=%J5wpHN*M0W&FN>fM?h}K?SanSbR`!BdY4Z_2?LZ4M(2JM@=BfkE$%^GofBjN)fwXi3i9WIk7VoGvWBudAXj_-JjD1)l-+Rs8K zChF-r2J8D8Wv44hed=JX_%}Q55HC9I4rEzfrWk{)+FTb#FTYI z=dUElT19pVg%>6R1u@o+M)7}a9zI-CLNq@r%O#k1`M|F<{#AV7(dbUEtE)I@rzJ8< zcDQ_e_FP9}+BQ{0Ch399Cl0|a;+s)b3>=SyFlDa`BTkXg52_?AEJ*k?lSZ8BRQnq_ zVHepoXM*d5J5ba%!B^6+WFQ;C3{mas{u;D%+?aRmekQg;2`bJP3TW=)BK9JYa_J%> z`$=&Jc66~yhg_`!TI?n|x%00Ps|F`^Gw}v#4!_Nv0;)J_+G><|uIuK|kY&xfyXI<7 z@>`MJ7hc@^zg?6SWG|9G@L)J~(`Ekl-wGbz%DxU&@uCI{m1DzEBQGeswU?c3L#eHiF}q)%)meU- zI-wOg$LaF@MM--kf?+|f`D5BpI;Qt2^bJ3658dNmbJD1TGewbAaa;<_>#lukiGa?0 zjF|7%aG0kBwEp-c&qK1LLs*qFsW~3(tFK^kw*)#b>054;Vpe-vKLM<8 zGO*=cXQse(H+`w}%)%ZNdqTJmrA%A^L}VmC_U}$na1H$z8JrU}6Il~p&g-r*m@Plx zrzW%=89@+)7j9}AB6c+-?GozfWF93+u)ga2{pObOKxv-_yg;J%O6Vcg92?K&r*^>` zv#VdTmEM+_ohvu)CY`Oj;#aD5@P&UC=;%u}lKpgEvKwDbG^-Pn2hvNfB^_?G*xOBY zgU+WhOp=K^4!J72 zSOue}WUm`^g%g=$3BrId?1+q7bq&wGLSreKBYzGyG&JA6H+mS;THHX0{h}=(~RO;J!)m*ryE0vU{*Sh&$_0k`?E!L{_%5r z?*B*BS%y^=tzCQ34I2poL15F}NViHi(nyEWg0u?|brVX6bW2G~cPl9&0!nU_kOo0I zzUevdxxRmTp@^{7oKK8#j~ge)(4{Ntz<@@XkKfNDMsu{rSPjI48ZiNY(?4DC!{m<@en=LXjC6%r1LeaFnk0kyi5+CPGjdt$P{VA9fXKs0a-3~R@cxdQd$jouFUJ6UxHK^u6B3|F zUsdH|baQc`ZRltM6l1YaF`Cm5xTLu`(42ppAmvml#-u$2a2I4wkUBKSUH&=PHnt5 zLQQ5xK}?DP2^k3wH3lX)8+P2=L~rrw>^({o_oXHgZDMs%L1sU{z4=b$^4ZU0b-hHN z<41Hd{!aCGpC^7*PjM(mQ)Q$eV0~c@@{Rp|Y#eGL$Tn35O^)6Cnx+BaDT|TKHfDw? zrxZbiZSzjoQ)wmP&5-k_DF2p65#d)s7mtP;3QC=(ujVrErR59ikKN<#A)_>d0x5SwP98*segv+Oq1j=o3KQbPDYWua@V;nUiD zZ_L9Q-JHvsR8la5B%`rvbZmPdojD@!HsAdB`$s~*mihaT1wIkj9>N(+13?0z_cjYb zW?H)U-9OFqJ6I|{&zrPW?u;73=HM}cn#CA$t}FPnK5xL^tGo<<6$cXh0F5JTy{ee! zFK^ANEK{4CuN;*7%9BKCmv{S45*dYOXc#k+E__)V|Ke@eb7DCKgd1xBO7S`N?S#%y z=p|HeYYaFQr1H036XX&&Kff`E5P2)Mtf@{bvZ<<4qtPX;RQx5rSC)m5zh)8=xzD@! zBZh%^g$Rzy^AYKT`6Z2>3rBVkadlwip;&2O=HsJ~Onkgd7Q_2*9u?lOeZQNHqQo~=!Nmc6XZC(wH~0|B|zCny?z&mW8apnNkpM^;;+CTk%ks{h5LFUy#3KZWZPl!8H z%9C7n!A)MkD*G1@o?YGD+fDHI5kBzlnjhHZ6xDkyJ{t!&xNsm5mec@Hu)lzAzu39s zk9(DmEs z>L(<~=2xi#!bz35do3;%2_(1fv;AL*z#Ks%idXOe$0HU+&%Fj$Yhd^0;JSJ4DC{qm zZ&b-l>(zYoN~&|3b3;6O@-kC+D@G9$pWMOmhb!5FigVhO+r2u9l?NnJ$0zRuF#NgZ zS()z zziz?~to{aa>*zh}Y|o8tQRN0FPF~*DIMW7x=Db$`6<-I>+(YG%^^#;Jl7)c&wu6Dwt)Gu_7RX+5zO zNFaytyt_~0mLo@o`&iE^teaT9P@UJ9p88iM0}lze7cIX$yFT;T{ZUw0=wxUl%h<^R ztzt?jPQbNAU=+$rK=$6Mtm67+P0RJC6BUa zx7)pBR`PrPjm5#=Yu8q3z<|gvJpsO=qr9>*n?JoOhK8R0f)Rk;iF4voX z`uipz52y=n>^<=RchuO~qDm)zZjeH-nAjSb(k}69B5A)JL(7 z*oG|#a}t3F53m4JhCV+exHX^@`eXXTQ__iYvoLSG(4Bu9SZs7{2_l?fo6(+m?JZ?c z=_6xV99C|BH!>?Gy4OdI7H5s`QV;G?f30>{OL9`vAB3Wq}i9C^o93yQ1ko=X}4*Y z@dZ_LpF8!dN)sXa4d<4u$Y)ZMMj{C2!uuxuVI>8neFrkVv32aGSkV0ew76i!fGNp@ zA`<#pBN1Dh!Zb3ImwRwFk_*qIKVpLv6TY7AUhVWUW}4iJ{-k|-JFQ2C_w}EmG&Ihk zoZ861XE0&4<}G~k0xU^bIWyuOJPo&w#;g4C?4u2ZGAql3$bRwr>PlyKx~|Z5=8`$D zJ_deh;$4o9Xm1BCb8p#3bm4Pfq^-Zd#0xYVE4%4b!#*bBozTHUf_^yrChq~5NSSzo zD>0Ve?TO$vMVb;e)RepxlvM5vP1krDH~@`8{+Ws z^Sgs_vTr~1MGO}ASfB^`s5_7xZjOmwA{ka=P+F-&&u6_?rq?&BZF)ZUf^@K|xSJe+ zHwyyB)VVYw5Cynuw;sM!{F*j2*0cU|C|9?*pLG_6pHxjz@z`>-HUqaMHGob=sfcuC zX!DJNv092Mz3PocRm~yhMk)ouE}nwmA&OQ2OuMab1p6YIKdCMZbeE(}-ocihIb;4U z-zmXt!$F{arG5}0#78GwoOy5^EEMHbWlN-l!Z5&a%EV3|0BjRF+=0)-$H6;KvWI>T zneEq4+y+Vm`&gfC1q*z#xQfA#ljJ=}|r75Ji&rFS49&P)}5*H-e z4As1ggUd5n=XtyQC~|R{ks}efIoYAlrYI7RM7-pM)`!m8F_4EE;z?o89O*(8? zy+dg(nO<2tJ8A7q#FE8)_0j3GTK?b~Xt1xG}5{o{X|h^6M&NG^fyOmCxZ+SBJxBMrzAhpTukLe5HW0 zr3>C^_Ohv~U03wCuL%hJYh@Dr0%fw2|1sQ>@;GA^WAP<%JF~%W>jOa-$?%>E4&JVt zemWnxS$-3Y^0E=*9Kdb7-|w$xg|r2ZQLy=^hEf7bbC)x}u{wr?w5=YT%8d@gqJx*8 z!Drd|cT72#Jvkt8Y=4E4!|ipW`*+K{_OhMohyXJQAt95VW2nq-)i+eT*36aMT9Vx+ zAd38X)-p4$wOr^sm2YrTW%MXMqWx2Xx@v!;R_J7&BL05TF*VSM4JB1(qD-&D{YDZDdU8jeem+^YBu4~7KFW001hUq@G%;{v9d|!P?9!G=U63sN(zh<2CN{ z%~k+qEKcrFZ|&H8eRYllt^A#SXw1#cO|OJsP+6&?M|qcvlhc!!l$2Wu|I@mUl&IDd zh0(Fw*KhSfO=6Rd=(dR?R{DLLEj$(HFyAe^&O-jZ?DPFp2^!}X@|>W)^B?Sl$YAIf zlYit!UByT}yop-BX<)(!g(7?B&&2vJ(>2rWNgz-z%aK93Z|XN`i{m;MS8>;yEM}hi z?83PT4y5_nzo4Nq8GlB{)fbpvK`*73UReA#_vaTe297q_+3(-|^N(K6kiGf(=R&Em z_Y7w+yf25Mbp#NX4Uv(Y!{k4AO}HGmyfya#;t+nSYc%=nH+Dcco(I=pH}f(wPD!WQ z@wI{=RcoBB6d#?0_%f$rHQl$bm0nVrY*6zb%a0%Ts1MPvDO%TgGgIO+5Td83Cy{%^ zA`2ujzOL>Hn!bAX4^ww8-I9kTpZOBH{F6bw0i|$FL1HYX326@KL^1&bNpeD!H<=t4 z9yq5hnmBz56=4=5lw`jCGpZ^p_Yl3$OxL}SJPK^P*0Z#<#I!E|cv=qxqH=(9_`%QO zpN0+y{BL)jV;B-JUlDcQ^8=;c5rpz03{<=e(OI`-T(Dh)GFVG zhFdUNv0S>#t5t~4Li^#1O_5|0qkG-Lp-2tBZ*8)qt!EOL3h3A6^S|&J7v=lu`TI+AIr{bcTg`Ouhk=H% z)yiYxZMvE#>x=XpnGTqs%{qchgjuKrPk?;D`qi}+`)z8(JS-(Ctu%}|N1{Zg`1Ebw z-^ATpgkYnxwqmsixTXhUT0!ZF)fp(zhOQ`~yty1wb5nTnbUzQTs2FMorW7}|(Z9?t zOk~-Rc-*V-hczkjhFrEzx6%<}e5ItMow$ubKj*kIaeOL7?qS9jHy2kJZQ8ca#;7fEkcKra809M!t~U zFiha;m_hJ4n#l}1fB!O@P*B^t(5XfGGWmk@AQwrLkb-}N}DR>RA(grOG-v|3=p^NfByVg_#nRTblWRG z-7Rwi&2weIw1)>hq4Bv}JaPRH;q&G}s61w)#JnV!$Hy<(Tqe!lhFhgj#eMWBUbEU_ zdIOQ)jPGxJu&GRFQiySv&Qmo0a36}mP{Bv3dSd4Yk|RH0IYlA#Bnn-~@yWw_$d}p| z_F7k*j$YqQaj+Q=EtzT7akxw^!XMTI4__u~1lN-~wC4Tz@BO69{r+&xBLT@MQN-AQ zjo=djpSs=gKf`U@aDnTyx>M$X}WF3Cp38$2( zlSd}oDPIH%jvYOI+4%m^01wPsGWvk}Re4W-YlC8WBozTiMp@gWX{ zS5E9wDZmJ#XhPD+-VV`;gkChvd28r}zmB@%PrdWuD*-K4E9sZN_r8%|M((>4JV%7( z3&zKUa%!fb?3D*sZw$Kz?kVBx3BQ|8!~W^kwWV>APFTv8mMC1;p)i+hR7JK#DcErj zbAFhBTFd~(#eHLgj%2B<4Y3Ex(^&T1MIeV$1P*-y*?=_2v%I842MiE|STriyj%N6c zj27|c#kX0ZNiahMsfMHUv4nN)?N%V&lF zC(V@Mi_?F`m_$&QirG_`OOBcq{g2)l{?%Cq|FJ=%b&&$?x17|CLP^wH?DYW<$^bH`J$!xZngVO%vOp|`fWtz)~8$hZY@Ojwg$u0617%C+C72SXC^qo8;$Votzsl-N9 ztbXN%2R7I1KS9na`Lqmq`TG#<#^*f^9Y7?U*6;~4lugY?Gmp$e-c^qp!a zCqCKzma?1ju;pxJe56iW*aq`~(6DA^ChYyimpa+GXGH%)uexcJKAs+dhUs9qdY9o~ zZ-G)?M5KC`1)&m`&^tjdE}8<&+Pi5MoXnqNn3H7aC+vw8G~epO6QW#pLIe83FY9PN z*$R=rR%0tvW22rR%uDlml=c7-t>&cpb}T=lP_0+=vZGMVd6?$SXE_4&+oVzGx7+Tm zmwb`9rM@`7;Tv9lGe`m!O#BAV~?^+G-m_H!ULg$^dz-RF11=mP4D#S^c$dx z3}4+XC@wB0?7aR2`w4e<0-)8ssPLPiL=Z9j)$90gO6uNMjS*3TuijyekIW`&Y1Q`3 zWc~N4Y0P6KnKcvJl0|HUHaj+h&)Sj+70Gb0+_Ec5OfPGe=iM8EKrEaUv?wgT{T&3~ zJpr<=?{^-I1F=4;q$C;gr#@>r!e;JO20%Co7%T(hVb@Zivw8my3UIl%x90)U**e(@ zg2&blEa$#|KXI*JVFjEk%Uw?iIf9Ts+a=&yXLO|a@>Yi)*gn<)#CjUy#q~Tp+Mdk!rWvof@CA`Cd~=TSNFV^0GtN!XI`~W zj*mF)tZW!iKnvE2FdQfbIzA=@nS55f>K`=2afql=W0;Gk^2WHDn)yx4lPIObch))EqoIvh39waNE&nH0UuS1d*BSRtr9EMh z7r=s$lA=!I=&jF>!^y1XQe4wki|L@wOBl+kN{E04h~rXA;}wa2!;!Bg__OSyD4L(BJVqj=PfE!vTTtTlhCN~@$oUW!i~ zu997K9tZ8r%)RMJD#iv%duEr`HO&4Kb@anO!PPgx|jZ&04*58 z<#CEsKeYRc{>0lrB!bu#0G}t4oOUg`ioR2t;E?k9XqL}*^>d1xpcYKGzL9d%%p1A- zrlzNDJ3Biysiz^(ps3bt!1;DVhabQm*|DEKX_>FA2l_(`&|fQON0?DXe|lC2jBP`G ze-7$w!Jm2Vw-B)Q3IzLrI$H!IQSjiO+8+J1#ekQ+IxJVWognlkg!+8|70OEi9?>h8 z&6U4_fC$i%oZ3MQ=&m}p5v~oOf2K(>ia>!H)EkedOFAA~=`^&^Md)qoTm6v|ZC@8S zc8m0rZs#kzG=}RC&I|T%Mwi?V5)@4MD|Wxnw!qOhvqU>4ANn9MFv& zH7Wl2a5Of>>TGIzwfdt#_wY5zZ|3hD*}>Hiq|8SKY33}>KRe%k(bLnzC{%y9Ao04U z!{<6ElB+9Poc3dv30vrM)jH=CL`v$j!}p9-0P6ehaoPj-glb%Zpw<;#5D$Hgo0EY` zknQ-=VaxQA;mi-kk+#02HHR*_T`knP zFNi}a!;Npy+iT(z4tYrTRk7En#}it$ev$#gS1&TFRi8X8LYBt_9`uCIN7={T63Y?M zWYZq1DCU@lXSz+k>zfYw^vJ;ojS8u+xw@%YhZo2L)&-%wX$AfwsYDM z+waSy(t7v#vq>=RYZH&JW{>W<4s0G?;%-G^2S=vr2z6jNw&Qgszg{U#J)IS4iUmU+ z&2IRAr={w~1xP5E##h7@Jg00mG`>mVTN^^Bq@ub<1RaM394ArC3HFGuj2XLBqv4 z07#`iJUleSEEc};-bjtB6jclpzBGG-N@y?w<0VN!T%BQJM{V7~8{^(kL;gWoCKFdW z$)UZh+EW7DFdsyxh7xLxf%Lw)IAL0FC<>%x$kC_|tyhqV7>t$*jF3O?Q9u3D%(D7a z+2w-S&iDJe&z02tX+lA|0%Jnl!w+pApWX>=`92^|6fC~C8lL9INZbKmO@I2B;!Q>K z7|M`)m;EAd#sMY>8@xV2sXNtM?ja89)dK<5^9X%)mFI z=N9RYs_wCkl?$lbFk5RSOzlm^rbKF|N@B_`x$KUO=`M?8pAPS-EOL~Te4Ye>;vtT9 zcG~Tir|$&Xy*W3cpJBr+tV@jI?sGI|fxo_z{h?8bA3tJX%~MXQ-(UsYVk??>%tC!? zT-wL4*{jNuu{c2_i33ReCglQ&uUWxDUsNWklBAYv-B|OGj>`fmT;_t_C_d8$}8j8;h*;th$(co0<8BWRhFIh zX1fBS1g+0(ojW?xF0Xv22AaUcS{Xc-*-UwsW9OP$;FmfeI3wH1pbTITp8%-T{m9>n zzXx|>ah`Ye35D}PQbyK-&();at$lvVbhk#odkQC35p$1R}07!A?r`m&Y;AzNBz8RGP{(70OSi(w0X_NX!TywhQMOk?;RgFk`_92z}Kp6lSJ zp{A&)2#9T9tj!&vdg4)R`YQ`ATdh{SZ3q>ELvW=k!o|@>B(A!nxml{Xq$E4_m^_|^ zM9-Xx@P)qWC;J2&%--iOx0E&SvpDpOy$jlRm=IRPCwE*0)+wSEi;8|U+WKT~spry; zd`5(_tzW2X2>9r_IT{BY%8KbxBSOIqJe|c*aX0}RWQ1vWwss+;#pnKZ35SxG|-J& zgf-&!PD3mwA)@-zT}+*O$X5-@o5?(jyzQ!cBU;M*oW19Bh<i7V(iwsi`X&9&KWC7SK&k<^opQmJXQEU-r$g?$YRUpcbz-VIjvklB zR;gL@MnlrXuhIHEPRDawZhuB>h-;;f&uuaU>O_xU_+db#uioDnllA9Iue4v~`9k&h zR>~Z%4%2$xhZ#nawlVo^7pk}DZMO>Za{CB`jn+iB5{!z)I!VymRrxEt)|nT!C zD}NxQU5b83nHn>ek-EvWPlz3rQ|eT7TQi&R%cl#l9SZj8ilXwGYy?~~eWS@uC>Y${ z#dUB&fkVT;rK8qI0P0`{%*3SBUD1)n-v_6p7$>X#B~Je5?PQ&AA#F&v+-2rHm<5E4 z7HXxFzA55`bSYOl#I$CMjU(wATz~x82H(ZCZcKI-rLeVCL6?U_zCRx!4U6bI54mWt z1rR#*M_5c*u3!GG`uj0!-XMUX;2!Lb_LRWoEj`5_Vz@(jH`2w-LPBU$dh$mn(~p0Q zczw{Ny&FDDC@FcI`___e>N;1q|KGP6tI&HWk2LlzG+^IJ$!%5&fimW1`t+BsI+|ub zt2;j4%wZ^;JuW0Srl6`y_MJq7HvK_4Fw)9T3`r~e`vp_~>6~@PBCRC+fQND8HR-7Q zI`88=$|p=F3ED#N9{PZ7B<#DXN(!DQj=~e4JZdWJAEO8k#pCZ&6piHEN-_GfXyYJq zL{Tph%K;;U<6bai&76gE5X9F(oJ6`Nt2U{#C#H3Lnvr&(4vmPmP(sNb=_msT_*4%7) z`rCQC;IuMffzE0<(~bdys+jl^C5Whd+X=#5+fNxm@u&ppC}x|;E-ZP%7v3P)>Sj#e>`e&tYE?Q$lXy@tjY8AV ziWwQxr)UZD2&tzX8VMFWDYHC}jThgwX8*O%eNJUDg(7|ga1_VP&C}GHy!yxT7 zQyxFpiWRa%4EM@|@gP64XPDR{0b3SV5(LupF&X^2e!X&K!Yj@ifubc`I#wD@3C8u= zeCdNy8dYUvmHibs1`r!L2xR;4up*MsC5>9f=eO>tbMJEyL9C>cU?AZ%Lhmc?lb`Cx zEnAsoIAT_o!C*!U=ZWGGCTnO>5;CtTS7Yi^D|t$8{#XfuTCsXptV<9Il2|LuIrw@w zQ5vkJc3;An*mzdS{A&4(ar0uaOeBP-7-$dGKR=8-Im8yqanRI^aF+6779snrv!rt4 zZRq{-g*sq)R50GdRA3~(WS_I?sak zfa&N&-aw+45wi+6Ct64{ye^-9WewBczm;R8^uxKaan5!TwwZL~<|b1UCXcA=?wkK{L*d8rHr7J;pRf}NS8uWDrX-|jJ^a?CR?oY?{i_)VdLlf|$ib+t zp_ z)?=)P=SKLDkk%0w(x&1<43m@-EdneGYY;cq6G_!$YmU4(*hGxh1Nl73*p6BIgjOcJ zbZ?T{IYlOxlC8LNt8={*EHGBRnU~7U%#IID*1&EnYiY^mi5N*&>D|t^4P$JDO^`aq znF!qJq}kj#?iH6~Vb)$;!4vT6KUxqgENik*9B2ek8!acnvzz6%1g-~aK*{MsNx?yY zvljgilR%@x_8Qy$Ci(coTn^754;!1M2afJ3p)W?hj1eqcJMGT@S}xwG-CvWOl$A|A zCl0e{WPJ-o<=_*9|3nruwOS#*!T8u?3c|7&HpVJX=l$jxj^`Jf301^3`VDoMc$o8g zFq?Nu`~l-XDj~FV=rxgE7#ffc$;sfE;kTJ}i1T@}Z_=3cpG{XL0@H>B0JP1qUY~M;)&myj^&esl(tz zdqg#mwViw?=Sq)qHA^&fZL_Su1(MldD0NAT#gHKCyjWORIL0~|z>fVGZW=!8(Q#R& z%KC>Zf#;n*+y=Unb)6`4j8MWZb445~%1)3#m#octV`0=(ZLe^`Wr#>9SR~@pyGY(H zjp_vFFZ-#y`JK1I-sjwc58GuYxd)ib|1u3Q8!IMSRwUAmnUSGXJ5YzWUJ5}u9UzLx zo=zqf#zkK@T{UaeO=&>HK`P}ArfvW7HpVpld0NgPXba>RgKU&HBVFOB;su6|3M?a* zu6vQc166zVnh5D~^2725dumtX!F39BObX_g7KsP@wQ7#X4WtCqDfEJ zxCe7d&hTx?aa}D{mX#6~ROgR>?w?59z5Z&Re4Ec~gxe(Elb)pO;pt`I=+@P@ww7z# z<2Gm~q|Rv;69=}q*X4xv|E)z+q16*XUGrtAP3pj=@)}n ze1XQ|7}{A*4k8xe#-bz76EvWwO8MHMQvTc~#^jqx=r>r6*8v_F7`j=HtXhLJD!sjr z>whf~f2R*#p676{g&=DmpW54Owx7b2J6bE)wopAxJ917izw_c&^<&`xe%*IbXN!uS*9_qGgRUR{m&eY`W~G z_ok*0UkuJLb!o^7j$^z6HOHOC+du6*QNH)P%&BgLzgzLE#rJSEtu8xP7_Ar3twQ=S z1mX;ohQZ$C+MQAO4}GdI9!PGqD>t$EuIe`O@AL7)WLc{0 z#plKu_SrS0tbB`yW!vT*7k}#0HiTq|a+rVAv@z>r;VcUBQyq0higHE)z}V}wLP^3R z55YI+f=^*CF(0Ba{H4qCG>#56Hr>(l|`?q#1f0hF%KKaETKTcf|78`Rd{nB%ddB2txE?fsNYt&aQ7OZst_}*U&ECccX$XEHZ~s3dP}p^H0g!J#j|B_V|(aI;-Q~G(|3{aUBF+mwEmzN z1Yx@H0K*=Y3pCoC4gK3DxXi{f!mMu>e0+U5L&v(+)r(Z@d% zBGreUEx$M*tX(SSQF)0Os#r%wWh4}qk>J()E<3nbSy$+xOsfSUcWq{K=uNnkH_CMA+#DDZ3S}JeT=6Ded4kI5x&pH+upMUrM)A4L8NWiZ(m?zZyZA+F6 z?U-@630G%pwFXtNipo{6@N-(N@}kzbtsm|-gxeO6*cI)uZ#Y`&5#Q7=C3@S^a9P;o z+msx`uQ7A?{kWq?v%~tIE3B3V_}GiEWLT->-ag3@LohZ~YsF;P9R`znkUC90TR-Xt zld8NQXT069bHc(m%gqy?&FOMIJ&ne)K3C^&Wj>*bb{6xylz&8{PZd zA1V&>>%y!3eGIhCeuJMfE9y(#Ux+|N*t4QFN$3z+|2=+_D%ak>kI2g3YYy8Mk&)6` zbmrLvGWRY`Fjm(zbwu zRi3ZwhvJaN()a7R`SEeDaTPbqnb}#`Hf{AaG}Tn&KHKQ^YvS>AMM(afu&O#TzLARm z!=~92-{kX=Z4rGBoP7?zFp>%j>d3v{unX zQgWyIW7)^ICMjN|F9m{I$K|Wp9Zct1w-y3zVF8Y%gturO>FxB6?>v3=+jnHUO6!hz z)@Wk;j&D~F4#Usv2^KWjDK>0U=i0VKl=$z9uivC&@Gy0fYH|uvHqsVL#X$U3>i*QH zt^^hA<>PCAq1L`241eF69Yyn}j)00&83E%xj6Drd>nI3=?#YoUF>O%YCn3UCHN=_8 zRC;fMUn{6u7(bjqHtsB%?aV{I!}l>y-xAD|=5&^lR$FvJuo+ImWiIv}vYT&?yx1d@ z*cjHwdR2~hBy;*8g4jE;yL42>;MRxKna+IO1)>~AWCz}Nd~MB0-p-cg(=|JpokpP! zDXYf}dq!}$76LqG}!it9O+n{2#?QQ>-cNg#3{)>V;&5N@_WvvQ+HWq z^Y*&_ovZv!4g)V7b~WSJ{MFjokscUOfgw?72$XY|EOAfpI@9C~<6cZX=8&>1ixZ~V zrd6foTMxkEFjkWzsGqK%r*manaEP@(Cx5w^t>PM00NpdLCL0dS`^!2>CFb^M{ zmB8&*)&g+C%28@>nXr6yi*q1(7KH6#nN=xan9p6{+l+qsR&k+f$cOskN8#O~tFjCu z*tpVa{&Cu>B_xN}$#l8~wL=ic(+m?avpZ*|<6jfrwQ&UgPjg6Dyx?2Ntvl{AZeW8TyOOm3XGlQ4%DO9D z7NW+GaGNO9+PzCVIJl7ImK^!J+~Eo~5Dm>%YGkvd2pC(`=6W$%YJ3dRk{MC`FQARh zjSV@%oR+z59tjBq`BPut%(6PGR84jPW>&DD?cD{xR4i$(b?xIg$R~tuRdJ|N7eW z1G>&__Q*Gabmm}K^b6n;x>fUT;wK!`P903FA69}uYIC%Y|0C#IBTP{GC^);*!=njx zk~|Im<$Dl0&rNRHH0x5`S4Jwr>K_&xSK5EXlY|g`Il90NLwW8lY(FX4QmvsI5;dUZ z%b6!GcGPmg7}MnY!ekD)up^Vj8?wG88*3(^#fab2+Azrx$Lmm4sG_GiyD7kgsP^7x zn1G_{BK>ifDw^;noR4Px^kmxUUii=xn`(8gWiDJ+)qBoGr24-)VzH&VZEYVYwukd- z?9J3?HfY|9BCxBo))pFxRB+}jPJ5Hs7Z|q7_Hf9G(GHwj8l6aNUHlx`qz_)VTMiMr=zRv&h+E@EeWSSG8p5c%5Sayp3pJ{r7v4l z#Jv9DX$p3ixskMgW0DK)!DH-GD<~9=!%2_9bsci@i1i0CnkvCmELhGZ*=9A8TZMn{ zcuef;5jw2oTh2o@NoHOBS18~yB=@>fF+Gj4OZfE`dKBDhq1B{tv34N#(DcdDjaCOv z!pEO<2aqi?&M@|Ff4{1STloR!fKK(j5+QO)-x9-Q)dzRC16bCwUaMb`cg|XF^J8Nc zRLKr&y;R_pkb7AYN9ndFk5?DN7(8^}FlLKMf&DG5Xv|id3=dVSe@MU{HH&}zTwOkC z`%?pElxp_zPKLCfJ4-OR{OcCd{DkNtqlbIpsETZ}oB`M$g^qqz$A3MAeW!(_vku}! zKGvMLIQKUXwq8z(f2iO|hi|xEB9fds#J_NRF^ho58c@(WHn+B1S=QND&haKh8$SKo zXVl3@vN{~Be%bet3c(DWfQF6KLymV^cI6HRc`A9MRknZsuF{-nC2%ri{+>Cs}a3+ zMDRgrZ)IoGOT%caF>skZYi3&_6QSi`X+=)+(H9fr2Q0Vf%IZi*l`4gF-5I0N#nu+p zaKW564v)YMDMVf|O7EIa$&*uoJv1r%_ue%%ttF zL{883w4^w{usGW>>~8m5fWa~f1@*r9Y^NO{QPmVHF=2M|%T(LiLC{h6IvTtO)6|&= zz4&)ZrUa=;`D*tuPBh$pceu7S{pCt9hqc?T-yR>$eS2~+l=_5z;y3BAEgHv zXa~Zp582Nx-~PyTcv6uT_$C`FZhWZnCbeIju!NwKXK&v8G=IL8&1nlua75W}FizQJ z96|h-KOa3`Wz!S9Ts_XnbXsHA9;hjTdNMdqPL4kdf4L(&eaA8pO_kG*O<*B_jDnXV zx{EoU-*RuX=@tD#E`imq7>(;~Z8k%qF4H~p_?MBdj}Iq@W^gORa|K%)GFFn|{ZR)K z+p&u-0vqgt&pa`%mx$N*Y6usi@OEpNuG<(xol9>!AX-^#RzTqv>LfoZ+2{SPTRbC3 z0LK;z#|XvB$^Tu;hAY}@S||y5LvXD@ZH5cg2X)i;&&7a#&@7x0f&Q(==zHabc|G^F zd21@t{bp>RUs~ZQQ)u*(%vuGQbGeV)ol@9~Zx3rHLGb4BffocHJdY>67dF{s9?zYh}Q|hij2|JFbY_+}vxxx7X^DT)g>j z>f-QsW3sKFzSP>$6L9E7Z@t_Ho!!zI%PaIvWc4KIw&aeRMj5JuZ+ko#K1$Zbp)&Mz zUJ|=vIb}8x!69GjxPXT`zD6k_h)lM!E#36~Gl#jsK~eV^7&aikYE-5PQB zX1$h;~8}6{x$1axo>vz zRw>vV3A`N$wouve-L!09T)9OFqS~H=LDe3s3LdbPes#;Yg3Z3MzK>sx`O3$yH%nYa zn@C;Gj611+Kj5>Y0)5_tv5a0-w{JmW(L-#4$@)VBHOnU8>{P@l}c4a;;Aa*Kap$-Pps15b@F%%M+hp--=bKSZb>*C|HTV zaXx4}`fw+Jx^q!sZ>3-}solKRf;;m?mQLXNm9USTcJa*IEez4JN=RekJtrDiVgI647j_gT{yFiaCnN_(XxO?-GYQ zC%z2oh))wJE9gFQ*X$$jV+F0g{ulOOs1trOnwqZ!Q*guLj-svv$JQ2k28F+7{Kty} zP2JuG_>I18;?H7+y29t0>>|rt{s-9~Yj6NOktNru22TKr)1;Hyq2V(gi)ZtH zr~hl_0bltLQ5`dT1mDIk*8ju=?Xo(ek6#ODt^LaA4fztCG%xrA;YGfV4ET6{Kv|@D z)lc<6VpCy?w=H1(P3HI0ze+2jU=7X;r)p*qqGch{8n^Q+us`YWn=CP+2s|za>FWg} zBO}pja+pqWD+ZA&KN~nFj+Qn`E45P#Q=z@PYq}=^&~)OAcD%XDG7=%6)N`6hv!Lx*H97LVlxdAl1zMzBi;v;BhHZ<7}Y|8(tCotZFzgyqlqYvdX z+w`ESApnA+!27(^v!)e;t>KaHmG&O!D&l;KBPo!$*y|}JH!OYk@1?og>=1tw6EhsG zf;_+&o-i9_k&ImqF8?c2@Qoa)O%s5OcaHjG`_fH1#D(LlRAr9>?rLN|G=OVu_RaBA z+)L$fw)wr4@-mOx6`l0Ap|jJ_h6{}{m{ic<~vNef1xO{Zx4(~;5V<$Chs;i;nD{KM*)Bq zuln1R3x^DpekO1A+*#MV@!?`E3H9w|c1KQL5_0nNI1_~(&ZUxHvfQcsCiF8<`o2mS zu&=mXgQ$1w;Fs~o=%hYPN9kYNn@)wsVd>KM8|K1Y;SMYm%rf)!l?H_rICofb1`ic) zez|{Ugz$I;qgfo1PMoueEq=)0h_z3h#mdbh1WJCv2h$XT(`FqD%|XXnExSZKPGEGi z{x7G&Ajv_NfCFQ_+DGbA0GiUQ)!yFT?$`hY8Am{}^d=*?OW?(Yg{w>NdSmtSX*2jX z>7BzL{|2^01&PU8sV^B1@8ijhH9D`ocQ_M=b?DSTlq3I`GClq`cygiv?EFVS@a{zW z(knnJ^NKYiSm3m@P3ez0vbqk8xjrb3##K~QyjNMiLEfbF`0~xt(h?6eCo<8u=lH4Y z8G#XaVP4T+=`EjvZ9h#ZsJkfQx9}7g1_H@HJZZyOi|h|JmX#8SR~@E^cYA4*0jE}? zsN%isx9!mhEuqStW;+}PTj}`)b+=i6tlcmV@$8?KO9(OB%-1i8wby?UaLIDy+U5Mq1Pw!Etf(OzHh{%9WPF3Uv#8QDwQdH`%Rt%e!1`0mOBR_O3&kJ zpm1xn^=Gkjb-&LC;x?=~zrPr3>VH+#z#4stZ0MUSDNDGR*kU13v2J|z2-PpRUhKm5 zFh1#3u!r6WzE!!eo2TWQ#0z7hmz{gPiV@w7b`X=HQ7G?Ua{gFxzQFs!9&nvT$Y1V9 zqq?M7JN{B6=yQNX+B&nl#maXxGU*+YT<8Z5r_!P0O{4mm>R**lDZf-$5~rm|XRb?Q z`{ODoR-(J{jrO!n2`ouP*^IvF1itKAikDi(U)T!y8L+nijA&mx6CXoWl>ljU^M1MX zBU0B4`7TQbyj!(Xc)@FuPVl%cuFzm%ad$Dl3|imFcP!Xn?e^ZxU9ds?vWGiMg;%(; z&HM%@92FC|HdI|k1342kxucXGNE_`aSYSgDDIyim4oO-u!t9fAN{hU?cd2+D%WHK6V^lRb z%`V=!;0={i$oPGSn`1+(W!zImKDXK2oP&`86H0Pu6Mci8^cUM2Q1l)Gvyj8BW-nuB z;o(w{ezF3t3M$rXBJFdpI+wJLH+{d-+081Cj*h+*y0lYt{vD}ksw*wsJOqf*#KVsd zYaG8sXJ%$DGB?3DIx_&)o&bupo!x8v^%=UDR@s!K6$QDa8Jg_Jm?jE;Mgge2);aGf zHB}<$b{0v|-cT}z1b2R{96tIP`HvYulzx~M%5*yx?*ZUSDrefz+Em#PqUz z!*0h7s&K#0f~Eg$RK9rvk~F_&(Zm5VUNzHg7XGXLL8{z$z$3xe(@^{eZ%VxCazN)t z(LFTd0FUVQ&+oz|Jf5h={9~_yN!9_c1Bews|FRuSuQh~m(K`G7!Ae&kpZbns7b4?L zAM>&Q>rb}l!B?GB;nRwY8N^-VDo7!`HwjXB2qoxL!^C39JJ z78_FkfYq-3wdJgMf&7nJEAC#HcFa{lbTyyyy z$&Sb8G9D_N*l=W0NGhn$nW(Epx^Ql(Qhk+>@*A*NKL zy+`Gi*W54t@6=Gg0C`!;dkaA~bPZl9b>?|%`W0MUcOm93@Yot;v31qkvSj>=aIRP% zn{B2V>`4udu{_-VQLhl0fn7rBCada@pJuLe`c~Rn0Fs*1`2hmcP{Wzh4dZ_i?uP1O zO^=rE-NAd646~fyYH}7NSv!S&V^DjI=CM5XA>_}|T~o7W$=g@a^XJ_UoIyVThBpG3 zCTk-zajL9WV9UUlNXZ{|>+UjZ!Y-a}W!=>RgWsIjnb@?&TX}r?mmb~wMmY2y^Lg02 z|BtD!jH;@O*4_sW-5t{1B}#XLbV;|ggpvZA_8{G$Al)S`4GIE+gfvK_NO#xWzTdrL zeE%5y*u-9E%{ia>L{BdiBIq(9*oCul0$47b7XkNMW7FHQVgK&#hUxU4tA{Q|TN22v zAZUZ5>;Xzi#(P^C23hqNG&f(|G1Y{x>r(sXL@QU^NN60H_nfY(9}$-4h6-_V4YlgC zdqr(N-Z2~|y&3sR$Ff{H0`QqWaii>(V5rk%Z`5?YdxzMCdZQcV{WnK_WH(uGTB5KI zF-)i_`_G5zuKCr_ms(p}muv;Lo`^4lr!?(6w}rNh$LQvAF@-!r#_@ufi7ZIiwUy4& z#UghTOx;KD8Yu!o%*7LVaOHB)$|)O3PnC|5NeM+1nQf?cGSw$lxEiNRvja+u$RkiP% z@x>WJ2h?Ao^{k!3J7NVyXu9o_6?380_!!xZ3%<|;30|43Hr@znKYGay`m-TJY`ib@ z(=UobFU~f4#LNy^jb5pYQS_}wryrnvB6CN~DMXV_;XE7~DnWqa6lj#De}GFh1v@O> zS(SGsVRSrM-bCr+Kp9vtgxzXFtt@$c|8;)3W!yAlrqzYOt2wmh{^qxFW6+LpF-@6C z+7E z`i5p_PI+|@S<*L2XZyRYKuglbmjr!tluu~go&cTE(Q>wo9{Lg{hcEKin)jJ-uB3S- zJ7I`l?;fY2MWB~JBBkHX*pBybcJ$wz+iA^K3_5`_y z{h~Av4%w=+gabbU)kEVnrd0Yj%9Ap)Kq4i*Gmwea-AJ4ZZtJtVyAj50cx8s}uxmp} zlIY+e(pA*t?K?w(fE-y~+pO`*`E-A@TyxJ1^e7;}XSRt42_B~7G%$07RsLq^GYvYa zsS=xF8kxtJTr?S6Ia}h5$Kf#qvkUEiCpV9ucJvC}?df=B@a*0XErP&dGyd)38kB7( z)KIHKmrhq&n1!9PT+@8^XZoh>v)#;i8x7d=?y%QhAT^Lsj9z^FjvqVmYjN&pH`L&c zHy7s+#NEwaTY5Jr7%Je)2HEB*rWHQMX8g_Ay{!-qO=NOQ+2I!@)=paX zY+Lo6l$4iPX5rTGHF^f$Ro#H(l%>T5)D?3>-ELu&8U&QKq?%`n6^2glJLqA)4$6e4 z`x)k?Z6{qMSMZ(pFe3kf)aj2V5^Hj)K9icNM_LIwR(((?oKqsCT=SKTn!Z+cdqf~& z4QWSkW-P$Fo?~Z8rbA9&HG+1ib1g3_DtbARC4vKNa}SjZVHd#SzD&|e{3WP2C${Ra zhi%?@r~gnXnLx-hj2Ra^U+WP7mFEY$LnnfTsk+g)hu$-4tE4G^^)on-KHvuK+odJ! zAbZaWXcAWeG{SA}+}(V9F0P0=mZbi{DtziEvcemt+=F<`$%8dWY)IrlJL!`X06&r?QiK0nT0zbsYk>u}v5{Bc{Ok%qB zOpgJv%zrrOaL9(6e4#db>Q7@lDBH{NQwf0Gy4@kO(4=d;)3a046$F)(HlPv-sPejj z1OX4=8-^PwGw+G%4H8g_aUzwC>I)ytqTuLak}q6#mVY6TiRyQ`dLLqAgJbq%e22U#CrIex zY~H@xlfbd}R&IYfv)D+NE#;4TcmRqUjkOA>WNA(r_q}1|=Xlbf4OI%RcD7@}kK@~u zS{YoSY1%i(LH49~)HhoBVUuCu#(F#+Ojq9IJ$4}{(y^_%YN)Zf)?`;Iv!R|83aNI% zU)$-Zg$E(tr$kXMx+c?ahfSry2a9J-uF;-X$JqD{4s;aHgyAtMqU!Hvi%@Ei1ks~F zL;+VE0U~O}Ay`G)iM|wR4F2}{bA*ezKZY&RGKAbgFWwWBY=#&v501{xoLc<{5 z+B6nfnE2zec)V18F(_Yk<}B&p`)k3m*KNs)pYBtZM#D~V| zt4&+T3f84WQti+m)4YG)=GIHjo$VP(O=BUlERyGBSKxg&m7XI?O*rHb41i^N<)}S{ zfeQcOBCkakxfp(^maz~xdUGS*n^_B}{rVzOvs8ldQdXLGtHwlVxi-R_j~3BqeFrtx z*egaCCs{h%Mpb9^Q1)NV@C%)<)B%}9v5L;F3)S^p71ND=6%om=3P^DWTZfx}^oxm! znW#)BySP7qXYQ!*?bRlbwOxh=JlO;8?2*CfJ|7XtqrJF!SDY+fjVBG!fY^Uu zUOH9XK$g%@-x~=197gCPrUZ<d`u>l%@Ms(}G;bWh_~^~^LXV+ma+a>( zV9yjn@e_)7lD2YeDLTnGu|tI7%a`AT%C)P%*9Q3hF1y)p<9+9u*-Du3mNxE``(^or zcdTVIr!$gL zCb*^PMpoU?#JnW2|JaV?-bsIpg1C4WTAb_4;sL@0`@L?(cf-_<$s;|4vp!`AaX)8R zc(u;&cA$Cg!kcBxwQXUNQWXV^pLEe5Gjh@;v&E8Uxz}SY%2A+S8 zvjYE$4VOk#V2-j@-|jf}xU-MvR{cg#8j|RHReilgqI2r+U*>qUpL1i+R#Z1QrM&c} zGzu<6b%q86xvxbM?IXb;@aVku>_GCo=~XeW9(&$GJ|gqMHr3kR9YPb-ybUr7#3a7FPG!Nf(@?M zlf{qbWSZ}8E-rYXI#|y)!0tO3q7(ljX^Ze;!OwbV9C(qn!tB>AMBQ*o$Ffz$6;F{k ztblVcb%)o7IeG+U$pmp`g%bBcGReCQIP-^tsZ6U=93` z4oJ9#2xwhV{p-uw4iXFV^ZN(8ySHzWKrDcvt_*^5@gSgU;hoF5jqqI)B|tVTn>f(C zLf8)QK+DC;pU=9~ENcGl?gl&x9#SzcZZs#Z`~FGo@AAI|@U8J@ z_tl&p?ZqI~F9k-Rcfv1gqiKnMT*7KuFNPKc`7~It&bBJlNm9r}tW@QOVq%7FBoJ$r zr~`A6kT6>x=SAF#frBQ zLgbNqTP)$|FF>-81!slx&O*!A4DCrx-?pJQ;a9$ys}Q!P%w9y9`aR{efUBWuW#J_f zC1CV>ioVvK4NcSH=9G@=$=Eb=Ggk{yXhm@?cOB|UY4}>RLT$fApHb;!)o}Fp;`GmtM{eV}dZnSD zq5L;xe{cR8q~`#g+*%1k0Qw{{ak2c4IZR0=6={#y6?cpeHP%5?f7v2^Es9m+1-|5) zVFph(^0~jP?j(`5Y6ySMU0U;kYa->x^qv>5#+({LP5%6(({SOJ_=Mp4RO%5S={J>}+TCqeDsb6oE z(xg+BE+Zpj*(i8_Qt;Nl`)54ggA;xrTlNhD3j-e2O?*Gk^3jZ#tc3dd(WMVmUAt6| z)%GjhARfmAL>{~s9{2A&{?2J(1ReQ722c86rzAXR>f?q0Fm;D7&A#H2pv(I|c(4GZ zZmJ~OP_?I{s8Dt}RH?G#lf{v{$9aw}|K?TCxb$TEEVYc)RjRG}66X-sy~9~yWjYwN z6a_%jNfQ(oc8HoKk6T9k#b$=G-N;XfjZZ(eEaM- z-5eSC5JM4KMQULid4dMc5_X|Nl(EzITbf-|FDWakXxC>KaO|kKllI^|_;nf~Ub6D^ z0(c4j4!dF2IKQ-b31^=0n%{piEJnom#&QkS{pr^H;}`(%#mSWxDG0Ym3U;`q>eUA5 zR*smKFaf3}xnCOeb32i8VP9gB!&T^a7TA-RBdqlmr(a!2KY*6z(Ql|SHwj~?2GUaX z$1js!;eUPk+}n!y5I$*qa4`~PMegQLYcBK)SDL>@c%&rviJEYdMme+cd5Ot$nW;SK zN>2nmrjwc&j7q$abXo}J`{T@wCPFR)YOfRmwM05wV}WuM9h^gS#Ec{Hg>BSh48Qz@ zcUp8$=oe36(Ei7nRnJR04+|rKQ&xi2vP@e3&bAI<9A@;DsilL%WAP<15rjpX?nr(I zOoW4khEOKs09ogUbX)cKly;hi+2r4ZUJ0g(_V$~Os_eWibIHkD*fiKwZTGVoG!uP{ z#4LCyD{@lz6TC+~1tZeK8KsXfli^=dc#;*;R?d>WLFjmKXIO;_+3d*JP)21%$zs%B zm_x27x$)gjbbfVW**}e?Ixqk9v4#o1NNOwhCKB-Xd2n_|U%G~b)#d-tUJ?f6r>aKl z&S~!|wRAu2WT2})7fdNACK6_Pe`6)}MJ}_RLq5Jxb!V8DF~(fFNcWSzDm!PaOIKUl%^jx!Sji?h zdkj#8&eS_*Jb^iF9*wfy3pt!QQ%whA z)Q~vbI!EN05-o0SsyMkBhZqq?A&I3=DA(O*%GPGvOh>x)fGXpOVX2Uw?Hy{0w6u=0a_JgkBWQUP;&MhO(X<0u zaTd-Lc2nUI_sD<|LtiA8cBxp(VEi#XK>>(i)$y;&u8W&RS(sz^e@xh*= z$++w+n2kLklQTAcXTH&+m|Ht8%Om{a;U9Jb(V@qZ_7eAXzt*AXAA`A(D+tE56nx*| z8b;HuBWf%I``R?{RL4%bRw0@tRoGgV1OHtp8v;QZrA;38g$jLpi-~eDwP>p2tr7Bs;Zr+Fq1cEj!9RHyc4ua*%_ekBppvJUl`Ko45 z9iUX7z)q;IR*+>J+-;X<7}ql~c~txYM*+sX&o>yz1oAM5tzPD{n8i;Px-O`E<-3NK z9RkUNr|Qged-8+54uad@^e8MVTps}MSAyzR<X_hpyX<{U4d&!&7RwvGN%a_> z#EKXoaHqM2Py&t3Ko?+sRll(~89v9d#ZAj2|IPnoQNBFPc!wScgYsodYiiuw1-740 z2o?b1p)=6u|Eh`7%>l8&rN%W>jtYb@4aME#XPwCIVOby_Mttf6ISnd59klLL4+&%r zdjm?y!u*6$E`*6{tk+$w*V`4kFMl?&uFPg;%`GgvX+!j4rJUse0`AvLv`47lS?WeJ z!>3zK*u5SBVH+io1v$8==PG3G2CNqqUxsjnH{7;<+6Z2y5tr7qrP5OTcBnea$b62KbrY2~hxqnVS}3L& z`~dlOIpB$Zzq+5zn|ERo9e3#Zgg&4u=Fz95WzT)M^c;Ue! zvbKW_pDyA}NtB+>NuE4(`I%K{v@h6qP8@RIOaGD)q_pK3OperegVXX{pJ^d_`u!Ol zDm^UX8=ohf*W%_YIHRyRd1|lpfa2&eyH`5%v~YzFMk?k-EXh z0<&j_(RXoVQy8IK_v@2F$SILuCjtPNnZ>CVk)C69{n(~gj7-aMd4%Lnj>#Frl0xxI z%0b{INI@};7>=Ob^qa>F9i{W6%A-8V(SD$NmYd=6_`9yT{fwb^lljX!RXm6nHsfDJ zF37AXOw$e{X)vTcct;p)c}}q6lBE{(b9|ftw!-S$rF#yewng8l3#-lP8Rnz;b*C%- z`KH9dRTz`jB;cuJ``GT1JsV`=;ean}<`oJRy z4mQ}NGCeWgX_IxP*G{cf^KAbc6eRFfpA#!tyB`9iV;tYJ z3tybX;LQH8j?wKR%5u>AhNJeL>l~J7m#) zJi%`Gzhf~8tRQxCTjMk*bhngb9*pj<0KsmYMf*k_{%18zJ8V4{jPrZ01bu@;o_gz%R+}w^;t2DmCq3VOc$# z^Obq$yYHk*Ry&$&DM!<>1`4-seTwMUtE_M274K9P?Bpq}@|FvtBj!ViER26w6)C)X zaq7LJg(&-n8DE8TfUB#K7XDIlqnSF-(wvu-wArO)DGiF`0s;qEgv2K4QoCOLAxP7P z?vr&rEqPFcstGM*T45A}A3jLXh|MBC#F}{m8eUCJt`m2roPKVNEIlR0#u&o2Kwo=9 zYVNb>wI$DB)#Ip%l3W?W$Yr)~JC}g`V~|TE^6F$0#E)YISpad;_qpH<>~ow=8s}Y{!MPATtJw_TC2Q>vL&QFAe8JshCGaz ze!3{@@F5K1U#l1CpgB3$$7iBIPKyW92^l|<8kst_cE#O96O{#hzZ-#@i(vH@3o21! zz5R-ocm*QpVBMJI>_&>|M)}X^j%LY3;J@)%3pym}umBVwMF+(t4VT*VV3S{1{?g@m zHpl$6bROf1es;Lp;WdfB8(}y>ds$QiGXR8wVq{?8QN4uF+3iyo4-=CGA_&}j#gOD~ zzxZ=%sxc4(%BAp3y2$^3xyiJTx3}aXL~(h3-^xTwOu$>WW$wF9p@gZO_89u&dT33ZAJ z8_TIWCXfYUkf3&B6;WR6UN(~H``x)93`9YP-Qc3;M-0m^Gp;B^O8EE{cJ|z$=-bul9gwn-+M?K#F&NqBeBJE%0XKAc@ZV| zf`Jj_{}mR@U}MyVZc+C+)bjKDQYcI~9C3P6y)KKnv{cvf^t+btqt1Xx*sOT z+R#f0dff9L^z|E$_SE9^OVj0}xam(+NW&?FimyW(ap&eAOWRPRGOQd2W@Z=KJpmVfJXA&Q!h=C zsV%4?Q&Lg6K+Fqhr{r5$X>YZ{YJD;Y8cWIStX3KCJRGG18O51_crBYAPp#qgi7R`-qD{YNMPqX5!=6cyJR;VU zK%j=6jX8{|&gjkpo74+*3I0hq8VuI9o5-boKYZ&rbiI~dfp@=P!m1}WfcyanO*h6H z`$t0JvdNVgs4V=pVoKV97nde+7We&+9>^)LA$7@gDzs=NORRvA8}D?@K}!k!e_AWY zd@*Nd=e8>7AZIgpG6$m%-u&B*It3Xuxq_PPc3=E>0@|S|V}9#Y?;{7)-dr#w4)6t2 z5?qx!zK{J+(im9-5<%*}A4G|2@*AGOketCd6Ik5X$x0b3>3cS1SRy+O!++LZ+=#2z zUaWHeOui{DHdX@i=$O%D)4>C-eI&iI49<)GDTk2)od2q(sA<#t;$i;pc#j{1;?@am zDzLAh#J4;wR58cMyxfVkGIQ!DQS1C$)z#a#1>h2D<`KIc@{PXMIv1tq4Sy(2dt6RQ z8(weS$5!d^7Tj1FKJK{Xs+|bBu6%3uf{@*htEOjZuF#$gT0NY1a96_3$bkA7ed*8i1kDyi@gNT^@N7SC z*mECAdL*)UG34Uy*WgKM4`J!F$37M<5rql$*0~kmM+wUq$Y1baOFCT9H5^k@pv#|( zww|+Z4#7~awuk72z0k!gTxu2dI%NgXL6d=Xm|xTvYNWBVtEVfz%L)qk$VHT2M40}3 zz9}Uvby42@w=4g-)sWucV*C2_=`xGEFdA8}3E1Ugg2=bYRD!e%NeFxB8}a>29%-dy%wDMRKxKbCj){0 zuV-!@A0KBa(krMScV%jUce58e`bYJ=4+yHC^8+ZMUV*CHkL7x)FON-T+Fvq*C_*vL zh1wlWq+Zqdp<&v;yJ;`zE66AQr3v!eX{~8$diul!of;(8p#M;06igue@K6RZ`PeJC z^rg}$oVB#h^j@PI<;z5m5Hzd>I6G|mBqUU!X_fQ~<^o@r1<7oeXNK#G@-~r4<8=EO zY|?>QK&fXZkHU>1bSB3Zr&=OQ3p2@u`4bys=1p4W(8vPKGR-zMNFA#vm99}T8u{wu zsIIES;@XfA0)fttDM6QUjg>8jPz$L%Q!1! z$>N=k{ZOj9n8W)&J}^^Mx<4#o3jv6VC(OPWBYLOf6`mlRW`4##p&s$W-X&) z$EU5E8=gaTBQlpDu;krbc|gorfo~qTIvDZ2NeX98z+{(?P?VO_cA-h?BASRJgW^A4 zLuoGEt;#eXPe=mx6&IIGBc#Gs-{_2S}^@=MtS zU`iHMBHco}Ku8KGJrS5(eEXBrii9Q;_1x>bezRR#Uha{cpOOQjELo3%k znyfAWd-E^i9vK`J0%aLKbkQL;WsIZOOHHujunoEUNR0#iz5tULqqxI@FkJI-qIpsG5evO+1pW-5Bdz`h{N+b4d z(^eq+Str!Pk}!iPIqWWptWob5b#PwvkBc9+J4m|EtcD;_tXz>&4f8~(bkP@^5bPOgc<{+xAE2X&) z+zleN+pd0z*lbl@jAs<@F~SS3f{4k`hSjf0%V=k&26{v-)-PK}TIT*{pH(KGMF`ZJ zcCK#ugGW^5w)}DV$%6Ma5fe{X)hO!oNFpQBx6GU0(O|dk`8QRT*8ew9J5;?*@kCDw zK;b10_}-QqYKRU-Gm!n{i==s2td5RU{8sJt{cA?zSvJYQ*7noo{Q;|B*=e=0l_DmYcL;*JidEZ(DgDK-^=@42}?1vwxdQVq>TY~L4? zy}v2GSb<*T-PUV^4g7hLLLIqas)N_5?ZXD0;f6gs<9C=%PH?Wo;>9khI1+saT6rxr zlJ=zrEAl)z?8zbTSy_dHm*{Vua!sgmeKBI;`v{D2YGA;0nNyt1Gid>`h&VQ6H}KD{5F!_E1w-H&HOOzpXBc4 zKRfYwy@*7m+YCV8QhHVC;*)Alo{0>&f8wV6*Z(8ay{A)#DZ{AXObV;H#f5*_)^q_K zV(idoj^kmFS^SpFEJqQxghOHMq;ul^U4hQyy!sv ziPVbm7IVJRnzUNy=`$HlhWn78-bs7=r^2${s2_X6+y@4<7LYy%HGEvIbX`Dp*RMC; zxd$BtMROZp8mR8U63+S~CZ4{7?)*iqk*h9fZ&Gse8JGRGPy$nNmCDoiK!I_%D`;yb z{Uduq4s0N?!LKG8Y*=qRUF_=+e)#x4#^mNx$`;QE%JF zG^tLxw#((E_cVi$dN*jAImrCmX;5Phc9cN<+l28>&I;rgv+&O^W_R?$;H=$$iHMGf z&P`rMn~q?T7W4ACm!WooC0(8Mz-y#0m=!x~ZlKh{qSsLgqV2Pv9&0etDgoTo%gc;* z#fD@69sv7p^Fr1diT<&~V~Lvm^484@CH)J%i`N(8VvlXF10)Au>l-e%PMLvbUI#6k zAJ@yC&s*0%e*+C*=h9brR)S-DvPqy=I%=H!hSK2+7cRj4zN&et)d9i-(O$F|uZI@8 zK-tKRR^&SYk0Nc3T}a6iZ%k)8oS{^SE{@X{r2_3nhw=PZ5Y;qlpzrWwNXv%~q!r1c z$r0-w=LpDMxC_S+yF?OL0d=Z$4@fe9RwfDZC_pK|BH!U|6m}`v_>oq`*hWOLU zLrEbkS|`U-%P?T5PGExDY_C|hV9@$S!VrNnt&FCt>L2)H4|M!4C5dl7PvxGXh>6e6(dO><P)taU)i~@Ph#7*YQ0hhNk?4=+c8VE6nQ? zBsPhaS*7{WljpX|eT4L|TqUfqUbV=T-?IsYg2n2GvU-H(?s?fivUNkLnL=W0z5JtG zem}17D374Z+qA(L2Pdg25LJT{Z$G9mJd65%XDX1B=C&=SCaSxq8C$?^R3ldH=a(tqsro}z%^^>GxI{+G{!+lq zUi#iPTs-H1(RF;R-DPU-Y8p+#dIDZP-8#;ynhu~x_4B-FSYO(a>Z#*e4i#IzS@J*9 zoU}+^`V$+%aT+0;*9M&Qq7Q~5tC_>~|WCgu0yaC``@PP|2 zl4OJ9fe|?4^@fv!!~fy{vNMWR%nmKm#IJq6OPQn(TmP+7Md-PR+hGC z)~8UbyxdlrAJ0I6tt`n?=o^9n0NRGG=zB+ZL9xB`Z7U7+oA2>zAz zHI7=$ptbsq5f`aRNs4jiW@Z}vkeZ-{lidBErwG5D>vHFvVAYu&Fr6gMKUxpEBR1qz z%d(k3Q!Za_+RI5@lB4p(3uzDT$UUrJewiKJ@PNPFA?NQEq75LC1E&qDHjD2NTR}`H zeqvrXGMn=}f<@rI>HhR={H}X*qDBQbHZqrgY-K8sYl`<2XkRHh4XBs)Bg}}*-s^dU zZ8XH}`+HJXS0a0Fi+v%lVG0b(FK0{`z#q<6lnz~~t#+q(KdJ}DK5q<5083Mg<3Y9P zJX84!f)JJEn*mIVp@v{^HufnnpmV7mjZAVItT@#b)Db(*J}a>CCPsrPqcC!BFAph5 z(Q%Da5N{&(B#-Rldl9$IF+M#_SWPceIP#c)a!-P98WKB>DCYOozaUu|P@J$wYeXI{ zHgvn6^C7)Tlz#LY+o&vsV=Om$cdWZi+A<7?zzw|z85Bu#)Lxh^9 z`WyK~or>`|VfrURTW<9zk?55ClpDAFqnr+Ze&VkKzxbg9fRV`sof@Bqo{`QxbnLJ_ zq)3Nu3jX!bg>73L5A+1j!@sN+e^oR{YSh_2?%wp+G(8#~?)%PLW16S1$^6J3hpQSM zz;um3UJ-d%_6a-S?)31`&G{gFmAMp`tP+13v0{tQ`b2NqfD4yb)~BxdxO*i}6S#Z? z@Tu1?cy-j+i$bAMzemIlDr;TadYbkE;I3MG@3mV|^{Zv#!P#!Qm-`-dX{;wf^mZ=N z3JbEwp(-D*eaS<8ax{r*M}g8oX4?rcRi^_o(ntzib^q+cGfU~R)ZUU-D7212SyO8G z5_{*6*SYAt0+9ARacy2aPu2`rBZAm?67hneGG(u(!h~i?t03mTVw`?DsYJ?-*A0gv z5r9w@KQsYz4B>8L`ShhL*&+FyDF%4em*3wBUDc}zJcnE>mLP@z(&&j0w{hvTv6L_5 zo?X+r_Kws4gycCkM8p$rA-)(a{54BHgcc(`)-oPxcHF3kFyK++bj@ge6eoie zQ%iko>$MaQS{N* z6R@?r1r%ympw$@!%NJLvU)!=tIUxd0S9&B?EjuKZ&1AKwP`stSBQT3R*@DS*j+mMv3Xe1;gn>xP(U^R=Ag?0 zmV6-~{(THBex(ZQy0BPg?=|wa54-||>u^hxCy0io=IY6gCAFBYY<2WMDeQ*M<+_2j)1oKl za^?PPFN-yl4YNX!+PeY>Li@Veh|FBx@kF(Sg^7$i=s_G?$BjmNgpYWwe9BA5=bnF( z>lG}uJ@!mL1n%AxX=3m$9a>X$7uV=x%`oNF4r>&_gJOC6t;%}rdUWPZkl^v($AV7f`s>0tO- z(zuT@X20O=#zwq7noTHWG>l?`JRvC5-6dp#JT2X|4^l}#cs0&Q=;U#Xpp3aJoJ)1n z3TE&^u;(_;EY}Z}=txVGNslak$#zVRBd1zRa=dV*y5wDq%8!QieV}q2eBb^t1fxoG z4z}U2w^5=3~y-!T(?0BP5@~!BoT7nj3@+f%@12?ov5w}4ImLrjqjD|Tpiarm7@S`lNZApir2NKGnQNlg^| zAro`th>hRQMqbClaP@^73C{bLPDe9Q6!utB9cf;Yfp$&-6l4Y|Q8xkPF;UmOzshfrx5}h}53sQ~o!*LfMUJc8l0< zPZeSjTr4fKHDA}Ed(KbniQaWGlO*-Q{K;!g`!r_N3=H9(=LfSC} zE7^q8-GMZtUBC(ousrHNw3Bu5rESFEbM?X#?ND!2euPV^Gwo9c{?5V!!rR=5Qg7bOSGXUpnA7uC__yrO6{ z+MfpNDor3T7pvZ2h%x4$Qlq)4sraDil}^timuSfKu9#a?ZhJ%ohBAe2%jwH1D(z29 zFPtGh0q3Rjy*NHR9`(*$|CZ(RF~kk@DM)$eRMq^&nJB;#n!j_94@Z+FQgRkN=!3n1 zSO(8HL;y*5BcwoxhjhotD_(#`CKlWYpWzFnSr8fo57T+SawUw7J50Jj5lFP%q5v&v z;=K6iQ6S*$RORz>zF`Y5;(IH^$*D*h+_1RXJPz{x?gRjXqFq%9;Y#h`atD+TrXq!9 zzBL> zO6r}_(q57H_Ao*Izi>BR@rPC!ggDw73VNGhA@Yh4$&q+!d*5b=3lOH#Ka4r#WaRm6 z;*e(k@0-=ZWYgb4akj~btmGvYTT0}w=8QFYj#t}auwN8h>xZ4oR5dQmDDTe%V?VyA z8D?KiC8K#0n->EjJ+Fxx<$d0HeI)+Dj<{V;PVV=cKyOUY2iX(dypBQA4A+!pU0XrB z{s#(exrQLjSLCyXJSq}(6aOY7Lu*NWAaIrXi3oLKsU<&Tw>F83q*L+SAs!H|7|gQq zVZbbt{vi6mx{IO_@oF09+3C&SN2;Ax(1hk3h~m(JXqOyIc<6`5hBKtnTCR#e`93*$ zDu{LA*QOv&|G2V9bse=~QqzR0y6=t|RNfZ6R)yzHHd{ZrlEroLIEv*Al-K!m(J*c0 z2K%S~vg>UVSZXc-K5Jv2@j{JcJo<*l-Yi~2)@yIDGteHB)6M*f1xJE^Cy6ndu^LXC zXps;gA>KG{D-*+EibdG4H4|xdI@0jnOY{@h4)_cp10cTbTvJoi@MCwLQhWPHP=#>t zHoNcw+_h+L9|y-IZKK>o2-UtzLztqBdTvJ_7VC{-$rot58W|uh0S{SBz7*)UQ^xVG z(S*z$qckdoB<;pKzPYZFHRur9ulO_Y!|ARJ(FBf{YfVt!xG1%lgjFJ7Pek zT9FRf)m@5dJG>_L7rG|4$Ac~EHQ1W-<`f=2tQP*6xSOK8;m36GJ52782;evpBaJ^W zMeNQl#e+C3tI67uTsjrOW&d&|Y0dI|#?jYMr2eTZZpvTU$+{c{_R*H9$w89{9t_zc=m&loBGG{HE^rA}3g3wUyh7jF&I5#n zMNO>8!w!>7ollGa^0*uPhzj~(hd{L8E}Dbq5%>Zz#_E+Yc>ZVP^!IT1BT8McJ!4(~ zCj_}JM_N`M2UA#9nXnK!0bgVyeH0GYhUKNxqre{#2T03H^7%iLl{Za74L%7C)5W|0 z44KftX|OL|H-V47h`13hYoVK0l`q-6^5zTF%RjIuMb zh?8f~9M*8PN9j03Uy2lY HNQpD%ckiLfkrvyK2DvnD0xClo>62UOuDUW?5v;@s? zb3k>3((sa<(X=D~>vnxK2;0kT1(<#QUuujkrfhohS>7h7o%w0C~L#PBWr?fGzW z=~WiD`DV2`y3d+c?*3OSaqvOnFC!>L=8m)aGeeCRxk@e9j-YS7$uxueD4r$Ijm+c& zJ{1yr5TuC*VFk7~l)%ID%IdotT4xWJGXm)4^Gpe>Kw-^ zUpT_*Kk;x44QwnaI+-&}MAbViPEJmQZ!Y$!5sC$I5SRosFudK>o~J7G#Sv3~Klf$% zmZqJZbzq|WljaY6=}=2g!8ntcN+!^lm+A+y739gh!*LnAMTNH%fVt%1u@>bz>)b6&o&xT4kvsKuFI35`R0%G_4S$iPw%f& zQ}i=lUOLY6Q9Y{>s%3Xy8NCJU#KvHALsRU`+flpvp$vx-mtb z*0@`2=Z1E~6T*eBj5SD#P6{}{#zH^1d!dQG99`6ue{Jb4ow@QO1Yrvz`JV6G4Q4fy zfxlC0xZ3kpBWsW@+q?Fyfs@!3Gwj?oXNw!-VjN*Zd~Bn~*f!5hCh-~bL@xU6SrFw# z<3;*SuKg1t)EV}eO9AxG8sAk)$A*{Y(K}yS_%8bcY2dG6ueALW$dDkAg(kiR2?}tQ zO?HF4tuEB`=d!pL;-CVLyC%zCQ z4u@^Ekl|4qd#r^ze4n!ZqF3F`7lj$@#k2$@=3wLsHtJ~Y5$mCAskaURQ&^f$o-bx# z&-A$c;slE#kugJ`75L9on~}W5qs2|Ge4_riG6l1(`jLTZgv#_gC4+z_YxA46m7P?IzX~ ziCV#Yc=Gd>^zQkSXWeAF7^tj2V;EldU7DnlBBj>IrD?z2K;?|ve=9%!ib>}^m3M(_i>CG8UMybDo?)_)x~#BkgsJv*0vyAqS9$MIyhbzjTQ?)Tv{&DdrxPW9v94WVP# zS1ZzQVwoTl*C8hNENRK2)O)>l=h3IYhhme_)YVkCnK5R(y$psIsVnL%$yPwU?BQ|C zCWi(8x;kdL$LzDc>|wf+P=B$W2jt6(Z&?H&Jc;}2973?WT|Nl(h>=o+HZN?^JpNoP zAE+$9&ysn+*M-)Nqg3u$kCPO*wZlqIY11W%410F$| z_d9yhXgl#l$esE6x*^BSXNCxLBRDp;ybQA}{vpnfjw@$FhP|}d;5${LAm871ZmL|z z1hKmLqn-fwRr0?_o&T%o+TVPYi5dv?)Ul@zrS0C)!lrT^usI@R-jWj<;1eph>6<=JSEMh{T5%hq&nUC-oIAH7ynX>|4j(mS% zvti{nj;K=MNfw6fObo4CSvtVu?>Z+g22LkK4xb&oH3xql)f{ZOKr^!$RcWXOeF<4W zn${hj^g-`LPMGCnyk0`1W*()s3O$Njhe8~SjR>Vi~Cw06CpD%G_5;eK!=aXZv+RUld(U1AJ)N73<3?l zkXswDr;Zt4a28$P8DZa5@0_<)e}Is+f4=a(0^9mSU>!iGen|5YBGEbtq<-XTa+#}x zBH?cPpxnBxqKA=YGdmqgV1pK*#FM?ZEI-2v%_um>?yh_;NXHj!P5v!~WFtEp&oF}E zrJhzSlA|E;?l)%peT9{qRr?G(rE_c_L zNp7~SzLMNos6r~jyaW1$D1k|iZ4*8_ZH{+K?>AyiYNCpVDinL(6yij!e|>_|xERPh zGlCd=jxubL(mx3!W#fH3Jr$IknY9|td<8DsSc2bG;glA(ko5xgad`;rQTuZK4E%$7 zKX5;53m)Z5{E1LvIVMh348L5C&bEaf-&`EvnPy%X0>{t~VOw3PM6V?XQZhhcy>FJT zr7xpYus1>s%FA^)1=ddw6?#GZ|wVw`v$vIy!$7}t_v*ZJQ$txT=%S;w+eJ8$bdc4J{Iv5dhEFc~DPxUkKpXx`2 zVw15{tOksq4A({Qn76z{??>J|tjie3?^a*UN!6jTq+#ZcQG0l6uy2%>gkA+AsUpK+ z$YU9Te}4@W$^((1GqV(c4yxWt5qSgDLn{uppNi8o6DfLDOq$xHtmr#x9*WYa!bY4G zZh%*u*3S>TCHN~-E7uRgZ0mwLKdDUrc&U)&%<$5|@atv=WdRy4jKlix`$zMHQDj=a6 zQOIKmw8}aKDU)_CzLIQoa$HMc;fmre+%3(&6peq^URO7-9&++}BIh|XK#l5Q${zIg zd?1pPz2QJ74laE@Z`jHjgKS4o5@*e*O2W*j327LU=!N6i_@U*faMY9~7wsEV&H~bRF3A&zQl5#`{wjmqwS4qdsLjWT4ET+7Hsf=C@i( zoa5MG@Nx>J9z}8SbX%S|$?pAN!9|>;AewwBUFZ_l+nIb&00!@fSizT)WZjjQrO+Z2 z5?S7niU^Iw z0j5?!g4#!L@-HD&;GOIIHxu<3DjLK3|d~ zC75W7u{R{fmHd;)z+=cT$A=!R@ErJ=z9LSIi&t*I(OA5(HHn`jB#5U4BffVFFD|A1 zt5m1kjXP+lZJ&7$wuOP>W%Fu^imeURb@K}g6-Fjc)nMKs^+r+H&7Do(_!JFLxSw+_ za%gZzw-(P2+^zzMzw7tTk3|nHSKH|j`ZZbqt)u!$I$z~)>O>e7&QrHRJq9(RGwf5f zaFTFT7G80F{l7~a%NJpbxr)h~tZpOfD{a2Hloit`-;)zI2&i~`UidQ`XEj-txuUf_ zif;dfg}@$HjK0422=V7VouG`F#iQToeD$KD z9?Jn^V9HP(V-4Kuz(;o?PIcc|2ES76BSliIE;chXVca!rHf1CeiXL`#A3>4K%9pke2!1 zd1;~$1mO2S^^f1ja|357mmpV?mc6CN-b|R8*GR+iNNh?nb@vl9<6EG^+sd zW_vRn^8;}0n`X>Bt@S=~?B>SfW4QZ_XG^*l^-`N9cD_lp^R(R4lZncwZ zr3DsfSxjh_j1dj(<}iRSV=(%dlIdHn(8K%%Vd0)XhFs|TbydtYdey;4Nx()<2{o9| zSI$M6o)H9RrKpsy0#lFyW4{z)7ioz zv4^DzvL55FB$fA$6RSM0SN2KqiyNtLnXXNCV`+iV*uSL|7Z(>y zLqj=7sude*eEP02Lm3QWB%@O_V}1qo)_pP`eGV4ESeZxUx4Us*3Nc+e z_C=SJ9BFnxWG$lZx0s&o+&2%lSv}X~)zp;%$NfXnng_TT9)GmvCCP{_G)@!FHYj|V z^^ahnr19@*s)*RZNhU|@wVt65yRrMmGhV1o9&Yn7K0bbl1n6G}L1Zbg53vt0@L#F@c zk&KK#d%Ac~_5cU(d0f;kv;+Pz3byhXSr;g1WGI|EdyXz2A^JALBqPrznLe&KT~h{~ ztrEV_b`+y;hfIq7jFYGvg`SbE!nzOMtH&2ouyxP?{`b*NH2Dr;*-M7rULIEVW8H{< z=kNXcjf;`IDQ58Lb5)!HtV7t>Dg0Fbo5CG29iknKfz{dBR8Wf7=5@FcK?1AG)4_il z1GC`OO)<9`K6o_;{=j>2|Gw{Ma{aS*nO@M7Agg;>4379fV%K3-xk2?$;3?`_U>5jX zNL4Fqoat?bq)9?_2Q*Fv!1li#)R1*tdT3V04~Bpvl2l0%SCi!#t5}cop>I5_0XYYq z0Yl%EwqPxbe&WgAk8HBnV+O7AN5}}>hZ7!#>ptbEoW;FHNPBFmH#N^dY{o;!FO()S}BkmI-rW+u#ODp~+T$Wf6?I0EhqFlf5z-N@()rEtx@-K{zApq2Z>UD>t=>63%QLU!cBSiVqnPdkJS|M+7V^tA1ZBEWY z$mF8z`%ZE~ls;S&8qZ#B1tKz`H5xRUO~M~)Y-Vf>4d))gap-Y4+30sJMn6!^@zedR zunGD$e}lH;gE#LC-o9wDCPG4F0Y`-}*MM>*ft)*edwY9csi3MWXio%)y8qX@KB}JH z^z-N@jN*X2&c}D8ieQIo|1RL)@AYPA#pxi7FR>amyL_T5 zymF9z9+FQ!Ulnnc>(ZbOIx>YAgxf+jaBQgiW-%fVW8x6hY=+Bhz|Mv}ClJHR77d`x z=x}d+p4eer5^Brt6H#JU?j)jEW`_JVCQ>r*X+x;Yak$#T>h%_tkXa+PIO;H_ohbd= zgS}<%Wb|j$r#ZHnjSqN+g)bru(WMU}{eY|#YA6k|_gCSp57bav2Daf7z#NjV z_8tjoq)5XW=L01a`pYc*FMSBxS1y?KwRqMsHI$P?wtkJ_x(Lh!u-EN93`~5uzo_dm z&ElbfisIvLv8f&iiAP**>-I^t+*M@x&_Ly2xIU-D{7BQjwOindF}3u2ya5+kBtVUn z*?+0dZ1dGx_qA<>^8=|II0;(+{{6-our3@Q5Ow>0{>GFGgx6h_gTuUqf1MX-4$u1m z+J^2!@ykmx%#q>ikN4}3JuJkSKUGf)!oT)`grIHE;YxQ_fHL@Pae&ISaoTnp=Aox_ zg%f-~r(&p%r{0{d9tE88;Y`Mp#QQY#!vuXe5og)^X zo2n=Uhmb?Za2+t)i<%`i7%P?lEIqSTge`lKqGb)l=rf@77%3RB*mBwUj3oomDpaM{ zNQ@XIwD|fMo=HjuD-Iag(P+uy+ZiP<@QT1vrU(x%0sHvTbI&Y?0K7VXE=4+NK8ZsK z6VW3(b~>IPBqeYrt?&Kba+lZx;Dd8gUi{!i$?)!ia0hgl4iGbHjJSK>G@UmIvH_(1 zAxl0)&N|^+bc|UPbWl3NIra)?e9Ex#zk*o9j*ch_*TPvEbWj>t6{ElMmRfXOh!EnY zSApspGuhq8@9?2ck45eQGUyB1mv#d`o4_BPCG=wW%i%PIXE{uD?W#TLF9fQN%x7~R23p@{@ zo!~@*gCHDi-a+$#1XaI}OisYv<>BhvRnP`7v3VE-V=l?~uI_~lUl9V`mWO1Fr*3vc z8IM=+fkY0r2nNOI}?qU?@MVDQ6XWQwNgxr z0}f1170OfmJ31s@ZWuoaKl&XaLqQl(ff~&b%(II>#4d*rX*9ji1RC=+dc0?Uesqi^ z%-8V^5QyC<6@pCJQ&a|@ErRUhzc;p&61>2SZI6}0DQ z>=X2+`9atylWHBg8r8xX;&O0LotirV%r$4!(`~|T5UR0&y3}Rtz?gykih%wzG^F>9 zNZ1&MKP1cs@6<1}$JV6lD}ZZ9)AI+*8apTaT;pl(5PSY-+i$^NE!v;3qhuI(=g#|r zavuD^dNT6rcUU8MYA#^V?^knq1y}ouf%s1p5u8;}kWOih&P>O`0eU3=^mpEG9xj0Z zr7(LlNx%Z5pE$Kk)O{@&Od7Ygbght+r|YzAbJfuV{pSZlG(k&K0>iJ`8ltiJj%w2rMrk z1yWFkYheKUr_ji~wV7-cAIIGxW1PBMPIg%*E6<%Puk|8qB@dZ_w~X53FEZA#q9@@) zG6|;ivx0><9~NErz#9ZN`cY)eoMivEoth9q&Rl_WT9f@m<_G6oA4UT+_mIug@xN=_6 z>=L4aPM4vLNfr~r2vCT|vpIjb{5iqfC-uZa-_?;D>JE66lJ8qX$yZN^^3g}*de=u_ zhDZxIa2#kJfW0y#j5np{fNz9&@o?WD2z6KSR6oxejoyS5^-F%W4s8QR zPr4wC<_8V9Nh>QXC3WWuG(tQ;g4ZLe&AkyP0chq0rAUkCdNG&JPE$}y}jwH1{jI6t0L{l`@I_<|b0zM@B^YAE?4GM!H!|TYHc9&5`;nhkV5`pHWhZSnek!)Q>v9RiO=r#Pjjdv?0Mz}c zC9_;{WZ(ZQ!Z_>*hJuhz`?heQX0KVr`iD8`g9x*0Ct-!xATfrarfFOh2YRH0mYONS zT9b!yiA=q7Reb-8r@M;kCsTZ2wzvbny4KTQ9M_e@sjt7`kd@CTt{sGs$hR8Q=qT;G zu1?`M%X^8aePNWFsaV&21be#H3g;VmSV6=GtCzaKD8>G?Y+QE0(daGX^9$GBPJpe z$Pbr^!}2v?x<3z6e&E2bB8A`N|GG_l`_9_xlR`q_%l_3w1-m0NA*kXaU(x_TfW7_D z)>8Yjxt-whb=#F~1~AFuKj*|+&AJIw{ov$Zpy`)*7&-b|i!?30Ia+L-0K2)~gEL;H zQJn`F(ba$2{jZcpsRMR?h(9ThX}t_ph$jBer3%|(pb!wHHI=l+u!{Tqf)&WK;V}9R zJF@tGO+>TQj=K1nRf6Ubj98;<;d0@YI^~7JiNGi0n}1hog+UHD)vRG6O$dqJlKorT zOPi!JU8oVZs`VVqsRCbXFxEY~+GwA5qg_zhE^5mT$+`&Qv4o|_D|H@r-|uW>fd>0^ zkiykh>H}VMO+C^=Bxz~JOgz+^67&aRPd*#kC0}&4`-GpwUe%QOJyMXBbnN(56oP!WMuU`tN??`goMNl2VS@f zT8;YiDts0AU?@$L{rjl%A2SLXTVDQkQsFzGr^d`v zBUvTa)SCN)lM?5h{D%w0+}u2H^JJ1mVs~oAGk>Gs9VW>;@T_LFybfHeMzCR%Wdi&v*yp;vfl z8z4nC?eW+c1fw#{gBx=`XL3Kw%`l+T)38)K|MvXQNK?N{efIZ^<1#CIgwrS_g3mqxRPKR(mGfZRHkZs8XDt^mQOI@KX0 zk2$;P@`tGA&LD}aJ9PMM(;B@FevS3zpP%<8Up1e;{m2KBk9o~AFI)h3h{qim4`Cv} z`;6tNCs(B!-3q;f)IP#bMen~02Jh*`VZ=_|+N<&bo+xf6nLo?Czy;Wls}fa8Ij1jKSp1bUGHSd{2n6nJwPfv* z>{P&*PaZjh&Vf|THDahD-_OeG^Y4wR%Oy-Zj!}t-ATloN`@gSoMM%zHx2$j9&MzWY zMHbU4g-{QX05b_|XMhypG7F4%;6U&bpbvrjJ)D0PeUY(63LFy*1pO-M9Xd(Alx#T& zF4-xK6n4wROOxf_&9Y;T3A_a!o9JR|VP>)H_?JRWBJ+n4*{^A8+18kNom^E&br=J^zaljc4Vv zU`!O6tc8*%>TU&YLZdKx5saMy*#S{Z>cAs6BVO8_)$DY9$~$YbfX)~zw1Hhni%wLr zpXHSS0A|XrJm8QWSy!GJDSf~-r1yu&_1}s~WYfWvm|E^yx|;7_q1?M`PpsYLL z4(e3kP!rZ>!C@^&U4q|XHS$&#eiXC{(8u@?W0S4a6FZ;c8d1zKQEq~`8W@B{a&8)N z8Yj8>5W-V=Sq}fqG5OxW3A)Yp3EkA%DOEq!M1KWrI=ooBli22QW@ZB3aWP*djPj}# zMh-%6?D!M)2}KkqQOB0yo#!Gk&+SG{>wN~>4u=P$vCt~NRpqk^ES;WiPtoXt!SFFE&{LOV%baRENDvsDH|MX*INetuUyS9ch<>= zD>*FiAQ_{$fNDNG8qN)5I%azJiYBwneY>RHDAvXvAUN@DB!n|RniN10ReIQ%({eXg z>RiQx+h3)3)^{@sK03~ruV)$K8GP=#%!n|u#D=5J-o${~I2+UpR*7@921>x6Y+hcC z=b7}XEB3WPeR3#wiopzml>Em0m*Qz`cG}haYv*#f16a{(Yvmhr@|UP|{K*3-fY*>_ z0(D&dGHi&T-pF|tU4dCd1Ce&kJ(TyR z_|05*>`|C9X&;=9UVx7ZaK=DNAYNHnxr+)sO1(P;%TMG?`+Fm$DYOs$V6Fzx;mc`H z@^4=&v!mhmIY0*SrvkZp z<{ntAVj(1pRJ(>qx8QmPB)-39NIfU!S4dN3?^Y8#^XgDn{2C$7sP? zXy*{lZ?Dny+HC72$~#KK9sW_Ud`3j-P$J6eY7| zjR>UJ<(^2rICjN^JQuAhMDpZ{YDC$xGV^ixVzvFxCh?{1(C<1y`s-KNS6N)zmUfpb z@i58}cfapqk#Gvud2Q)}E*Lab($Ki%(X<1RWY$Oba_XIjFkXHT$UFBmsK^N*-8vZ7 zMn^jOW~7VshlN7)`T5J={Lp%L!}P8;0==Gr^$#8CXTvNjmagb&4`KHBG8{R$Ay0_9 zS4O4sY7%SSgK|GL-F+}Di(+F^Q9u}+A?!Nx8i9;o#C6TYG)B$SjE?}ZrVH)fbwDGlpHokS;YA*=rYuUD& z6XInKNImFuBwgmhg-bGm59 zUA^M}%FEDy8vpbF_`$b=lxI@6f3WBJ2noZAcT-iX)oVBmIQi%ZNcH?12e^Y$Qx>Ba zZdf!7%xiqa>Yru}x{ISnaWp~S=^MmzFK~_>L;)N5IhFrd@&&#OC35)F_&HQ?>sNDm zv5@P5vEa)R0$HO^Fa~RNEDhEl=B=x0V*y_fquHz82$8&tXVeVI*sDEY}dYMeC+*Zk67==H=bA?@+U_Zn; z_M4cT_MCuIEBxbn@{eeN603B~0VZcnQ$^!siz$V$??1wGgTVOF_;@25$}7<9SYcmF zC*P*5X63a1AQfeRtaOEDtoojHH?CI6hb%9Ki`r!XOe}4+H~R@B%dbR=VhxBSeyd?0 zz$*4S$s!efPazGOoGXwr6;+vF-=-0{KjeO{s4x?L_xxg zzp!q3v1`h;)4xf)^DcsH#n;0aK&YJ)I9_LE$;SSH&sE!~#oZtrlW(=8$FR++GHzD) ztggWBXdO(5d=jP&VAo&#{O6p@`;T?#0@CZ5)K|bc z3Khgc=~MxzBp&_aZ>B_xgaF2hlo?ashdZ$S2v+bJ#R-w4KQK`1!4n(}Nwrw=`nIxk z0ap6hrEX?GN5$ydhxXkpbM4}e~>(qts6D<7$dGa zwjKMZk6j-z!eM^XrX}EjmKNz;TKmm5I55%s;t!rYP_9(b2UR|5^x53Zh$UY~r!Q*B zHN50{?^~zlKJ4gK57r|sQytUoN2(fx+aU)>m^`g-0_D#uAPxFjl;LOm?~=4vDbmcH zkQI|E_?L1=A78&e4zm6At~!=QbVG-amfBgVNWC2 z0#@T;t4+biK_B!8uARbM`$Yd*{S(3H7bg*_{QUT>01sK}M9?Kq$Z9+yo-<-(TEi0a zIj*_Ta$AAMDsk*6coyTBtm)qiA*~p435#*V5cyKw%pV4xDxjoi-xWEwwx`U(~Ckt6d01;`p~t_~al^>1E?hx>_Tn3E8!hLp#` zA6)w&23 zSA?IZ`)>L!@b}s-;dRW*UdKi3N)os^dyr7o#!5hs^zPqdG=wqWLB0D7oZ?VP*&nKc zspzfcc|II|$oU{W4+#-M2=ilma#EB)S|I+#wA`uZEbE|8N`~(nt;UpiE)#-{^ZPJuT}iqa;ip6_|oUsRB~M z^!6b<;Ru|c1&4GfGr$L0rAR_!ybs}poXwCZjADuihcG=x7`?|$KNcGdwZFv12V8~> z_b&8S8sTE_=H8`2Cs%D15BW_{EEGSV(g=5}X%y#KyZ$R#l_Wu4cU4i{Olx$ZS6A6? zQK_^LS=auiWL(?>-X?$G_4Gk*p$$}NN9s36a}E(l$Y^6v>$mv5?y73 zY6o+kSH4gi2H-377eP*0W65NkcG%06nZ4h7QacJsX^wg9nA4#-prJenV1KgzhH5?YKAF;&X?7>u!~Y9jc# zPhAh{7hC%lL+j(+nC+%r`ReI^GZvH9oAgtWs26j}6RU|}FkqT14Xp1i$~=-QQ;&Jo`gpFRs+E4pISx6`XmwX;MNjH=_7k&lbLx2Hzojc3zm z3K)KbS(F=Lg+-=c|JWoM5YbZ7&JUV4a_EY+Q}-R>Ge?Xw`h)2P+{soESMT5hSlr)D z{(J!`_!sg)O`9|Wc3N#RkjU1&(|dKFXv}Bc(PZu-ys;-Jf`% zWh9gxw%*Xdb2dz*8%z`Cm)ea~$XIYRUIv%JZ)bwn@@iNIRk^Qv$7K46@>&O=jWxC0VoghVSHYGp8-bhG3I#kFurrO; zI<@Z0QSUxiC+Um9zyC9l5&>C&(^>B(o$f7Vf?SIfdh{zTnYUr2sj9^uZwb%BceY`< zMZA>}6bk<(C4PxEcxka<3kHXe(;Svzmsf0SvuI#)QQlp@7%qsN1Q~I5>2=pm(6EPI zwl&Iw)dzg-xe(QZk1%8)@x)FXhhR{9)ZFSoY3P+4E!fx7qO)UhVp@?65d4Y=%3+*i z)Gvl8i^$Py>~jzq@OO?i;ZB9{hQVjaqzC)E_xLBtmub#TC9;* zCx1Y6Jf_65DhxGdy1D^V`K8MjnFmDwO!?2BKZThOHfjp?)fW>+og5t*19*NG<^()_sm0~;xlj^OD&%oyc31`t*R&M5qt zHuw=@vGOIuCH%k5{HQ0hbKH2>ZeH~Hy;3QiO(Ji0>a+zN4EAh;Txg){=2{!vnU0OU z>$=LxI|fOIk3H8rd1p)+tizhTJ?HO;bfrF~Z$$$-0@$0IfDA4`CHktarlBD;-LVIO zoADGDD2oCQEuTmJ_pJ*0nwp!z%HQY*rhhr#n%GNR*;jdfB(Q#RA{aJ}VmzwX5L#pZ8vDuuXj{UHUQ;fVmzH7{wj zE}~-YvTXk3c^-<_N1HTZVtsiLyrl2&Rs1C+o{O zT3F?Xj3I>#6ZhbLvGi{nyWh+}7pu2rI!d(SCtEJU@lRx@Th-SxaP*X|52F5h}^q4EAR1&cq3v!7CK zbCZR>Ek@CMT;07~=)IY@*i9TlR;1I57ju42B+wR_SnrAOxYHf`;ql_F6c>Fgq`17I z9K`v(d1iZp+Z{`NvfH}&PRYe~w5@sHRP=d}ywZNeI*XNf$;mbJcov4*$4z;3cqn|T zI7YM0j4kc*>FF*l?Z7j;4;v)%2uARsTij{mLUxYjzabCc>0AzH+FQz>;;j98KH}L~ zVKj*G0aU}1W}VIrz{u7rQS8klkb<$K^ECSB!a{jaVBo7+b6H3j^W$Pu9kRz^*qVsW z;Exfdt#EJtyOB?jn)jOBms@!J_%Z1YZ!V<5$#l0lvPGUl6qI?VsD9 zvp448Nuv=kcm$uZiiISL9ry!z8wA}O9)BOSSiL1dHh35Jgt@GXh+0I@2CI4@cCM{( zX%^Do;}v!T6x;v8$p$*m-wchtmY9&#vK}~4V-@GjE!JcKo!qOPXqwB3Xlj6J?8;e5|nnHe?tl(a>FK7v@xIAUoA zm_PQT(JGiRe{>0J9x|>&FJSxj*GKs7}l& z7fjTeVld?otjnfk`kMR`&_)$2U+*N3Bk$TI>S*^3L9%mrJ=Ll<+x?jVK92#;X9%-g z!KR6$*&-p(`#xwL>=!}_ejJJAT%~vy1Kh~GY`2C%Z*ZxT>@+n;b|un)8f7fvpC9o~ z=KuV92*B>oC+KGW+*Bv@V`@F|KJ=f1Ts(aYW|5}*t@pJPeq5^la+`{TEt9PzxwgHH zB&DwOvu~Huv7Ik4y4(C-O}`FqU<&`X7E?aD%EeKgQ3Jj?ufnC&{?AMhL5lO7q#=Te zM!zYU#f+-OX~w+o7rK>JkF-SIXgrRJs%mX28&4J15=)wI6TH}#M5Fefm%|YTMjoDO zXtaQyA2zB6D?*T8@(gEe_0B$xt`B^WIV#ud7z73eK6R;wAul;>3bPgZ|6+p#ziit5 zX8x$66e@RW(D5Srk-aGo8BWkqwj~NCv`kP^T&9<{w>_-Cp*hzEp83tcT z*!`>RFotO?3q^i-Jji!M&Ct^y!JbIk+t)G9t^I6L?U7dZ@uHwp_IvmZO7AwIPY(=3J` z?Ks!R%ILMWf|>OTp4sxfb>&by&%S^!n1g`4l^`AZ=a2`vE769?RlZk%-Y)u?B4cDG z+SN9ZYgw-^E}?2>wEJ;jhXd_`AW?~)@wnEypC^fD8E-N%dFQb(Bacv3M** zCna_fcHp4Qqi8iMmN~-!gFwAI@UuFN@B%}r1hqg-t-_9X7v36Obv=#cGC9A?%ddLc zTls!qLR?5GTrrL*C9R-q|8qNcL%_)*nfEdmfjA+31Shl+t=>nZ6G|z=Z~9HqoIaJY z1~z7bluQvJnxnNy{}%q!^DKEIdD^doL2?A56o&yYH*ak|iG$;?nhgyf=Qin^m|XcW zHqAc^ZUWQ3Cj@$dyx#9*zfwC@p5HP(O)If6;CwDmEU%Ae6;UdGn%+;icS{AKVml6>NU0$o>Wso`1Q+T7 ztI20H*gviK780b_@L|-!=V>cnz=;R!V&COM#}V|$;~?HiZ59~GruY6O1j@2Z5^=>Y zH-kFfcK9OB0;Nb1N%c9>CwFahD;QsqdkNh41#`V-2eUJVym2v|S%p!RcIuOe?9mE`8; zHvjW7ypOWu=eljThrQ_UAno#Ol_S;Oi`XG`m)Z8N(xSyvEY8d?P-H`0eOTuOaC|r zwUvuXS{4ks!;y8uNS=rDKY3MrJl!bfZc2eR!Fyt&N#ki0qWF?*bK~j_gW(*l zib&b103fOc+m^k)Ico|11uy+QQUx&|rwwIBqVHDwxZaig47vs~H0k{oGvFv!CeI;+ zq=HPJ1W-*9Q`&~C9yG^&AI+j~8f7a(KSG{?8JB5Af`NsdCI$|ho_xKqqFie*LU&55 zScn%xk)vE~*;ihc9>vB8%7Mgz@67Ox*iOx1cs2ndMI_blng8cXPiQPRL5Q_d0h555 zKkCiTP1mQ*+}aQP2zRUjZ`93^+8E)-*etR=(zm zf{R2wSzE%4UNTtRUxmi#Tn4E_{zP4obSR4`-qn?Ii(9!+{Ek{3qCTu zCn`IIN#Yp;H4%p%vV+=6Ky)8~h=d17NJ73<(=_$d9K{3$0e-9j7hX?oZrT; z$`FgHU-N7R(VV{mtV5XnnlaH}RMAL{$F3a|;+Y*f@^4YSxd^qk@4s-&p2~Sd8|=sT z|3a1zLM3<(zTmC)7PI;A0ZTl(i7g%vY64jI!<`eS;XGEFQJVL$J|TW4y}$Q*sZbe7 zH1xRRn5Y~}+V`D-D$?;jn0_Wd9LiGZpK3E>_R_md#$XvKMwx^gH!2LQVfUxN6iOxx8NK}2iEqB+i2gtj0$?_`tmY}d`>iUtW_|jO z%DwyK+F%_9R`i|y7;5lR^7mWjY1aGet%p_s9fqq0WEqpiPn0Y4Ygur{Gl{8!G!yPI zD}qmx&$=-Unf?Y+%*`kjHIq17z*-V<&+CLMk};-d{77c;L94pwR=YSuxiJnO)jw za~HGEg-RH5_M~9cB`J`RS$gB^t9&(%>2p2`q`nLe-?B|#JHi*j19XgGxx=(oEnxaD7Tc>$9)Ul_fymh&LoS$XzM@f`0; zM&zyTWFkEhBt$h;Tp<(ggJL!(NyK07(ZZe$*TKP^qA z+Bc!4$adx^gT&X^=0Zm3R(KlKc47FZB;7z*(b4+TKPjvuo)K1ihNrJ&Q9X@_x*5}q z5tK3d8F1Kw#^bwh`_}Nwff3>+C2Gn@y~2p6!z^yC!_fk!>D6(n=1iW}!a+hCPR&mE z1Z$w5DAhykhr_Bb)ffu%s#;q>n<3i(%gg2{?(QpR8-O#Y_eGQ|tqNb{71P-Iknya} ztr0+)I{BS?D}4ZfFENE*YuOYTsH=fUhML%59~dYlO>endfQ7*$C@)DWZ=nKUXWz@r z=+1rFd+^tFL<7Glf2)wBJ)Lz>cQ6FEs_&gU{fW%-sgB3a?Fam9-!H+UVZRfLx{!eXJs;J1yl-@*72&s&c!`*zom=vcyb)PWQ{b5)x9hacGlhX-j(1bUhbaW{ z@+gh;YEktEf8dZ%iUimUzt%nojPlec`b69f-Q(r%b0378;-&c9dVXadSOXiXr9^}cJdP*4v zHNRmao=&+HgaqZS4Gf>Mw+wjYR|z{rcs1cFUfQTDm(VdS8*$WPFz$2#T*$m3u()V6MuSd6#Q=1CGJxl=<9 z7QwXt;ApqN1EE|9=ethg{&tN+UPjI~$5j_NB82~!hQjw9o6*}4P&{gm!5nxdk3y0W z=~{ZRm9E*;pE+1I2iGSY;3%8smX7=>JfK=f}cqnJ?%sx@`Ykd z6dUzmUPTVovGgmWjYLsSGI#Y``r_pae2YR8SgSP$bK&E~ppb#FifOdl*AFEWZQ9f? zpLtDbHX}S&rb;T)#^pCl&h=bngzd|u7nofDd|V1OM`}B2N8M#1YNu+Faz^~PlsXbM z?twbh$S}SB2ExiSG&cX!F*a3v{~aO%X^R5R#vyufQBK2676D{&sBCrKs1tmpnj-K4 zR*m8zY1oWp&)9(F+(z&hStZSym+y_!ag2gF^FAWm zH3z&*jfP(YJy*ybvJbyD>wUkNqKw``dL6nC^3{WbmP$t?K4Agmt*T%FwC)}KhuuJ1 zTbo=^4iUJF2cF%wgtQO^eQ{l;6j?o3HnIUKAQE(j^8a}H>ZmBA?d^By?(P^$KvKG; zK|oSMLb|)-9g!3yhVBqVL_k48I-~@}Af!Q16a+>Pkp7PMckieF=yJJWG3V^F_p_h4 z!9B*kZu!=TNSJ|)P2tPR^75{TIZYQE$>69?lcwJ}$vTer!uuK7{-^iXS+u%ir77f; zdGwkeQvwT=`d07Gk105wQ&!S_-X>CLFPcn~i*0k=ZZWXcp&lBWwSqG52+@(fnnR=t zxZYPA^12M5OhGlN(!n4YO}b+zBZ(!}(>a63SI1>`p*5O6N0+tdaK?IsnMMBD2LNOm z$gIWT>ekYwNBNrT-Z(pe3N@G;H$)|BXqeVau3AJeI@gil%?*m63d5d4_?9sdG~g+k2-Gx5+9G4U zI8gPJ*(gx<$6nD#9rG2D{3rR4#@@|!EmEUXW?S-FqcQ29i37bBn;&x8gG|n@}$i0ur|4y0x zBmde>7#CzJA^zl?)Mh=PfeIxrX`;1Uoemqy|g6ziIoPx`{3�f^A0W?;`RDtYZ=L=^O~cgxk*rYT@@=k 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%0DiWVC7)fy$d1t#dV%YOTX$0+wjRrV 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
6tM$B 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 z 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%0A=vBs5^3zBSo?ItK$5R;8quy(;SM~Mv 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

    2=OP+q~Cou&-sS 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 diff --git a/pkgdown.yml b/pkgdown.yml index 29181dc..eebd295 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -3,7 +3,7 @@ pkgdown: 2.1.1 pkgdown_sha: ~ articles: articles/get_area: get_area.html -last_built: 2024-10-29T04:05Z +last_built: 2024-11-11T15:08Z urls: reference: https://elipousson.github.io/mapbaltimore/reference article: https://elipousson.github.io/mapbaltimore/articles diff --git a/reference/get_area_citations.html b/reference/get_area_citations.html index 6d64436..ade2ba9 100644 --- a/reference/get_area_citations.html +++ b/reference/get_area_citations.html @@ -113,12 +113,12 @@

    Examples#> ── Downloading "ECB" from <https://opendata.baltimorecity.gov/egis/rest/services #> Layer type: "Table" #> -#> Simple feature collection with 1391 features and 30 fields +#> Simple feature collection with 1396 features and 30 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 424889.3 ymin: 184761.9 xmax: 430503.1 ymax: 189322.6 #> Projected CRS: NAD83(HARN) / Maryland -#> # A tibble: 1,391 × 31 +#> # A tibble: 1,396 × 31 #> citation_no lien_code violation_date due_date agency #> * <chr> <chr> <dttm> <dttm> <chr> #> 1 04382735 L 2007-03-15 04:00:00 2007-04-14 04:00:00 DEPARTMENT OF … @@ -131,7 +131,7 @@

    Examples#> 8 50436708 L 2008-09-17 04:00:00 2008-10-17 04:00:00 DEPARTMENT OF … #> 9 50493634 L 2008-11-12 05:00:00 2008-12-12 05:00:00 DEPARTMENT OF … #> 10 50520915 L 2008-12-03 05:00:00 2009-01-02 05:00:00 DEPARTMENT OF … -#> # ℹ 1,381 more rows +#> # ℹ 1,386 more rows #> # ℹ 26 more variables: fine_amount <dbl>, description <chr>, balance <dbl>, #> # last_paid_date <dttm>, last_paid_amount <dbl>, hearing_date <dttm>, #> # hearing_request_received_date <dttm>, citation_status <chr>, diff --git a/reference/get_area_property.html b/reference/get_area_property.html index eefb1d6..9ac5e19 100644 --- a/reference/get_area_property.html +++ b/reference/get_area_property.html @@ -163,16 +163,16 @@

    Examples#> Projected CRS: WGS 84 / Pseudo-Mercator #> First 10 features: #> objectid pin pinrelate blocklot block lot ward section assessor taxbase -#> 1 126089 3857A001 3857A001 3857A001 3857A 001 12 200 331 199533 -#> 2 126090 3857A002 3857A002 3857A002 3857A 002 12 200 331 183333 -#> 3 126091 3857A003 3857A003 3857A003 3857A 003 12 200 331 193300 -#> 4 126092 3857A004 3857A004 3857A004 3857A 004 12 200 331 183333 -#> 5 126093 3857A005 3857A005 3857A005 3857A 005 12 200 331 183333 -#> 6 126094 3857A006 3857A006 3857A006 3857A 006 12 200 331 186033 -#> 7 126095 3857A007 3857A007 3857A007 3857A 007 12 200 331 185733 -#> 8 126096 3857A008 3857A008 3857A008 3857A 008 12 200 331 186300 -#> 9 126097 3857A009 3857A009 3857A009 3857A 009 12 200 331 204967 -#> 10 126098 3857A010 3857A010 3857A010 3857A 010 12 200 331 311533 +#> 1 126108 3857A001 3857A001 3857A001 3857A 001 12 200 331 199533 +#> 2 126109 3857A002 3857A002 3857A002 3857A 002 12 200 331 183333 +#> 3 126110 3857A003 3857A003 3857A003 3857A 003 12 200 331 193300 +#> 4 126111 3857A004 3857A004 3857A004 3857A 004 12 200 331 183333 +#> 5 126112 3857A005 3857A005 3857A005 3857A 005 12 200 331 183333 +#> 6 126113 3857A006 3857A006 3857A006 3857A 006 12 200 331 186033 +#> 7 126114 3857A007 3857A007 3857A007 3857A 007 12 200 331 185733 +#> 8 126115 3857A008 3857A008 3857A008 3857A 008 12 200 331 186300 +#> 9 126116 3857A009 3857A009 3857A009 3857A 009 12 200 331 204967 +#> 10 126117 3857A010 3857A010 3857A010 3857A 010 12 200 331 311533 #> bfcvland bfcvimpr landexmp imprexmp citycred statcred ccredamt scredamt #> 1 NA 100200 0 0 0 0 764.58 0 #> 2 NA 86600 0 0 0 0 70.54 0 @@ -262,16 +262,16 @@

    Examples#> 9 1 0 0 <NA> <NA> 260000 <NA> ABELL #> 10 1 0 0 <NA> <NA> 325000 <NA> ABELL #> srvccntr year_built structarea ldate ownmde grndrent subtype_geodb -#> 1 5 1900 1900 10272024 F 0 1 -#> 2 5 1900 1654 10272024 F 0 1 -#> 3 5 1900 1654 10272024 F 0 1 -#> 4 5 1900 1654 10272024 L 90 1 -#> 5 5 1900 1654 10272024 F 0 1 -#> 6 5 1900 1654 10272024 L 90 1 -#> 7 5 1900 1654 10272024 L 90 1 -#> 8 5 1900 1654 10272024 F 0 1 -#> 9 5 1900 1654 10272024 L 78 1 -#> 10 5 1900 1654 10272024 F 0 1 +#> 1 5 1900 1900 11102024 F 0 1 +#> 2 5 1900 1654 11102024 F 0 1 +#> 3 5 1900 1654 11102024 F 0 1 +#> 4 5 1900 1654 11102024 L 90 1 +#> 5 5 1900 1654 11102024 F 0 1 +#> 6 5 1900 1654 11102024 L 90 1 +#> 7 5 1900 1654 11102024 L 90 1 +#> 8 5 1900 1654 11102024 F 0 1 +#> 9 5 1900 1654 11102024 L 78 1 +#> 10 5 1900 1654 11102024 F 0 1 #> sdatlink #> 1 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=001 #> 2 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=002 diff --git a/search.json b/search.json index 5f816e2..1b5c47f 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://elipousson.github.io/mapbaltimore/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2020 Eli Pousson Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-areas","dir":"Articles","previous_headings":"","what":"Get areas","title":"Get areas and data to layer on a map","text":"get_area function uses dplyr::filter() select one areas specified type political administrative geography. can select one seven different types: Neighborhoods Baltimore City Council districts Maryland state legislative districts U.S. Congressional districts include Baltimore City Baltimore City Planning Districts Baltimore City Police Districts Baltimore City Community Statistical Areas","code":""},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-areas-by-name-or-id","dir":"Articles","previous_headings":"Get areas","what":"Get areas by name or id","title":"Get areas and data to layer on a map","text":"can review names (name) identifiers (id) type area looking corresponding column data. Typically, name column also work label area id column used unique identifier. names require exact match. example, get_baltimore_area(type = \"neighborhood\", name = \"Washington Village/Pigtown\") works get_baltimore_area(type = \"neighborhood\", name = \"Pigtown\") return error.","code":"# Show the first 3 council district names council_districts$name[1:3] #> [1] \"District 8\" \"District 7\" \"District 6\" # Get district 8 by name get_baltimore_area( type = \"council district\", name = \"District 8\" ) %>% map_area(\"name\") # Show the first 3 council district ids council_districts$id[1:3] #> [1] \"8\" \"7\" \"6\" # Get district 7 by id get_baltimore_area( type = \"council district\", id = 7 ) %>% map_area(\"id\")"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-multiple-areas","dir":"Articles","previous_headings":"Get areas","what":"Get multiple areas","title":"Get areas and data to layer on a map","text":"return multiple areas, can provide vector names identifiers. can also combine multiple areas single simple feature using union parameter. helpful want get data multiple neighborhoods time map single combined area. default area names concatenated using ampersand separator, however, length combined names difficult fit map often better replace name shorter alternative.","code":"area_multiple <- get_baltimore_area( type = \"neighborhood\", name = c(\"Mount Vernon\", \"Mid-Town Belvedere\", \"Seton Hill\") ) area_multiple %>% map_area(\"name\") area_multiple_union <- get_baltimore_area( type = \"neighborhood\", name = c(\"Mount Vernon\", \"Mid-Town Belvedere\", \"Seton Hill\"), union = TRUE ) area_multiple_union$name #> [1] \"Mid-Town Belvedere, Mount Vernon, and Seton Hill\" area_multiple_union$name <- \"Mount Vernon area\" area_multiple_union %>% map_area(\"name\")"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-data-for-an-area","dir":"Articles","previous_headings":"","what":"Get data for an area","title":"Get areas and data to layer on a map","text":"get_area_data() function offers great deal flexibility. can provide area get_area() simple feature polygon multipolygon located within Baltimore City (region using cached baltimore_msa_streets data set). can also provide bounding box created sf::st_bbox() function. illustrate options function, ’m getting downtown neighborhood simple feature object (area) making list ggplot2 layers, guide, scale (area_layer) reuse example maps section.","code":"area <- get_baltimore_area( type = \"neighborhood\", name = \"Downtown\" ) area_layer <- list( geom_sf(data = area, fill = \"grey90\", alpha = 0.8, color = \"grey20\", linetype = \"dotted\"), geom_sf_label(data = area, aes(label = name)), guides(fill = \"none\"), scale_fill_viridis_d() )"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"adjust-the-area-bounding-box","dir":"Articles","previous_headings":"Get data for an area","what":"Adjust the area bounding box","title":"Get areas and data to layer on a map","text":"order place area context, may want portion data surrounding area function returns data within bounding box area default. dimensions bounding box can adjusted using dist, diag_ratio, asp parameters. can access adjustments directly using buffer_area(), adjust_bbox_asp(), adjust_bbox() functions. functions used illustrate work use corresponding parameters get_area_data(). dist parameter passed sf::st_buffer() function used set buffer meters area. diag_ratio also used set buffer distances number represents proportion diagonal distance area bounding box. helpful set ratio scale proportion size area. asp parameter applied buffers applied. adjust_bbox_asp() function accepts either number, e.g. 1.5, string format commonly used aspect ratios, e.g. “6:4”. example shows extent square bounding box buffered downtown areas created .","code":"example_dist <- 50 example_diag_ratio <- 0.25 # 50 meter buffer area_dist <- sfext::st_buffer_ext(area, dist = example_dist) area_dist_bbox <- sfext::sf_bbox_to_sf(sf::st_bbox(area_dist)) # buffer 1/4 (0.25) of the diagonal distance of the bounding box area_diag_ratio <- sfext::st_buffer_ext(area, diag_ratio = example_diag_ratio) area_diag_ratio_bbox <- sfext::sf_bbox_to_sf(sf::st_bbox(area_diag_ratio)) ggplot() + geom_sf(data = area_dist, fill = \"purple\", alpha = 0.1) + geom_sf(data = area_dist_bbox, color = \"purple\", fill = NA) + geom_sf(data = area_diag_ratio, fill = \"darkorange\", alpha = 0.1) + geom_sf(data = area_diag_ratio_bbox, color = \"darkorange\", fill = NA) + area_layer example_asp <- \"1:1\" area_dist_asp <- sfext::st_bbox_asp(area_dist, asp = example_asp) %>% sfext::sf_bbox_to_sf() area_diag_ratio_asp <- sfext::st_bbox_asp(area_diag_ratio, asp = example_asp) %>% sfext::sf_bbox_to_sf() ggplot() + geom_sf(data = area_dist_asp, fill = \"purple\", color = \"purple\", alpha = 0.1) + geom_sf(data = area_diag_ratio_asp, fill = \"darkorange\", color = \"darkorange\", alpha = 0.1) + area_layer"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"cropping-and-trimming-data","dir":"Articles","previous_headings":"Get data for an area","what":"Cropping and trimming data","title":"Get areas and data to layer on a map","text":"Finally, area adjustments work combination get_location_data() function. default, data cropped bounding box provided area: data diag_ratio buffer: data using asp adjustment return square : can also avoid cropping want return full extent data even partially overlaps area bounding box. example, example crop = FALSE. want use crop = FALSE combination area adjustment parameters must either supply bounding box instead area adjust area using buffer_area() passing get_area_data() function. maps similar enough prior example ’ve hid results provided code sample. Depending type data working , may also want trim data area using sf::st_intersection() function. can’t trim area provide bounding box (bbox); must provide area. Similar crop, using trim = TRUE parameter ignores distance adjustments work around can used apply buffer area passing get_area_data(). trim parameter also supported get_location_data() get_osm_data() functions discussed detail article external, cached, remote data sources.","code":"get_location_data( location = area, data = council_districts ) %>% map_area(\"name\") + area_layer get_location_data( location = area, data = council_districts, diag_ratio = example_diag_ratio ) %>% map_area(\"name\") + area_layer get_location_data( location = area, data = council_districts, asp = example_asp ) %>% map_area(\"name\") + area_layer get_location_data( location = area, data = council_districts, crop = FALSE ) %>% map_area(\"name\") + area_layer get_location_data( location = sfext::st_buffer_ext(area, diag_ratio = example_diag_ratio), data = council_districts, crop = FALSE ) get_location_data( location = sf::st_bbox(area), data = council_districts, diag_ratio = example_diag_ratio, crop = FALSE ) area_trees <- get_location_data( location = sf::st_bbox(area), data = \"trees\", dist = example_dist, from_crs = 2804, package = \"mapbaltimore\" ) area_trees_trimmed <- get_location_data( location = area, data = \"trees\", dist = example_dist, trim = TRUE, package = \"mapbaltimore\" ) ggplot() + area_layer + geom_sf(data = area_trees, color = \"wheat3\") + geom_sf(data = area_trees_trimmed, color = \"forestgreen\", alpha = 0.8) area_trees_trimmed_diag_ratio <- get_location_data( location = sfext::st_buffer_ext(area, diag_ratio = example_diag_ratio), data = \"trees\", pkg = \"mapbaltimore\", trim = TRUE ) ggplot() + area_layer + geom_sf(data = area_trees_trimmed_diag_ratio, color = \"forestgreen\") + geom_sf(data = area_trees_trimmed, color = \"wheat3\")"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"layering-data-in-area-maps","dir":"Articles","previous_headings":"","what":"Layering data in area maps","title":"Get areas and data to layer on a map","text":"may wondering parameters may useful. maplayer::layer_location_data() function combines get_location_data() ggplot2::geom_sf() quickly turn data mapbaltimore ggplot maps. simple example turns streets parks data map downtown area. following example shows create new map layer using data imported Open Street Map. location provided, filtering takes place. can also pass url add data ArcGIS MapServer FeatureServer. Finally, can apply additional function data using lambda syntax used purrr. example, tree data includes dead trees removed displaying map.","code":"example_diag_ratio <- 0.05 layer_streets <- maplayer::layer_location_data( location = area, data = streets, color = \"gray60\", diag_ratio = example_diag_ratio ) layer_parks <- maplayer::layer_location_data( location = area, data = parks, fill = \"forestgreen\", diag_ratio = example_diag_ratio ) background_layers <- list(layer_streets, layer_parks) ggplot() + background_layers layer_area_buildings <- maplayer::layer_location_data( data = getdata::get_osm_data( location = area, diag_ratio = example_diag_ratio, key = \"building\", value = \"yes\", geometry = \"polygons\" ), fill = \"antiquewhite2\", color = NA, alpha = 1 ) #> ℹ OpenStreetMap data is licensed under the Open Database License (ODbL). #> Attribution is required if you use this data. #> • Learn more about the ODbL and OSM attribution requirements at #> #> This message is displayed once every 8 hours. ggplot() + background_layers + layer_area_buildings + labs(caption = \"© OpenStreetMap contributors\") parking_facility_url <- \"https://opendata.baltimorecity.gov/egis/rest/services/Hosted/Parking_Facilities/FeatureServer/0\" layer_area_parking <- maplayer::layer_location_data( location = area, data = parking_facility_url, diag_ratio = example_diag_ratio, color = \"gray10\", fill = \"yellow\", shape = 24, size = 4 ) ggplot() + background_layers + layer_area_buildings + layer_area_parking + ggtitle(\"Parking facilities in Downtown Baltimore\") layer_area_trees <- list( maplayer::layer_location_data( location = area, data = \"trees.gpkg\", package = \"mapbaltimore\", fn = ~ dplyr::filter(.x, condition != \"Dead\"), trim = TRUE, mapping = aes( size = dbh * 0.4, color = factor(condition, c(\"Good\", \"Fair\", \"Poor\")) ), alpha = 0.6 ), guides(size = \"none\"), labs(color = \"Tree condition\"), scale_color_manual(values = shades::gradient(c(\"forestgreen\", \"burlywood4\"), 3)) ) ggplot() + background_layers + layer_area_trees"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"working-with-multiple-areas","dir":"Articles","previous_headings":"","what":"Working with multiple areas","title":"Get areas and data to layer on a map","text":"different ways use functions dataframe multiple areas. get_area_data() function always combines multiple areas single geometry returns data bounding box encompasses areas. want get data area separately, dplyr::nest_by() purrr::map_dfr() functions can used. following example also shows get_nearby_areas() can used return data frame overlapping immediately surrounding areas. Another approach relies using data inherited ggplot() option apply different aesthetics process data differently layer map.","code":"nearby_areas <- get_nearby_areas(area = area, type = \"neighborhood\") nearby_areas_nested <- dplyr::nest_by(nearby_areas, name, .keep = TRUE) nearby_parks <- purrr::map_dfr( nearby_areas_nested$data, ~ getdata::get_location_data( location = .x, data = parks, trim = TRUE ) %>% dplyr::bind_cols(neighborhood = .x$name) ) # FIXME: This isn't working! # ggplot() + # maplayer::layer_location_data(location = nearby_areas, data = streets, trim = TRUE, color = \"gray70\", crs = 2804) + # # layer_parks + # ggplot2::geom_sf(data = sf::st_make_valid(nearby_parks), aes(fill = neighborhood)) + # # scale_fill_viridis_d() + # labs(fill = \"Neighborhood\\nof park\") parks %>% ggplot() + maplayer::layer_location_data(location = area, trim = TRUE, fill = \"forestgreen\") + maplayer::layer_location_data(location = nearby_areas[6, ], trim = TRUE, fill = \"yellowgreen\")"},{"path":"https://elipousson.github.io/mapbaltimore/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Eli Pousson. Author, maintainer, copyright holder.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Pousson E (2024). mapbaltimore: Make maps Baltimore City open data. R package version 0.1.1.9001, https://elipousson.github.io/mapbaltimore/, https://github.com/elipousson/mapbaltimore.","code":"@Manual{, title = {mapbaltimore: Make maps for Baltimore City with open data}, author = {Eli Pousson}, year = {2024}, note = {R package version 0.1.1.9001, https://elipousson.github.io/mapbaltimore/}, url = {https://github.com/elipousson/mapbaltimore}, }"},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"mapbaltimore-","dir":"","previous_headings":"","what":"An R package for mapping in Baltimore","title":"An R package for mapping in Baltimore","text":"goal mapbaltimore package provide easy way create maps Baltimore neighborhoods, Council districts, areas using open data schools, housing, parks, public transit.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"An R package for mapping in Baltimore","text":"can install development version (including Suggested packages) GitHub :","code":"# install.packages(\"pak\") pak::pkg_install(\"elipousson/mapbaltimore\", dependencies = TRUE)"},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"data-and-reproducibility","dir":"","previous_headings":"","what":"Data and reproducibility","title":"An R package for mapping in Baltimore","text":"intent package always provide current version included administrative data. underlying data updated rolling basis, corresponding dataset mapbaltimore updated changes noted changelog. underlying data updated less frequently requires special review, older versions may archived year appended end dataset name. Package datasets currently known outdated included: csas: Multiple attribute names outdated. neighborhoods: new version now included neighborhoods_2020 police_districts: new version now included police_districts_2023 Users encouraged flag outdated datasets opening issue package repository.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"examples","dir":"","previous_headings":"","what":"Examples","title":"An R package for mapping in Baltimore","text":"mapbaltimore useful convenient access Baltimore spatial data neighborhoods streets parks. can download neighborhood boundary: use neighborhood (another location) filter data area: package datasets typically based official city state sources updated remove outdated information incorporate related information. example, parks data includes alternate names OpenStreetMap identifiers: zoning data labelled categorized based city zoning code: package includes bundled GeoPackage files data trees, vegetated areas, unimproved properties. also includes functions caching even larger datasets edge pavement geometry, parcel boundaries, street centerline data Baltimore metro area. Note, code package released MIT license, data mix public domain CC0 sources.","code":"library(sf) #> Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE library(ggplot2) library(mapbaltimore) theme_set(theme_void()) downtown <- get_baltimore_area( type = \"neighborhood\", name = \"Downtown\" ) downtown_boundary <- geom_sf( data = downtown, color = \"darkorange\", fill = NA, linewidth = 0.75, linetype = \"dashed\" ) dplyr::glimpse(downtown) #> Rows: 1 #> Columns: 6 #> $ name \"Downtown\" #> $ type \"Residential\" #> $ acres 260.7037 #> $ osm_id \"12792276\" #> $ wikidata \"Q3038329\" #> $ geometry MULTIPOLYGON (((-8527684 47... downtown_streets <- get_area_streets(downtown) downtown_map <- ggplot() + geom_sf(data = downtown_streets, color = \"gray70\") + downtown_boundary downtown_parks <- getdata::get_location_data(downtown, data = parks) downtown_zoning <- getdata::get_location_data(downtown, data = zoning, dist = 500, unit = \"m\") ggplot() + geom_sf(data = downtown_zoning, aes(fill = category_zoning), alpha = 0.3) + downtown_boundary downtown_trees <- getdata::get_location_data(downtown, data = \"trees\", package = \"mapbaltimore\", dist = 100, unit = \"m\") ggplot() + geom_sf(data = downtown_trees, color = \"darkgreen\", alpha = 0.25) + downtown_boundary"},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"required-packages","dir":"","previous_headings":"","what":"Required packages","title":"An R package for mapping in Baltimore","text":"mapbaltimore relies several non-CRAN packages actively developing. split many mapping data access functions originally created mapbaltimore three general packages imported mapbaltimore: sfext getdata maplayer package uses fork esri2sf R package access city state FeatureLayers building permit data, crime data, 311 service requests data sources.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"baltimore-and-maryland-data-packages","dir":"","previous_headings":"Related packages","what":"Baltimore and Maryland data packages","title":"An R package for mapping in Baltimore","text":"starting mapbaltimore package 2020, ’ve created two additional data packages: bcpss: Tabular spatial data Baltimore City School system. mapmaryland: Statewide spatial data U.S. Census Bureau sources along data access functions working Maryland Open Data portal Maryland iMap service. baltimorecensus: Data downloaded tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"inspirational-packages","dir":"","previous_headings":"Related packages","what":"Inspirational packages","title":"An R package for mapping in Baltimore","text":"development mapbaltimore inspired part handful “place-based” R packages cities: nycgeo New York City gateway Saint Louis national level, tigris provides access boundary data geographies used U.S. Census Bureau. mapbaltimore uses tigris download U.S. Census geographies included package. Outside U.S., similar packages provide access varied boundary data Brazil geobr, Uruguay geouy, Chile chilemapas Mexico mxmaps.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":null,"dir":"Reference","previous_headings":"","what":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"function deprecated functionality incorporated improved sfext::st_bbox_ext() function uses similar set parameters. Takes area sf object bounding box returns bounding box matches provided aspect ratio contains area bounding box provided. Common aspect ratios include \"1:1\" (1), \"4:6\" (0.666), \"8.5:11\", \"16:9\" (1.777). asp parameter supports numeric values character strings ratios matching format \"width:height\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"","code":"adjust_bbox( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, crs = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"area sf object buffer /adjust. bbox bbox object buffer /adjust. area provided, bbox ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate reference system bounding box return","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"Class bbox object","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"Get bounding box buffered adjusted match aspect ratio","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":null,"dir":"Reference","previous_headings":"","what":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"function deprecated functionality incorporated improved sfext::st_bbox_asp() function uses similar set parameters. Get bbox sf bbox object adjusted match aspect ratio Takes area sf bbox object returns bounding box matches aspect ratio provided asp contains area bounding box provided. Common aspect ratios include \"1:1\" (1), \"4:6\" (0.666), \"8.5:11\", \"16:9\" (1.777). asp parameter supports numeric values character strings ratios matching format \"width:height\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"","code":"adjust_bbox_asp(area = NULL, bbox = NULL, asp = NULL)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"area sf object bbox bbox object adjust asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\").","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"bbox object","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":null,"dir":"Reference","previous_headings":"","what":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"Combined area plans LINCS corridor data Baltimore City Department Planning.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"","code":"adopted_plans"},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"data frame 59 rows 5 variables: plan_name Plan area name year_adopted Year adopted initiated program Planning program url URL plan website document geometry MULTIPOLYGON geometry plan areas MULTILINESTRING geometry LINCS corridors","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"<...>","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore Data Table Labels — balt_tbl_labs","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"data.frame labels use tables created using mapbaltimore data. Housing Market Typology 2017 data set labels included preset table functions yet implemented.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"","code":"balt_tbl_labs"},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"data frame 9 rows 7 variables: fn_name Function name table Table name col Column name label Column label definition Column variable definition (logical) source logical Column variable data source fmt Column data format","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"https://docs.google.com/spreadsheets/d/1FXEJlhccnhoQmSO2WydBidXIw-f2lpomURDGy9KBgJw/edit?usp=sharing","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City WGS84 Bounding Box — baltimore_bbox","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"generalized boundary Baltimore City, Maryland (baltimore_city) converted bounding box object using EPSG:4326 coordinate reference system.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"","code":"baltimore_bbox"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"bbox class object.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Block Groups - 2020 — baltimore_block_groups","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"U.S. Census Block Groups Baltimore city, Maryland downloaded U.S. Census Bureau API tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"","code":"baltimore_block_groups"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"data frame 618 rows 9 variables: tractce Census tract code blkgrpce Census block group number geoid Census block group identifier; concatenation state FIPS code, county FIPS code, census tract code, block group number namelsad translated legal/statistical area description block group number aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry POLYGON geometry block group boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Blocks - 2020 — baltimore_blocks","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"U.S. Census Blocks Baltimore city, Maryland downloaded U.S. Census Bureau API tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"","code":"baltimore_blocks"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"data frame 13,598 rows 9 variables: tractce10 Tract FIPS blockce10 Block FIPS geoid10 Block GeoID name10 Block name aland10 Land area awater10 Water area intptlat10 Interior center point latitude intptlon10 Interior center point longitude geometry MULTIPOLYGON geometry block boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":null,"dir":"Reference","previous_headings":"","what":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"pre-built crosswalk data frame can filtered geography used getACS::use_area_xwalk() function. Crosswalk uses 2010 City Council district boundaries, 2010 2020 neighborhood (neighborhood statistical area) boundaries, current city planning districts.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"","code":"baltimore_census_xwalk"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"data frame 1024 rows 8 variables: geography Geography/area type GEOID 2020 Census GeoID TRACTCE20 2020 Census Tract ID name Area name POP20 Population area tract perc_POP20 Percent population area tract HOUSING20 Households/occupied housing units area tract perc_HOUSING20 Percent households area tract","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"Created using getACS::make_area_xwalk() data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":null,"dir":"Reference","previous_headings":"","what":"Generalized political boundary for Baltimore City — baltimore_city","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"generalized boundary Baltimore City, Maryland using TIGER/Line Shapefiles data U.S. Census Bureau downloaded tigris::county_subdivisions().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"","code":"baltimore_city"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"data frame 1 row 3 variables: name County name countyfp 3-character county FIPS code geoid county identifier; concatenation state FIPS code county FIPS code aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":null,"dir":"Reference","previous_headings":"","what":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"detailed physical boundary Baltimore City filtered statewide detailed boundary data available Maryland iMap.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"","code":"baltimore_city_detailed"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"data frame 1 row 3 variables: name County name countyfp 3-character county FIPS code geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"Maryland Physical Boundaries - County Boundaries (Detailed)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_gis_index.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore ArcGIS Server index data — baltimore_gis_index","title":"Baltimore ArcGIS Server index data — baltimore_gis_index","text":"data.frame indexing layers, services, folders four ArcGIS Servers maintained Baltimore City Mayor's Office Information Technology (MOIT) Enterprise GIS (EGIS) program. limited number potential sensitive unresponsive server layers excluded. Used get_baltimore_esri_data() function. Updated 2023 May 26.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_gis_index.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore ArcGIS Server index data — baltimore_gis_index","text":"","code":"baltimore_gis_index"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_gis_index.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore ArcGIS Server index data — baltimore_gis_index","text":"data frame 1,324 rows 17 variables: name Name nm Name snake case type Service/layer type url Folder/service/layer URL urlType URL type folderPath Index type serviceName Service name serviceType Service type id integer Layer ID number parentLayerId integer Parent layer ID number serviceItemId integer Service item ID number defaultVisibility logical Layer default visibility minScale double Minimum scale maxScale integer Maximum scale geometryType Geometry type subLayerIds list Sublayer ID numbers supportsDynamicLegends logical Supports dynamic legends","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"Baltimore City properties included Maryland Inventory Historic Properties (MIHP). MIHP administrative inventory maintained Maryland Historical Trust, Maryland's statewide historic preservation office agency within Maryland Department Planning. boundaries represent property boundaries district boundaries depending type MIHP record. Updated 2024 October 29.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"","code":"baltimore_mihp"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"data frame 5,231 rows 14 variables: num_polys Number polygons mihp_id MIHP ID property_id Property ID mihp_num MIHP Number name Property name alternate_name Alternate property name full_address Full street address town Town name county County pdflink URL PDF MIHP form xcoord Longitude ycoord Latitude do_erecord Indicator electronic records. geometry MULTIPOLYGON geometry property/district boundaries.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"Maryland Inventory Historic Properties (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":null,"dir":"Reference","previous_headings":"","what":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"Counties boundaries Baltimore–Columbia–Towson Metropolitan Statistical Area (MSA) include Baltimore City, Baltimore County, Carroll County, Anne Arundel County, Howard County, Queen Anne's County, Harford County.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"","code":"baltimore_msa_counties"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"data frame 7 rows 13 variables: countyfp County FIPS code countyns County GNIS code geoid Unique county FIPS code (concatenation state county FIPS codes) name County name namelsad Concatenated variable length geographic area name legal/statistical area description (LSAD) lsad Legal/statistical area description (LSAD) classfp FIPS class code funcstat Functional status aland Land area (square meters) awater Water area (square meters) intptlat Latitude internal point intptlon Longitude internal point geometry MULTIPOLYGON geometry county boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_water.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","title":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","text":"Downloaded using tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_water.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","text":"","code":"baltimore_msa_water"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_water.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","text":"data frame 3,491 rows 9 variables: ansicode American National Standards Institute codes (ANSI codes) hydroid Unique key hydrographic features fullname Full name mtfcc MAF/TIGER Feature Class Code aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry POLYGON geometry water areas","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"U.S. Census Bureau explains \"Public Use Microdata Areas (PUMAs) non-overlapping, statistical geographic areas partition state equivalent entity geographic areas containing fewer 100,000 people ... Census Bureau defines PUMAs tabulation dissemination decennial census American Community Survey (ACS) Public Use Microdata Sample (PUMS) data.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"","code":"baltimore_pumas"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"data frame 5 rows 8 variables: pumace10 PUMA code geoid10 GeoID namelsad10 name translated legal/statistical area description code census tract aland10 land area (square meters) awater10 water area (square meters) intptlat10 latitude internal point intptlon10 longitude internal point geometry Polygon PUMA boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Tracts - 2020 — baltimore_tracts","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"U.S. Census Tracts Baltimore city, Maryland downloaded U.S. Census Bureau API tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"","code":"baltimore_tracts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"data frame 199 rows 9 variables: tractce census tract code geoid nation-based census tract identifier; concatenation state FIPS code, county FIPS code, census tract number name Variable length geographic area name namelsad name translated legal/statistical area description code census tract aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry Polygon tract boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Water — baltimore_water","title":"Baltimore City Water — baltimore_water","text":"Detailed MULTIPOLYGON data area streams, lakes, water bodies Baltimore City.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Water — baltimore_water","text":"","code":"baltimore_water"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Water — baltimore_water","text":"data frame 468 rows 6 variables: name Water feature name, available type Water type subtype Water subtype symbol Symbol water Water indicator acres Feature area acres geometry MULTIPOLYGON geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Water — baltimore_water","text":"https://dotgis.baltimorecity.gov/arcgis/rest/services/DOT_Map_Services/DOT_Basemap/MapServer/7","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"Locations school buildings/school programs SY 2021-2022 joined location OpenStreetMap polygons tagged \"amenity:school\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"","code":"bcps_programs"},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"data frame 164 rows 7 variables: program_name_short Program school name (short) program_number Program number osm_name OpenStreetMap name osm_id OpenStreetMap identifier type Program type category Program category grade band, e.g. E, EM, H, etc. swing_space Program located temporary swing space; logical geometry MULTIPOLYGON geometry school program location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"https://services3.arcgis.com/mbYrzb5fKcXcAMNi/ArcGIS/rest/services/SY2122_Ezones_and_Programs/FeatureServer/11","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"Baltimore City Public Schools School Zones also known School Attendance Zones.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"","code":"bcps_zones"},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"data frame 96 rows 4 variables: zone_name Program name zone appended program_number Program number program_name_short Program school name (short) type Program type category Program category grade band, e.g. E, EM, H, etc. geometry MULTIPOLYGON geometry school zone boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"https://services3.arcgis.com/mbYrzb5fKcXcAMNi/ArcGIS/rest/services/SY2122_Ezones_and_Programs/FeatureServer/15","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buffer_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Get buffered area — buffer_area","title":"Get buffered area — buffer_area","text":"function deprecated functionality incorporated improved sfext::st_buffer_ext() function uses similar set parameters. Return sf object area buffer applied . buffer distance provided, default buffer calculated one-eighth diagonal distance bounding box (corner corner) area. metadata provided area remains .","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buffer_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get buffered area — buffer_area","text":"","code":"buffer_area(area, dist = NULL, diag_ratio = NULL)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/buffer_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get buffered area — buffer_area","text":"area sf object. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buildings_21stc.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore 21st Century Schools — buildings_21stc","title":"Baltimore 21st Century Schools — buildings_21stc","text":"Buildings constructed renovated 21st Century Schools Program. See schools_21stc school-level information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buildings_21stc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore 21st Century Schools — buildings_21stc","text":"","code":"buildings_21stc"},{"path":"https://elipousson.github.io/mapbaltimore/reference/buildings_21stc.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore 21st Century Schools — buildings_21stc","text":"data frame 28 rows 20 variables: bldg_name Building name name Name (identical build name) bldg_name_short Short building name project_type Project type project_url Project URL building_occupied Building occupied year/season (scheduled occupation date) inspire_plan INSPIRE Plan inspire_plan_url INSPIRE Plan URL school_names School/program names school_names_short Short school/program names school_numbers School numbers grade_bands Schools grade bands grades_served Grades served address Street address city City state State zip Zip code lon Longitude (EPSG 4326) lat Latitude (EPSG 4326) geometry POINT geometry building locations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Cache data for mapbaltimore package — cache_baltimore_data","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"Cache data rappdirs::user_cache_dir(\"mapbaltimore\")","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"","code":"cache_baltimore_data(data = NULL, filename = NULL, overwrite = FALSE) cache_msa_streets( url = \"https://geodata.md.gov/imap/rest/services/Transportation/MD_HighwayPerformanceMonitoringSystem/MapServer/2\", filename = \"baltimore_msa_streets.gpkg\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), overwrite = FALSE ) cache_edge_of_pavement( url = \"https://gisdata.baltimorecity.gov/egis/rest/services/OpenBaltimore/Edge_of_Pavement/FeatureServer/0\", filename = \"edge_of_pavement.gpkg\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), overwrite = FALSE ) cache_baltimore_property( url = \"https://geodata.baltimorecity.gov/egis/rest/services/Housing/dmxOwnership/MapServer/0\", location = NULL, filename = \"baltimore_property.gpkg\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), overwrite = FALSE ) show_cached_files()"},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"data Data cache. filename File name use cached file. Defaults name data. data sf object make sure include file type, e.g. \"data.gpkg\", supported sf::write_sf(). data written rda readr::write_rds(). overwrite Logical. Default FALSE. TRUE, overwrite existing cached files use filename. url URL crs Coordinate reference system. location sf, sfc, bbox object (object convertible as_bbox(). Optional.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"show_cached_files() returns tibble columns: file, name file, size_MB, file size MB, modified, date time last modified","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"Use cache_msa_streets() download cache street centerline data counties Baltimore metropolitan area. Use cache_edge_of_pavement() download cache edge pavement data Baltimore city.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/chap_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"CHAP Historic Districts — chap_districts","title":"CHAP Historic Districts — chap_districts","text":"Historic districts designated Baltimore City Commission Historical Architectural Preservation (CHAP) local historic preservation office Baltimore City, Maryland. Updated 2024-09-21.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/chap_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"CHAP Historic Districts — chap_districts","text":"","code":"chap_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/chap_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"CHAP Historic Districts — chap_districts","text":"data frame 40 rows 7 variables: name Historic district name contact_name CHAP Staff contact name url URL CHAP website deed_covenant Design review required deed covenants overlaps_nr_district District also designated overlaps entirely designated National Register Historic District acres Acreage geometry MULTIPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/check_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Validate area provided to mapping or charting function. — check_area","title":"Validate area provided to mapping or charting function. — check_area","text":"Validate area mapping function another mapbaltimore function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/check_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Validate area provided to mapping or charting function. — check_area","text":"","code":"check_area(area)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/check_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Validate area provided to mapping or charting function. — check_area","text":"area sf object column named \"name.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":null,"dir":"Reference","previous_headings":"","what":"Charm City Circulator Routes — circulator_routes","title":"Charm City Circulator Routes — circulator_routes","text":"Baltimore City Department Transportation describes Charm City Circulator (CCC) \"fleet 24 free shuttles travel four routes central business district Baltimore City, Maryland.\" Harbor Connector (HC) \"extension CCC City’s free maritime transit service connecting 6 piers four vessels.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Charm City Circulator Routes — circulator_routes","text":"","code":"circulator_routes"},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Charm City Circulator Routes — circulator_routes","text":"data frame 6 rows 3 variables: route_name Route name alt_route_name Alternate route name geometry MULTILINESTRING geometry routes","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Charm City Circulator Routes — circulator_routes","text":"Baltimore CityView - Charm City Circulator Routes","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":null,"dir":"Reference","previous_headings":"","what":"Charm City Circulator and Harbor Connector Stops — circulator_stops","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"Baltimore City Department Transportation describes Charm City Circulator (CCC) \"fleet 24 free shuttles travel four routes central business district Baltimore City, Maryland.\" Harbor Connector (HC) \"extension CCC City’s free maritime transit service connecting 6 piers four vessels.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"","code":"circulator_stops"},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"data frame 111 rows 5 variables: stop_num Stop number integer stop_location Intersection location (address, intersection, landmark) corner Intersection corner route_name Route name geometry POINT geometry stop location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"Baltimore CityView - Charm City Circulator Stops","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Clip an area to a portion of the whole area — clip_area","title":"Clip an area to a portion of the whole area — clip_area","text":"function deprecated functionality incorporated improved sfext::st_clip() function uses similar set parameters. Clip based corner bounding box. Used street name location option within layer_area_streets","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Clip an area to a portion of the whole area — clip_area","text":"","code":"clip_area( area, clip = c(\"top\", \"right\", \"bottom\", \"left\", \"topright\", \"bottomright\", \"bottomleft\", \"topleft\"), flip = FALSE, edge = TRUE, edge_dist = 5 )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Clip an area to a portion of the whole area — clip_area","text":"area sf object clip clip Character string describing part area clip remove. Options include c(\"top\", \"right\", \"bottom\", \"left\", \"topright\", \"bottomright\", \"bottomleft\", \"topleft\"). NULL, area clipped full edge can returned. flip Logical. Default FALSE. TRUE, reverse select area removed, e.g. clip \"topright\" \"bottomleft\" area removed instead. edge Logical. Default TRUE. TRUE, edge clipped area returned. TRUE negative edge_dist, edges kept (center removed). TRUE positive edge_dist, full area removed buffer kept. FALSE, full clipped area returned. edge_dist Numeric. Distance meters use edge. Default 5 meters. Use negative values inside edge positive numbers outside edge.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Clip an area to a portion of the whole area — clip_area","text":"sf object clipped based parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Congressional Districts for Baltimore City — congressional_districts","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"U.S. Congressional Districts overlapping Baltimore City. Downloaded tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"","code":"congressional_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"data frame 3 rows 15 variables: statefp 2-character state FIPS code cd116fp 116th congressional district FIPS code geoid GeoID namelsad concatenated variable length geographic area name legal/statistical area description (LSAD) lsad Legal/statistical area description (LSAD) cdsessn Congressional session code mtfcc MAF/TIGER Feature Class Code (MTFCC) funcstat functional status aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point label Congressional District label name Congressional District name geometry MULTIPOLYGON geometry Congressional district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"<...>","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Council Districts — council_districts","title":"Baltimore City Council Districts — council_districts","text":"Boundaries Baltimore City Council Districts used since 2012 (following boundary revisions completed 2011 based 2010 Decennial Census).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Council Districts — council_districts","text":"","code":"council_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Council Districts — council_districts","text":"data frame 14 rows 2 variables: id Number City Council district name Name City Council district geometry MULTIPOLYGON geometry fpr Council district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Council Districts — council_districts","text":"https://geodata.baltimorecity.gov/egis/rest/services/CityView/City_Council_Districts/MapServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":null,"dir":"Reference","previous_headings":"","what":"Community Statistical Areas (2010) — csas","title":"Community Statistical Areas (2010) — csas","text":"Community Statistical Areas (CSAs) clusters neighborhoods organized around U.S. Census tract boundaries Baltimore Neighborhood Indicators Alliance. cases, CSA boundaries may cross neighborhood boundaries. 55 CSAs Baltimore City. Neighborhood lines often fall along CSA boundaries. CSAs originally created 2002 revised publication Vital Signs 10 using new 2010 Census Tract boundaries. anticipated boundary revisions 2020.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Community Statistical Areas (2010) — csas","text":"","code":"csas"},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Community Statistical Areas (2010) — csas","text":"data frame 55 rows 3 variables: id Community Statistical Area id number name Community Statistical Area name url URL BNIA-JFI webpage Community Statistical Area geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Community Statistical Areas (2010) — csas","text":"https://bniajfi.org/mapping-resources/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/erase_baltimore.html","id":null,"dir":"Reference","previous_headings":"","what":"Erase any are overlapping the geometry — erase_baltimore","title":"Erase any are overlapping the geometry — erase_baltimore","text":"Erase overlapping geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/erase_baltimore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Erase any are overlapping the geometry — erase_baltimore","text":"","code":"erase_baltimore_parks(x, ...) erase_baltimore_water(x, water = c(\"city\", \"msa\"), ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/erase_baltimore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Erase any are overlapping the geometry — erase_baltimore","text":"x sf, sfc, bbox object erase trim. ... Arguments passed sfext::st_erase flip TRUE, use sf::st_intersection() \"erase\" geometry x intersects y; FALSE use sf::st_difference() trim x y geometry, Default: FALSE. union TRUE, union y sf::st_union() applying difference/intersection; defaults TRUE. combine TRUE union = TRUE, combine y sf::st_combine() unioning. Defaults FALSE. water Type water data use, either baltimore_water baltimore_msa_water.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":null,"dir":"Reference","previous_headings":"","what":"Explore Baltimore Heritage Stories — explore_baltimore","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"table public stories Explore Baltimore Heritage website published Baltimore Heritage. text stories Explore Baltimore Heritage licensed CC 4.0 license. Updated 2023 March 29.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"","code":"explore_baltimore"},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"data frame 491 rows 10 variables: id Story identifier featured Featured indicator modified Modified date/time title Story title address Street address story location thumbnail URL thumbnail-size featured image fullsize URL full-size featured image url URL story geometry POINT story location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"https://explore.baltimoreheritage.org/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter streets — filter_streets","title":"Filter streets — filter_streets","text":"Internal function filtering streets multiple parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter streets — filter_streets","text":"","code":"filter_streets( x, sha_class = NULL, street_type = NULL, block_num = NULL, union = FALSE, bbox = NULL, call = caller_env() )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter streets — filter_streets","text":"x sf object streets filter sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\"). supported block_num Integer vector block number, e.g. 300, range block numbers (e.g. c(100, 500)) filter streets. union Logical. Default TRUE. Union geometry based fullname streets. bbox Bounding box filter passed location parameter getdata::get_location_data(). call execution environment currently running function, e.g. caller_env(). function mentioned error messages source error. See call argument abort() information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter streets — filter_streets","text":"streets filtered parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area of selected type — get_area","title":"Get area of selected type — get_area","text":"Get sf object one neighborhoods, Baltimore City Council districts, Maryland Legislative Districts, U.S. Congressional Districts, Baltimore Planning Districts, Baltimore Police Districts, Community Statistical Areas, park districts, Census blocks, block groups, tracts. Area type required can used combination area name, area id (supported data sets), location (address sf object). Name id supported U.S. Census geogrpahies. Use location parameter return areas selected type intersect specified location. get_baltimore_area() different parameter names (consistent getdata::get_location()) now recommended get_area() avoid name conflict sfext::get_area() function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area of selected type — get_area","text":"","code":"get_area( type = c(\"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\", \"block\", \"block group\", \"tract\"), area_name = NULL, area_id = NULL, location = NULL, union = FALSE, area_label = NULL ) get_baltimore_area( type = NULL, name = NULL, id = NULL, location = NULL, union = FALSE, label = NULL ) get_neighborhood(name, location = NULL, union = FALSE, ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area of selected type — get_area","text":"type Required. Area type matching one boundary datasets included mapbaltimore. Supported values include \"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\". U.S. Census geographies including \"block\", \"block group\", \"tract\" supported using location parameter . area_name name names matching id column data selected dataset. Character. area_id identifier identifiers matching id column selected dataset. supported datasets id column id may integer character depending dataset. location Location supports types values: address can geocoded using tidygeocoder::geo() sf object intersects selected area types. using sf object, CRS object must EPSG:2804. union TRUE multiple area names provided, area geometry combined sf::st_union(). Defaults FALSE. area_label Label use name area union TRUE additional label column union FALSE. union TRUE area_label provided, original area names concatenated single string. name Passed area_name get_baltimore_area() id Passed area_id get_baltimore_area() label Passed area_label get_baltimore_area() ... Additional parameters passed get_neighborhood() get_area()","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area of selected type — get_area","text":"","code":"# Get the Harwood neighborhood by name get_area( type = \"neighborhood\", area_name = \"Harwood\" ) #> Simple feature collection with 1 feature and 5 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8528544 ymin: 4767325 xmax: -8528124 ymax: 4768111 #> Projected CRS: WGS 84 / Pseudo-Mercator #> # A tibble: 1 × 6 #> name type acres osm_id wikidata geometry #> * #> 1 Harwood Residential 45.4 12752188 Q5677875 (((-8528312 4768109, -8528373 476… # Get City Council District 12 and 14 by id get_area( type = \"council district\", area_id = c(12, 14) ) #> Simple feature collection with 2 features and 2 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8531474 ymin: 4762774 xmax: -8524245 ymax: 4771257 #> Projected CRS: WGS 84 / Pseudo-Mercator #> id geometry name #> 12 14 MULTIPOLYGON (((-8529441 47... District 14 #> 13 12 MULTIPOLYGON (((-8528127 47... District 12 # Get the east and southeast planning districts and combine them get_area( type = \"planning district\", area_id = c(\"East\", \"Southeast\"), union = TRUE, area_label = \"East and Southeast Planning Districts\" ) #> Simple feature collection with 1 feature and 2 fields #> Geometry type: POLYGON #> Dimension: XY #> Bounding box: xmin: -8528420 ymin: 4761329 xmax: -8523353 ymax: 4768769 #> Projected CRS: WGS 84 / Pseudo-Mercator #> # A tibble: 1 × 3 #> name label geometry #> * #> 1 East Planning District and Southeast Planning… East… ((-8525611 4762323, -852… # Get legislative district for Walters Art Museum (600 N Charles St) get_area( type = \"legislative district\", location = \"600 N Charles St, Baltimore, MD 21201\" ) #> Error in address_to_sf(x, ...): The package \"tidygeocoder\" is required. # Get Census tracts for the Edmondson Village neighborhood get_area( type = \"tract\", location = get_area(\"neighborhood\", \"Edmondson Village\") ) #> Simple feature collection with 4 features and 8 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8537644 ymin: 4762456 xmax: -8534916 ymax: 4765683 #> Projected CRS: WGS 84 / Pseudo-Mercator #> tractce geoid name namelsad aland awater intptlat #> 1 280402 24510280402 2804.02 Census Tract 2804.02 561712 0 +39.2992263 #> 2 160801 24510160801 1608.01 Census Tract 1608.01 389703 0 +39.2980940 #> 3 160802 24510160802 1608.02 Census Tract 1608.02 1226587 0 +39.3002221 #> 4 200701 24510200701 2007.01 Census Tract 2007.01 1203683 0 +39.2900137 #> intptlon geometry #> 1 -076.6903724 MULTIPOLYGON (((-8537644 47... #> 2 -076.6840558 MULTIPOLYGON (((-8536821 47... #> 3 -076.6796308 MULTIPOLYGON (((-8537036 47... #> 4 -076.6807033 MULTIPOLYGON (((-8537028 47..."},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"get_area_911_calls() can return public records 911 calls service 2017 present year.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"","code":"get_area_911_calls( area_type = NULL, area_name = NULL, description = NULL, year = 2023, start_date = NULL, end_date = NULL, where = NULL, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"area_type Area type. Requires area_name also provided. Options include \"neighborhood\", \"council district\", \"police district\" area_name Area name. Requires area_type also provided. description String matching call description, e.g. \"DISORDERLY\", \"BURGLARY\", \"DISCHRG FIREARM\", etc. year numeric. Year calls service. Currently one year time supported (except years since 2021). NULL, oldest year start_date end_date used. start_date Character string format YYYY-MM-DD. Filters calls date. end_date Character string format YYYY-MM-DD. Filters calls date. string condition. Ignored area_type, area_name, start_date, end_date provided. ... Additional parameters passed getdata::get_esri_data() excluding url, , crs, .name_repair.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"","code":"if (FALSE) { # \\dontrun{ get_area_911_calls( area_type = \"neighborhood\", area_name = \"Downtown\", start_date = \"2022-01-01\", end_date = \"2022-01-02\", description = \"AUTO\" ) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":null,"dir":"Reference","previous_headings":"","what":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"Get BCPS programs attendance zones local area","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"","code":"get_area_bcps_programs( area, dist = NULL, diag_ratio = NULL, asp = NULL, crop = TRUE, trim = FALSE, type = c(\"all\", \"zones\", \"programs\", \"other\") )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. type Type BCPS data return. \"\" returns named list following spatial data. \"zones\" returns attendance zones, \"programs\" returns locations programs (schools) zones intersecting area (even program located outside area), \"\" returns charter schools special schools located within specified area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"Returns named list overlapping BCPS attendance zones, program locations associated zones, additional programs located within area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_census_geography.html","id":null,"dir":"Reference","previous_headings":"","what":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","title":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","text":"Return sf object U.S. Census blocks, block groups, tracts overlapping area. default, least 25% tract area 30% block group area, 50% block area must within provided area returned. Returned sf object includes new columns combined land water area Census geography, Census geography area within provided area, percent Census geography area within provided area, percent provided area within Census geography area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_census_geography.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","text":"","code":"get_area_census_geography( area, geography = c(\"block\", \"block group\", \"tract\"), area_overlap = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_census_geography.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","text":"area sf object. geography Character vector type U.S. Census area_overlap Optional. numeric value less 1 greater 0 representing physical area geography within provided area return.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area citations from Open Baltimore — get_area_citations","title":"Get area citations from Open Baltimore — get_area_citations","text":"Get Environmental Control Board (ECB) citations 2007 2021.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area citations from Open Baltimore — get_area_citations","text":"","code":"get_area_citations( area_type = NULL, area_name = NULL, description = NULL, start_date = NULL, end_date = NULL, where = \"1=1\", geometry = TRUE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area citations from Open Baltimore — get_area_citations","text":"area_type Area type. Requires area_name also provided. Options include \"neighborhood\", \"council district\", \"police district\" area_name Area name. Requires area_type also provided. description String matching description citations, e.g. \"SIGNS\" filters citations \"PROHIBITED POSTING SIGNS PUBLIC PROPERTY\" start_date Character string format YYYY-MM-DD. Filters citations violation date. end_date Character string format YYYY-MM-DD. Filters citations violation date. string condition. Ignore condition area_type area_name provided. geometry Return sf object based lat/lon. Default TRUE. Set FALSE return citations missing coordinates. crs Coordinate reference system (CRS) return. Default 2804 ... Additional parameters passed getdata::get_esri_data() excluding url, , crs, .name_repair.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area citations from Open Baltimore — get_area_citations","text":"","code":"# Get bulk trash citations for Council District 5 get_area_citations( area_type = \"council district\", area_name = \"5\", description = \"BULK TRASH\") #> ── Downloading \"ECB\" from Layer type: \"Table\" #> #> Simple feature collection with 1391 features and 30 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 424889.3 ymin: 184761.9 xmax: 430503.1 ymax: 189322.6 #> Projected CRS: NAD83(HARN) / Maryland #> # A tibble: 1,391 × 31 #> citation_no lien_code violation_date due_date agency #> * #> 1 04382735 L 2007-03-15 04:00:00 2007-04-14 04:00:00 DEPARTMENT OF … #> 2 05249719 L 2010-07-15 04:00:00 2010-08-14 04:00:00 BALTIMORE CITY… #> 3 05335070 L 2011-08-26 04:00:00 2011-09-25 04:00:00 BALTIMORE CITY… #> 4 50005016 L 2007-05-29 04:00:00 2007-06-28 04:00:00 DEPARTMENT OF … #> 5 50053941 L 2007-08-01 04:00:00 2007-08-31 04:00:00 DEPARTMENT OF … #> 6 50116920 L 2007-10-10 04:00:00 2007-11-09 05:00:00 DEPARTMENT OF … #> 7 50263862 L 2008-03-27 04:00:00 2008-04-26 04:00:00 DEPARTMENT OF … #> 8 50436708 L 2008-09-17 04:00:00 2008-10-17 04:00:00 DEPARTMENT OF … #> 9 50493634 L 2008-11-12 05:00:00 2008-12-12 05:00:00 DEPARTMENT OF … #> 10 50520915 L 2008-12-03 05:00:00 2009-01-02 05:00:00 DEPARTMENT OF … #> # ℹ 1,381 more rows #> # ℹ 26 more variables: fine_amount , description , balance , #> # last_paid_date , last_paid_amount , hearing_date , #> # hearing_request_received_date , citation_status , #> # violation_code_article , violation_code_section , #> # violation_location , block , lot , officer_id , #> # officer_presence_requested , hearing_status , hear_time , …"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crashes.html","id":null,"dir":"Reference","previous_headings":"","what":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","title":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","text":"function deprecated functionality incorporated improved mapmaryland::get_md_crash_data() function uses similar set parameters. Get vehicle crashes selected area Baltimore City.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crashes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","text":"","code":"get_area_crashes( area, start_year = 2020, end_year = 2020, geometry = FALSE, trim = FALSE, type = c(\"crash\", \"person\", \"vehicle\") )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crashes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","text":"area sf object. start_year earliest year crash data return. Default 2020. end_year latest year crash data return. end_year provided, single year returned. Default 2020. geometry TRUE, return sf object. Default FALSE. trim TRUE, data trimmed area sf::st_intersection(). Default FALSE. type Data type return. Options include c(\"crash\", \"person\", \"vehicle\"). Data types correspond different tables. 'person', age crash column added based accident date date birth columns (removing suspected placeholder values).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area crimes from Open Baltimore — get_area_crime","title":"Get area crimes from Open Baltimore — get_area_crime","text":"Get reported crimes since 2014 specific area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area crimes from Open Baltimore — get_area_crime","text":"","code":"get_area_crime( area, description = NULL, date_range = NULL, where = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, unit = \"m\", trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area crimes from Open Baltimore — get_area_crime","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). description Crime type description. Supported options include \"AGG. ASSAULT\", \"ARSON\", \"AUTO THEFT\", \"BURGLARY\", \"COMMON ASSAULT\", \"HOMICIDE\", \"LARCENY\", \"LARCENY AUTO\", \"RAPE\", \"ROBBERY - CARJACKING\", \"ROBBERY - COMMERCIAL\", \"ROBBERY - RESIDENCE\", \"ROBBERY - STREET\", \"SHOOTING\". case sensitive. date_range Date range character vector format c(\"YYYY-MM-DD\", \"YYYY-MM-DD\"). Minimum maximum values used length greater 1. query string passed esri2sf, Default: NULL dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" trim TRUE, x trimmed y st_trim(). crs Cordinate reference system return, Default: 4326 sf_to_df() NULL df_to_sf().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area crimes from Open Baltimore — get_area_crime","text":"","code":"if (FALSE) { # \\dontrun{ # Get shootings for the Lauraville area area <- get_area(\"neighborhood\", \"Barclay\") crimes <- get_area_crime( area = area, date_range = c(\"2022-01-01\", \"2022-12-31\"), description = \"SHOOTING\" ) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get local or cached data for an area — get_area_data","title":"Get local or cached data for an area — get_area_data","text":"Returns data selected area areas optional buffer. crop trim FALSE, function uses sf::st_intersects() filter data include full geometry anything overlaps area bbox (area provided).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get local or cached data for an area — get_area_data","text":"","code":"get_area_data( area = NULL, bbox = NULL, data = NULL, extdata = NULL, cachedata = NULL, path = NULL, url = NULL, fn = NULL, diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get local or cached data for an area — get_area_data","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. data sf object including data area extdata Character. Name external geopackage (.gpkg) file included package selected data available. Available data includes \"trees\", \"unimproved_property\", \"vegetated_area\" cachedata Character. Name cached geopackage (.gpkg) file selected data available. Running cache_mapbaltimore_data() caches data \"real_property\", \"baltimore_msa_streets\", \"edge_of_pavement\" path Character. Path local remote spatial data file supported sf::st_read() url Character. URL FeatureServer MapServer layer pass get_area_esri_data. fn Function apply area data returning. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_esri_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","title":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","text":"function deprecated functionality incorporated improved getdata::get_esri_data() function uses similar set parameters. Wraps esri2sf::esri2sf() function download ArcGIS FeatureServer MapServer.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_esri_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","text":"","code":"get_area_esri_data( area = NULL, bbox = NULL, url = NULL, where = \"1=1\", type = c(\"md food stores 2017 2018\", \"farmers markets 2020\", \"baltimore food stores 2016\", \"baltimore demolitions\", \"contour 2ft\", \"contours 10ft\", \"open vacant building notices\", \"liquor licenses\", \"fixed speed cameras\", \"red light cameras\", \"edge of pavement\"), dist = NULL, diag_ratio = NULL, asp = NULL, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_esri_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","text":"area sf object. Optional. used trim TRUE. bbox bbox object. Optional suggested avoid downloading entire layer. See sf::st_bbox() information. url FeatureServer MapServer url retrieve data . Passed url parameter esri2sf::esri2sf() function. string condition. Default 1=1 rows. type Type data get. Options include \"md food stores 2017 2018\", \"farmers markets 2020\", \"baltimore food stores 2016\", \"baltimore demolitions\", \"contour 2ft\", \"contours 10ft\", \"open vacant building notices\", \"liquor licenses\", \"fixed speed cameras\", \"red light cameras\", \"edge pavement\" dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim Logical. Default FALSE. TRUE, area required. crs Coordinate reference system. Default 2804.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_osm_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Open Street Map features for area — get_area_osm_data","title":"Get Open Street Map features for area — get_area_osm_data","text":"function deprecated functionality incorporated improved getdata::get_osm_data() function uses similar set parameters. Wraps osmdata functions.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_osm_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Open Street Map features for area — get_area_osm_data","text":"","code":"get_area_osm_data( area = NULL, bbox = NULL, key, value = NULL, return_type = c(\"osm_polygons\", \"osm_points\", \"osm_lines\", \"osm_multilines\", \"osm_multipolygons\"), dist = NULL, diag_ratio = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_osm_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Open Street Map features for area — get_area_osm_data","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object buffer /adjust. area provided, bbox ignored. key feature key overpass query. key \"building\" value NULL, preset list tag values used return available buildings bounding box. value feature key; can negated initial exclamation mark, value = \"!\", can also vector, value = c (\"\", \"\"). return_type Character vector length 1 geometry type return. Defaults returningpolygons. Set NULL return types. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop Logical. Default TRUE. TRUE, use sf::st_crop() trim results area bounding box. trim Logical. Default FALSE. TRUE, use sf::st_intersection() function trim results area polygon. crs EPSG code coordinate reference system plot. Default 2804. See https://epsg.io/ information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_permits.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area building permits from Open Baltimore — get_area_permits","title":"Get area building permits from Open Baltimore — get_area_permits","text":"Get building permits 2019 present.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_permits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area building permits from Open Baltimore — get_area_permits","text":"","code":"get_area_permits( area, year = 2022, date_range = NULL, permit_type = NULL, where = NULL, dist = NULL, diag_ratio = NULL, unit = \"m\", asp = NULL, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_permits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area building permits from Open Baltimore — get_area_permits","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). year Year. Must 2019 later. date_range Date range character vector format c(\"YYYY-MM-DD\", \"YYYY-MM-DD\"). Minimum maximum values used length greater 1. permit_type Optional. Supported values include \"USE\", \"DEM\", \"COM\", \"BMZ\". string condition. permit_type year ignored custom provided. Set \"1=1\" return data years since 2019. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. trim TRUE, x trimmed y st_trim(). crs Cordinate reference system return, Default: 4326 sf_to_df() NULL df_to_sf(). ... Additional parameters passed getdata::get_esri_data().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":null,"dir":"Reference","previous_headings":"","what":"Get real property data — get_area_property","title":"Get real property data — get_area_property","text":"Get showing parcels described owner occupied, non-owner occupied, vacant, unimproved. Real property parcel data Maryland State Department Assessment Taxation may include errors.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get real property data — get_area_property","text":"","code":"get_area_property( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, unit = \"m\", asp = NULL, crop = TRUE, trim = FALSE, cache = FALSE, filename = NULL, overwrite = FALSE, ... ) format_property_data(data)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get real property data — get_area_property","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. cache TRUE, cache data mapbaltimore cache folder. Defaults FALSE. filename File name use cached file. Defaults name data. data sf object make sure include file type, e.g. \"data.gpkg\", supported sf::write_sf(). data written rda readr::write_rds(). overwrite Logical. Default FALSE. TRUE, overwrite existing cached files use filename. ... Additional parameters passed getdata::get_esri_data(). data sf object including data area","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get real property data — get_area_property","text":"","code":"get_area_property( area = neighborhoods[1, ], dist = -150, unit = \"m\" ) #> ── Downloading \"Property Information\" from Layer type: \"Feature Layer\" #> Geometry type: \"esriGeometryPolygon\" #> Service CRS: \"EPSG:2248\" #> Output CRS: \"EPSG:3857\" #> #> Simple feature collection with 94 features and 86 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8528406 ymin: 4768303 xmax: -8528315 ymax: 4768626 #> Projected CRS: WGS 84 / Pseudo-Mercator #> First 10 features: #> objectid pin pinrelate blocklot block lot ward section assessor taxbase #> 1 126089 3857A001 3857A001 3857A001 3857A 001 12 200 331 199533 #> 2 126090 3857A002 3857A002 3857A002 3857A 002 12 200 331 183333 #> 3 126091 3857A003 3857A003 3857A003 3857A 003 12 200 331 193300 #> 4 126092 3857A004 3857A004 3857A004 3857A 004 12 200 331 183333 #> 5 126093 3857A005 3857A005 3857A005 3857A 005 12 200 331 183333 #> 6 126094 3857A006 3857A006 3857A006 3857A 006 12 200 331 186033 #> 7 126095 3857A007 3857A007 3857A007 3857A 007 12 200 331 185733 #> 8 126096 3857A008 3857A008 3857A008 3857A 008 12 200 331 186300 #> 9 126097 3857A009 3857A009 3857A009 3857A 009 12 200 331 204967 #> 10 126098 3857A010 3857A010 3857A010 3857A 010 12 200 331 311533 #> bfcvland bfcvimpr landexmp imprexmp citycred statcred ccredamt scredamt #> 1 NA 100200 0 0 0 0 764.58 0 #> 2 NA 86600 0 0 0 0 70.54 0 #> 3 NA 96900 0 0 0 0 44.17 0 #> 4 NA 86600 0 0 0 0 540.44 0 #> 5 NA 86600 0 0 0 0 0.00 0 #> 6 NA 88900 0 0 0 0 75.33 0 #> 7 NA 88600 0 0 0 0 0.00 0 #> 8 NA 89100 0 0 0 0 0.00 0 #> 9 NA 106700 0 0 0 0 68.15 0 #> 10 NA 196600 0 0 0 0 277.89 0 #> permhome assesgrp lot_size no_imprv currland currimpr exmpland exmpimpr #> 1 H 2 16X100 N 80000 129200 0 0 #> 2 H 2 15-6X100 N 80000 111700 0 0 #> 3 H 2 15-6X100 N 80000 121500 0 0 #> 4 H 2 15-6X100 N 80000 111700 0 0 #> 5 N 2 15-6X100 N 80000 111700 0 0 #> 6 H 2 15-6X100 N 80000 114600 0 0 #> 7 N 2 15-6X100 N 80000 114300 0 0 #> 8 H 2 15-6X100 N 80000 114900 0 0 #> 9 H 2 15-6X100 N 80000 134100 0 0 #> 10 H 2 15-6X100 N 80000 249000 0 0 #> fullcash exmptype exmpcode usegroup zoning sdatcode artaxbas distswch #> 1 0 00 R R-7 11130 199533 Y #> 2 0 00 R R-7 11130 183333 Y #> 3 0 00 R R-7 11130 193300 Y #> 4 0 00 R R-7 11130 183333 Y #> 5 0 00 R R-7 11130 183333 Y #> 6 0 00 R R-7 11130 186033 Y #> 7 0 00 R R-7 11130 185733 Y #> 8 0 00 R R-7 11130 186300 Y #> 9 0 00 R R-7 11130 204967 Y #> 10 0 00 R R-7 11130 311533 Y #> dist_id statetax city_tax ar_owner deedbook deedpage sale_date owner_abbr #> 1 3 223.48 4485.50 H PMB07553 0345 07301998 NA #> 2 3 205.33 4121.33 H FMC12730 0091 06232010 NA #> 3 3 216.50 4345.38 H XAC27165 0252 08292024 NA #> 4 3 205.33 4121.33 H FMC08531 0007 06141999 NA #> 5 3 205.33 4121.33 N MB 23382 0004 07132021 NA #> 6 3 208.36 4182.02 H FMC13489 0411 05102011 NA #> 7 3 208.02 4175.28 N FMC01494 0462 06272001 NA #> 8 3 208.66 4188.02 H MB 25364 0420 12092022 NA #> 9 3 229.56 4607.66 H MB 19079 0214 04242017 NA #> 10 3 348.92 7003.26 H MB 24554 0081 05022022 NA #> owner_1 owner_2 owner_3 full_address #> 1 WEINSTEIN, MATTHEW KESSLER, LAURA T 3001 ABELL AVE #> 2 WEBER, JESSICA 3003 ABELL AVE #> 3 HALL, LAURA COOPER 3005 ABELL AVE #> 4 MOORE, BETTY A 3007 ABELL AVE #> 5 WESOLVE54 LLC 3009 ABELL AVE #> 6 WALSH, EAMON F 3011 ABELL AVE #> 7 JACKSON, MARGARET A. 3013 ABELL AVE #> 8 BERGER, MAX DODSON, KIMBERLY 3015 ABELL AVE #> 9 ADAMS, KEITH ADAMS, NAOMI 3017 ABELL AVE #> 10 EMBRY, JULIA M 3019 ABELL AVE #> street_dir_prefix street_name street_type bldg_num fraction unit_num #> 1 ABELL AVE 3001 #> 2 ABELL AVE 3003 #> 3 ABELL AVE 3005 #> 4 ABELL AVE 3007 #> 5 ABELL AVE 3009 #> 6 ABELL AVE 3011 #> 7 ABELL AVE 3013 #> 8 ABELL AVE 3015 #> 9 ABELL AVE 3017 #> 10 ABELL AVE 3019 #> span_num spanfrac zip_code zip_code_ext dhcd_use dhcduse2 dhcduse3 dhcduse4 #> 1 0 21218 3913 1008 0000 0000 0000 #> 2 0 21218 3913 1008 0000 0000 0000 #> 3 0 21218 3913 1008 0000 0000 0000 #> 4 0 21218 3913 1008 0000 0000 0000 #> 5 0 21218 3913 1008 0000 0000 0000 #> 6 0 21218 3913 1008 0000 0000 0000 #> 7 0 21218 3913 1008 0000 0000 0000 #> 8 0 21218 3913 1008 0000 0000 0000 #> 9 0 21218 3913 1008 0000 0000 0000 #> 10 0 21218 3913 1008 0000 0000 0000 #> dwelunit eff_unit roomunit rpdeltag agency sale_price propdesc neighborhood #> 1 1 0 0 79000 ABELL #> 2 1 0 0 215000 ABELL #> 3 1 0 0 380000 ABELL #> 4 1 0 0 62000 ABELL #> 5 1 0 0 50000 ABELL #> 6 1 0 0 135000 ABELL #> 7 1 0 0 0 ABELL #> 8 1 0 0 250000 ABELL #> 9 1 0 0 260000 ABELL #> 10 1 0 0 325000 ABELL #> srvccntr year_built structarea ldate ownmde grndrent subtype_geodb #> 1 5 1900 1900 10272024 F 0 1 #> 2 5 1900 1654 10272024 F 0 1 #> 3 5 1900 1654 10272024 F 0 1 #> 4 5 1900 1654 10272024 L 90 1 #> 5 5 1900 1654 10272024 F 0 1 #> 6 5 1900 1654 10272024 L 90 1 #> 7 5 1900 1654 10272024 L 90 1 #> 8 5 1900 1654 10272024 F 0 1 #> 9 5 1900 1654 10272024 L 78 1 #> 10 5 1900 1654 10272024 F 0 1 #> sdatlink #> 1 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=001 #> 2 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=002 #> 3 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=003 #> 4 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=004 #> 5 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=005 #> 6 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=006 #> 7 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=007 #> 8 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=008 #> 9 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=009 #> 10 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=010 #> blockplat #> 1 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 2 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 3 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 4 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 5 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 6 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 7 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 8 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 9 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 10 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> mailtoadd vacind shape_st_area #> 1 3001 ABELL AVE, 21218 N 1509.458 #> 2 3003 ABELL AVE, 21218 N 1509.907 #> 3 3005 ABELL AVE, 21218 N 1634.483 #> 4 3007 ABELL AVE, 21218 N 1567.804 #> 5 8221 PLEASANT PLAINTS RD, 21286 N 1557.152 #> 6 1560 FALLING BROOK CT ODENTON, MD, 21113 N 1481.055 #> 7 950 SHOREPOINT CT #202 ALAMEDA, CA, 94501 N 1561.153 #> 8 3015 ABELL AVE, 21218 N 1517.061 #> 9 3017 ABELL AVE, 21218 N 1631.357 #> 10 3019 ABELL AVE, 21218 N 1549.852 #> shape_st_length block_num bldg_num_even_odd block_number_st vacant_lot #> 1 231.0690 3000 Odd 3000 ABELL AVE FALSE #> 2 231.0577 3000 Odd 3000 ABELL AVE FALSE #> 3 233.5516 3000 Odd 3000 ABELL AVE FALSE #> 4 232.2099 3000 Odd 3000 ABELL AVE FALSE #> 5 232.0083 3000 Odd 3000 ABELL AVE FALSE #> 6 230.4667 3000 Odd 3000 ABELL AVE FALSE #> 7 232.0692 3000 Odd 3000 ABELL AVE FALSE #> 8 231.1979 3000 Odd 3000 ABELL AVE FALSE #> 9 233.4605 3000 Odd 3000 ABELL AVE FALSE #> 10 231.8600 3000 Odd 3000 ABELL AVE FALSE #> vacant_bldg geometry #> 1 FALSE MULTIPOLYGON (((-8528392 47... #> 2 FALSE MULTIPOLYGON (((-8528352 47... #> 3 FALSE MULTIPOLYGON (((-8528353 47... #> 4 FALSE MULTIPOLYGON (((-8528353 47... #> 5 FALSE MULTIPOLYGON (((-8528353 47... #> 6 FALSE MULTIPOLYGON (((-8528353 47... #> 7 FALSE MULTIPOLYGON (((-8528354 47... #> 8 FALSE MULTIPOLYGON (((-8528354 47... #> 9 FALSE MULTIPOLYGON (((-8528354 47... #> 10 FALSE MULTIPOLYGON (((-8528354 47..."},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area 311 service requests from Open Baltimore — get_area_requests","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"Get 311 service requests specific area. Service requests 2017 2020 area available single year can requested time. Duplicate requests removed returned data. Requests can filtered request type, responsible city agency, . can return multiple types agencies, using custom query parameter calling type/agency separately.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"","code":"get_area_requests( area = NULL, year = 2022, date_range = NULL, request_type = NULL, agency = NULL, where = NULL, dist = NULL, diag_ratio = NULL, unit = \"m\", asp = NULL, trim = FALSE, geometry = TRUE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), duplicates = FALSE, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). year Year service requests. Default 2021. 2017 2022 supported. date_range Date range character vector format c(\"YYYY-MM-DD\", \"YYYY-MM-DD\"). Minimum maximum values used length greater 1. request_type Service request type. agency City agency responsible request. Options include \"Transportation\", \"BGE\", \"Solid Waste\", \"Housing\", \"Water Wastewater\", \"Health\", \"Call Center\", \"Finance\", \"Liquor Board\", \"Recreation & Parks\", \"Fire Department\", \"Parking Authority\", \"General Services\" string condition. parameter ignored request_type agency provided. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. trim TRUE, x trimmed y st_trim(). geometry Default TRUE. FALSE, return requests missing latitude/longitude (years prior 2021 ). crs Cordinate reference system return, Default: 4326 sf_to_df() NULL df_to_sf(). duplicates TRUE, return 311 service requests marked \"Duplicate\". FALSE, filter duplicate requests results. ... Arguments passed esri2sf::esri2sf outFields vector fields want include. default NULL fields. replaceDomainInfo TRUE, add domain information return data frame. Default FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"","code":"# Get boundary for Edmondson Village area <- get_area(\"neighborhood\", \"Edmondson Village\") # Get fallen limb requests for 2022 get_area_requests( area = area, date_range = c(\"2022-11-01\", \"2022-12-31\"), request_type = \"FOR-Fallen Limb\" ) #> ── Downloading \"Customer_Service_Request311_2021_Present\" from Layer type: \"Feature Layer\" #> Geometry type: \"esriGeometryPoint\" #> Service CRS: \"EPSG:2248\" #> Output CRS: \"EPSG:2804\" #> #> Simple feature collection with 3 features and 21 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 426988.6 ymin: 181491.5 xmax: 427213.4 ymax: 181615.3 #> Projected CRS: NAD83(HARN) / Maryland #> service_request_num sr_type method_received created_date #> 1 22-00893386 FOR-Fallen Limb Phone 2022-11-11 18:16:36 #> 2 22-00926488 FOR-Fallen Limb Phone 2022-11-27 14:20:02 #> 3 22-00990947 FOR-Fallen Limb Phone 2022-12-23 11:36:22 #> sr_status sr_status_url #> 1 Closed https://balt311.baltimorecity.gov/citizen/requests/22-00893386 #> 2 Closed https://balt311.baltimorecity.gov/citizen/requests/22-00926488 #> 3 Closed https://balt311.baltimorecity.gov/citizen/requests/22-00990947 #> status_date due_date close_date #> 1 2022-11-14 09:36:55 2022-11-14 18:16:36 2022-11-14 09:36:55 #> 2 2023-01-11 06:04:40 2022-11-28 14:20:02 2023-01-11 06:04:40 #> 3 2023-04-21 18:28:49 2022-12-26 11:36:21 2023-04-21 18:28:49 #> agency last_activity #> 1 Recreation & Parks Service Response #> 2 Recreation & Parks Service Response #> 3 Recreation & Parks Service Response #> last_activity_date outcome #> 1 2022-11-14 09:36:55 SR closed by agency-specific work management system #> 2 2023-01-11 06:04:40 SR closed by agency-specific work management system #> 3 2023-04-21 18:28:49 SR closed by agency-specific work management system #> days_to_close address zip_code neighborhood #> 1 2.64 1303 N WOODINGTON RD 21229 Edmondson Village #> 2 44.66 1309 N WOODINGTON RD 21229 Edmondson Village #> 3 119.29 4114 MOUNTWOOD RD 21229 Edmondson Village #> council_district police_district latitude longitude geometry #> 1 8 Southwestern 39.30233 -76.68711 POINT (426988.6 181615.3) #> 2 8 Southwestern 39.30230 -76.68657 POINT (427034.9 181612.2) #> 3 8 Southwestern 39.30121 -76.68450 POINT (427213.4 181491.5) # Get dirty alley service requests for multiple years using purrr::map_dfr() purrr::list_rbind( purrr::map( c(2021, 2020), ~ get_area_requests( area = area, year = .x, request_type = \"SW-Dirty Alley\" ) ) ) #> ── Downloading \"Customer_Service_Request311_2021_Present\" from Layer type: \"Feature Layer\" #> Geometry type: \"esriGeometryPoint\" #> Service CRS: \"EPSG:2248\" #> Output CRS: \"EPSG:2804\" #> #> ℹ Removing 1 duplicate 311 service request. #> ── Downloading \"311_Customer_Service_Requests_2020.csv\" from Layer type: \"Table\" #> #> ℹ Removing 5 duplicate 311 service requests. #> service_request_num sr_type method_received created_date #> 1 21-00053788 SW-Dirty Alley Phone 2021-01-22 08:07:54 #> 2 21-00059271 SW-Dirty Alley Phone 2021-01-24 16:54:01 #> 3 21-00051584 SW-Dirty Alley API 2021-01-21 13:36:09 #> 4 21-00107202 SW-Dirty Alley Phone 2021-02-12 08:57:40 #> 5 21-00110903 SW-Dirty Alley Phone 2021-02-13 10:44:24 #> 6 21-00115345 SW-Dirty Alley API 2021-02-15 11:46:25 #> 7 21-00142040 SW-Dirty Alley Phone 2021-02-24 14:37:26 #> 8 21-00062237 SW-Dirty Alley Phone 2021-01-25 15:55:46 #> 9 21-00139354 SW-Dirty Alley API 2021-02-23 22:06:52 #> 10 21-00070593 SW-Dirty Alley System 2021-01-28 13:57:46 #> 11 21-00100906 SW-Dirty Alley API 2021-02-10 08:01:58 #> 12 21-00153184 SW-Dirty Alley API 2021-02-28 12:44:37 #> 13 21-00155352 SW-Dirty Alley API 2021-03-01 12:38:49 #> 14 21-00159174 SW-Dirty Alley API 2021-03-02 13:45:11 #> 15 21-00172421 SW-Dirty Alley API 2021-03-07 16:09:48 #> 16 21-00185891 SW-Dirty Alley Phone 2021-03-11 16:08:06 #> 17 21-00204853 SW-Dirty Alley Phone 2021-03-18 17:11:50 #> 18 21-00215385 SW-Dirty Alley Phone 2021-03-23 11:48:32 #> 19 21-00245245 SW-Dirty Alley API 2021-04-03 17:09:57 #> 20 21-00245269 SW-Dirty Alley API 2021-04-03 17:21:35 #> 21 21-00248633 SW-Dirty Alley API 2021-04-05 16:20:02 #> 22 21-00262746 SW-Dirty Alley Phone 2021-04-09 16:27:50 #> 23 21-00254836 SW-Dirty Alley Phone 2021-04-07 13:28:43 #> 24 21-00279074 SW-Dirty Alley System 2021-04-15 16:01:26 #> 25 21-00307201 SW-Dirty Alley System 2021-04-26 13:55:37 #> 26 21-00323235 SW-Dirty Alley Phone 2021-05-01 09:30:44 #> 27 21-00357914 SW-Dirty Alley API 2021-05-13 12:31:49 #> 28 21-00383219 SW-Dirty Alley Phone 2021-05-21 15:15:30 #> 29 21-00383184 SW-Dirty Alley Phone 2021-05-21 15:12:51 #> 30 21-00383142 SW-Dirty Alley Phone 2021-05-21 15:09:15 #> 31 21-00383160 SW-Dirty Alley Phone 2021-05-21 15:10:28 #> 32 21-00383210 SW-Dirty Alley Phone 2021-05-21 15:14:26 #> 33 21-00383863 SW-Dirty Alley Phone 2021-05-21 19:21:21 #> 34 21-00382017 SW-Dirty Alley Phone 2021-05-21 11:12:17 #> 35 21-00396283 SW-Dirty Alley API 2021-05-26 15:05:24 #> 36 21-00406083 SW-Dirty Alley Phone 2021-05-30 12:44:57 #> 37 21-00424359 SW-Dirty Alley API 2021-06-06 13:09:04 #> 38 21-00456861 SW-Dirty Alley Phone 2021-06-17 11:19:24 #> 39 21-00468460 SW-Dirty Alley Phone 2021-06-22 11:44:24 #> 40 21-00460319 SW-Dirty Alley Phone 2021-06-18 13:11:34 #> 41 21-00498057 SW-Dirty Alley Phone 2021-07-02 11:04:07 #> 42 21-00500273 SW-Dirty Alley Phone 2021-07-02 18:48:40 #> 43 21-00518225 SW-Dirty Alley Phone 2021-07-09 15:28:32 #> 44 21-00526294 SW-Dirty Alley Phone 2021-07-13 11:11:08 #> 45 21-00544733 SW-Dirty Alley Phone 2021-07-19 17:37:31 #> 46 21-00602168 SW-Dirty Alley Phone 2021-08-09 14:43:25 #> 47 21-00653598 SW-Dirty Alley Phone 2021-08-26 15:57:45 #> 48 21-00679949 SW-Dirty Alley API 2021-09-06 07:29:58 #> 49 21-00704816 SW-Dirty Alley API 2021-09-15 11:44:24 #> 50 21-00742844 SW-Dirty Alley Phone 2021-09-28 18:49:15 #> 51 21-00759532 SW-Dirty Alley Phone 2021-10-01 13:05:37 #> 52 21-00785583 SW-Dirty Alley Phone 2021-10-11 10:52:18 #> 53 21-00775404 SW-Dirty Alley Phone 2021-10-07 09:35:42 #> 54 21-00718065 SW-Dirty Alley Phone 2021-09-20 10:06:08 #> 55 21-00729023 SW-Dirty Alley Phone 2021-09-23 12:37:19 #> 56 21-00720343 SW-Dirty Alley Phone 2021-09-20 19:26:57 #> 57 21-00731337 SW-Dirty Alley Phone 2021-09-24 09:41:59 #> 58 21-00725990 SW-Dirty Alley Phone 2021-09-22 13:00:02 #> 59 21-00725995 SW-Dirty Alley Phone 2021-09-22 13:01:30 #> 60 21-00726393 SW-Dirty Alley Phone 2021-09-22 14:46:02 #> 61 21-00834537 SW-Dirty Alley API 2021-10-28 13:40:39 #> 62 21-00853412 SW-Dirty Alley Phone 2021-11-04 15:15:30 #> 63 21-00866979 SW-Dirty Alley Phone 2021-11-09 16:07:05 #> 64 21-00888749 SW-Dirty Alley Phone 2021-11-17 14:57:40 #> 65 21-00896245 SW-Dirty Alley Phone 2021-11-20 11:44:50 #> 66 21-00924055 SW-Dirty Alley Phone 2021-12-02 15:38:46 #> 67 21-00928778 SW-Dirty Alley Phone 2021-12-04 13:01:24 #> 68 21-00941216 SW-Dirty Alley Phone 2021-12-08 14:50:21 #> 69 21-00941211 SW-Dirty Alley Phone 2021-12-08 14:49:14 #> 70 21-00944073 SW-Dirty Alley Phone 2021-12-09 13:50:59 #> 71 21-00948827 SW-Dirty Alley Phone 2021-12-11 09:53:47 #> 72 21-00948939 SW-Dirty Alley Phone 2021-12-11 10:54:17 #> 73 21-00969415 SW-Dirty Alley Phone 2021-12-20 08:44:52 #> 74 21-00975849 SW-Dirty Alley Phone 2021-12-22 13:46:20 #> 75 20-00009981 SW-Dirty Alley API 2020-01-06 22:34:50 #> 76 20-00042742 SW-Dirty Alley API 2020-01-23 14:19:56 #> 77 20-00108512 SW-Dirty Alley API 2020-02-23 18:13:18 #> 78 20-00143990 SW-Dirty Alley Phone 2020-03-11 10:04:25 #> 79 20-00150539 SW-Dirty Alley Phone 2020-03-13 14:26:56 #> 80 20-00186619 SW-Dirty Alley Phone 2020-03-24 10:56:30 #> 81 20-00242451 SW-Dirty Alley Phone 2020-04-28 13:29:55 #> 82 20-00256369 SW-Dirty Alley Phone 2020-05-06 10:43:39 #> 83 20-00256372 SW-Dirty Alley Phone 2020-05-06 10:45:18 #> 84 20-00217790 SW-Dirty Alley Phone 2020-04-13 09:58:47 #> 85 20-00292887 SW-Dirty Alley Phone 2020-05-26 13:56:24 #> 86 20-00378707 SW-Dirty Alley Phone 2020-06-23 13:56:29 #> 87 20-00395207 SW-Dirty Alley Phone 2020-06-29 14:55:17 #> 88 20-00411382 SW-Dirty Alley Phone 2020-07-03 15:58:51 #> 89 20-00411388 SW-Dirty Alley Phone 2020-07-03 16:00:39 #> 90 20-00398279 SW-Dirty Alley Phone 2020-06-30 12:24:50 #> 91 20-00401125 SW-Dirty Alley Phone 2020-07-01 08:47:37 #> 92 20-00491791 SW-Dirty Alley Phone 2020-07-30 15:23:40 #> 93 20-00513600 SW-Dirty Alley Phone 2020-08-06 15:34:03 #> 94 20-00514119 SW-Dirty Alley Phone 2020-08-06 17:35:16 #> 95 20-00537804 SW-Dirty Alley Phone 2020-08-13 12:24:51 #> 96 20-00591674 SW-Dirty Alley Phone 2020-08-28 19:40:12 #> 97 20-00719585 SW-Dirty Alley API 2020-10-21 09:57:04 #> 98 20-00726802 SW-Dirty Alley Phone 2020-10-23 14:32:42 #> 99 20-00727366 SW-Dirty Alley System 2020-10-23 16:50:09 #> 100 20-00620137 SW-Dirty Alley System 2020-09-09 15:15:37 #> 101 20-00654874 SW-Dirty Alley Phone 2020-09-23 13:24:00 #> 102 20-00666611 SW-Dirty Alley Phone 2020-09-28 15:36:16 #> 103 20-00671377 SW-Dirty Alley Phone 2020-09-30 10:41:15 #> 104 20-00737190 SW-Dirty Alley System 2020-10-28 14:04:29 #> 105 20-00737717 SW-Dirty Alley Phone 2020-10-28 15:48:26 #> 106 20-00753204 SW-Dirty Alley Phone 2020-11-04 16:18:19 #> 107 20-00772383 SW-Dirty Alley Phone 2020-11-13 10:22:32 #> 108 20-00781524 SW-Dirty Alley System 2020-11-17 14:55:45 #> 109 20-00792799 SW-Dirty Alley System 2020-11-23 12:28:03 #> 110 20-00795660 SW-Dirty Alley Phone 2020-11-24 11:05:21 #> 111 20-00798839 SW-Dirty Alley Phone 2020-11-25 10:25:36 #> 112 20-00815065 SW-Dirty Alley Phone 2020-12-03 10:54:41 #> 113 20-00823021 SW-Dirty Alley Phone 2020-12-07 11:17:21 #> 114 20-00834142 SW-Dirty Alley Phone 2020-12-10 15:48:34 #> 115 20-00842211 SW-Dirty Alley Phone 2020-12-14 14:54:29 #> 116 20-00842218 SW-Dirty Alley Phone 2020-12-14 14:55:32 #> 117 20-00842367 SW-Dirty Alley System 2020-12-14 15:37:14 #> 118 20-00847742 SW-Dirty Alley Phone 2020-12-16 09:21:20 #> sr_status sr_status_url #> 1 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00053788 #> 2 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00059271 #> 3 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00051584 #> 4 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00107202 #> 5 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00110903 #> 6 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00115345 #> 7 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00142040 #> 8 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00062237 #> 9 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00139354 #> 10 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00070593 #> 11 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00100906 #> 12 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00153184 #> 13 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00155352 #> 14 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00159174 #> 15 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00172421 #> 16 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00185891 #> 17 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00204853 #> 18 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00215385 #> 19 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00245245 #> 20 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00245269 #> 21 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00248633 #> 22 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00262746 #> 23 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00254836 #> 24 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00279074 #> 25 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00307201 #> 26 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00323235 #> 27 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00357914 #> 28 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383219 #> 29 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383184 #> 30 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383142 #> 31 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383160 #> 32 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383210 #> 33 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383863 #> 34 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00382017 #> 35 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00396283 #> 36 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00406083 #> 37 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00424359 #> 38 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00456861 #> 39 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00468460 #> 40 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00460319 #> 41 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00498057 #> 42 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00500273 #> 43 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00518225 #> 44 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00526294 #> 45 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00544733 #> 46 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00602168 #> 47 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00653598 #> 48 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00679949 #> 49 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00704816 #> 50 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00742844 #> 51 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00759532 #> 52 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00785583 #> 53 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00775404 #> 54 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00718065 #> 55 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00729023 #> 56 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00720343 #> 57 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00731337 #> 58 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00725990 #> 59 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00725995 #> 60 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00726393 #> 61 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00834537 #> 62 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00853412 #> 63 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00866979 #> 64 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00888749 #> 65 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00896245 #> 66 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00924055 #> 67 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00928778 #> 68 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00941216 #> 69 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00941211 #> 70 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00944073 #> 71 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00948827 #> 72 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00948939 #> 73 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00969415 #> 74 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00975849 #> 75 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00009981 #> 76 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00042742 #> 77 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00108512 #> 78 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00143990 #> 79 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00150539 #> 80 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00186619 #> 81 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00242451 #> 82 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00256369 #> 83 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00256372 #> 84 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00217790 #> 85 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00292887 #> 86 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00378707 #> 87 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00395207 #> 88 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00411382 #> 89 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00411388 #> 90 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00398279 #> 91 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00401125 #> 92 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00491791 #> 93 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00513600 #> 94 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00514119 #> 95 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00537804 #> 96 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00591674 #> 97 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00719585 #> 98 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00726802 #> 99 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00727366 #> 100 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00620137 #> 101 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00654874 #> 102 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00666611 #> 103 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00671377 #> 104 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00737190 #> 105 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00737717 #> 106 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00753204 #> 107 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00772383 #> 108 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00781524 #> 109 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00792799 #> 110 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00795660 #> 111 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00798839 #> 112 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00815065 #> 113 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00823021 #> 114 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00834142 #> 115 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00842211 #> 116 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00842218 #> 117 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00842367 #> 118 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00847742 #> status_date due_date close_date #> 1 2021-01-29 15:01:00 2021-02-02 08:07:54 2021-01-29 15:01:21 #> 2 2021-02-03 14:12:00 2021-02-02 16:54:01 2021-02-03 14:12:54 #> 3 2021-01-22 14:34:00 2021-02-01 13:36:09 2021-01-22 14:34:27 #> 4 2021-02-23 14:24:00 2021-02-24 08:57:40 2021-02-23 14:25:02 #> 5 2021-02-16 15:24:00 2021-02-24 10:44:23 2021-02-16 15:24:58 #> 6 2021-02-23 14:26:00 2021-02-24 11:46:25 2021-02-23 14:27:20 #> 7 2021-03-04 15:18:00 2021-03-05 14:37:26 2021-03-04 15:18:37 #> 8 2021-01-25 15:55:00 2021-02-03 15:55:46 2021-01-25 15:56:15 #> 9 2021-03-03 14:21:00 2021-03-04 22:06:52 2021-03-03 14:21:41 #> 10 2021-02-04 15:51:00 2021-02-08 13:57:46 2021-02-04 15:51:52 #> 11 2021-02-23 14:30:00 2021-02-22 08:01:58 2021-02-23 14:30:54 #> 12 2021-03-03 14:22:00 2021-03-09 12:44:37 2021-03-03 14:22:28 #> 13 2021-03-05 14:24:00 2021-03-10 12:38:49 2021-03-05 14:24:34 #> 14 2021-03-05 14:19:00 2021-03-11 13:45:11 2021-03-05 14:19:21 #> 15 2021-03-15 14:51:00 2021-03-16 17:09:48 2021-03-15 14:52:09 #> 16 2021-04-05 16:08:00 2021-03-22 17:08:05 2021-04-05 16:09:32 #> 17 2021-04-06 14:41:00 2021-03-29 17:11:50 2021-04-06 14:41:19 #> 18 2021-04-14 14:11:00 2021-04-01 11:48:32 2021-04-14 14:11:13 #> 19 2021-05-06 13:54:00 2021-04-13 17:09:57 2021-05-06 13:54:11 #> 20 2021-05-06 13:54:00 2021-04-13 17:21:35 2021-05-06 13:54:43 #> 21 2021-05-07 15:16:00 2021-04-14 16:20:02 2021-05-07 15:17:17 #> 22 2021-04-29 15:46:00 2021-04-20 16:27:50 2021-04-29 15:46:19 #> 23 2021-04-29 15:45:00 2021-04-16 13:28:43 2021-04-29 15:45:29 #> 24 2021-04-26 15:15:00 2021-04-26 16:01:25 2021-04-26 15:16:50 #> 25 2021-04-29 15:55:00 2021-05-05 13:55:36 2021-04-29 15:55:23 #> 26 2021-05-07 15:17:00 2021-05-11 09:30:43 2021-05-07 15:17:50 #> 27 2021-05-20 15:17:00 2021-05-24 12:31:49 2021-05-20 15:17:31 #> 28 2021-05-21 15:16:00 2021-06-02 15:15:30 2021-05-21 15:16:17 #> 29 2021-05-21 15:13:00 2021-06-02 15:12:51 2021-05-21 15:13:44 #> 30 2021-05-21 15:09:00 2021-06-02 15:09:15 2021-05-21 15:10:04 #> 31 2021-05-21 15:12:00 2021-06-02 15:10:28 2021-05-21 15:12:28 #> 32 2021-05-21 15:14:00 2021-06-02 15:14:26 2021-05-21 15:15:06 #> 33 2021-05-25 14:27:00 2021-06-02 19:21:21 2021-05-25 14:27:10 #> 34 2021-05-25 14:26:00 2021-06-02 11:12:16 2021-05-25 14:26:36 #> 35 2021-06-02 14:32:00 2021-06-07 15:05:24 2021-06-02 14:32:43 #> 36 2021-06-02 14:43:00 2021-06-09 12:44:57 2021-06-02 14:43:22 #> 37 2021-06-14 15:10:00 2021-06-15 13:09:03 2021-06-14 15:10:39 #> 38 2021-06-23 13:56:00 2021-06-28 11:19:24 2021-06-23 13:56:54 #> 39 2021-06-30 14:51:00 2021-07-01 11:44:24 2021-06-30 14:54:57 #> 40 2021-06-22 15:21:00 2021-06-29 13:11:34 2021-06-22 15:22:04 #> 41 2021-07-08 14:51:00 2021-07-14 11:04:06 2021-07-08 14:51:55 #> 42 2021-07-06 15:32:00 2021-07-14 18:48:40 2021-07-06 15:33:18 #> 43 2021-07-20 14:16:00 2021-07-20 15:28:32 2021-07-20 14:16:23 #> 44 2021-07-27 15:15:00 2021-07-22 11:11:08 2021-07-27 15:15:48 #> 45 2021-07-27 15:16:00 2021-07-28 17:37:31 2021-07-27 15:16:17 #> 46 2021-08-16 15:11:00 2021-08-18 14:43:24 2021-08-16 15:11:59 #> 47 2021-09-02 15:04:00 2021-09-07 15:57:44 2021-09-02 15:04:23 #> 48 2021-09-11 14:13:00 2021-09-15 07:29:58 2021-09-11 14:13:39 #> 49 2021-09-15 15:07:00 2021-09-24 11:44:24 2021-09-15 15:07:56 #> 50 2021-09-29 14:47:00 2021-10-07 18:49:15 2021-09-29 14:48:09 #> 51 2021-10-12 14:48:00 2021-10-13 13:05:36 2021-10-12 14:48:50 #> 52 2021-10-20 15:15:00 2021-10-20 10:52:18 2021-10-20 15:15:41 #> 53 2021-10-12 14:45:00 2021-10-19 09:35:42 2021-10-12 14:45:52 #> 54 2021-09-22 14:59:00 2021-09-29 10:06:08 2021-09-22 14:59:40 #> 55 2021-09-24 15:00:00 2021-10-04 12:37:19 2021-09-24 15:01:03 #> 56 2021-09-21 14:25:00 2021-09-29 19:26:57 2021-09-21 14:26:12 #> 57 2021-09-25 15:52:00 2021-10-05 09:41:58 2021-09-25 15:52:18 #> 58 2021-09-24 15:02:00 2021-10-01 13:00:02 2021-09-24 15:03:13 #> 59 2021-09-24 15:03:00 2021-10-01 13:01:29 2021-09-24 15:03:45 #> 60 2021-09-24 15:01:00 2021-10-01 14:46:02 2021-09-24 15:01:42 #> 61 2021-11-02 14:43:00 2021-11-08 12:40:39 2021-11-02 14:44:25 #> 62 2021-11-05 13:51:00 2021-11-16 14:15:30 2021-11-05 13:51:16 #> 63 2021-11-10 14:45:00 2021-11-19 16:07:05 2021-11-10 14:45:23 #> 64 2021-11-18 14:44:00 2021-11-29 14:57:40 2021-11-18 14:45:16 #> 65 2021-11-23 15:12:00 2021-12-01 11:44:50 2021-11-23 15:12:28 #> 66 2021-12-04 07:25:00 2021-12-13 15:38:46 2021-12-04 07:25:39 #> 67 2021-12-06 15:01:00 2021-12-14 13:01:24 2021-12-06 15:01:36 #> 68 2021-12-09 14:36:00 2021-12-17 14:50:21 2021-12-09 14:40:52 #> 69 2021-12-09 14:20:00 2021-12-17 14:49:14 2021-12-09 14:40:59 #> 70 2021-12-10 15:15:00 2021-12-20 13:50:59 2021-12-10 15:15:19 #> 71 2021-12-13 14:33:00 2021-12-21 09:53:47 2021-12-13 14:33:56 #> 72 2021-12-13 14:34:00 2021-12-21 10:54:17 2021-12-13 14:34:42 #> 73 2021-12-21 14:44:00 2021-12-30 08:44:51 2021-12-21 14:48:59 #> 74 2021-12-23 15:09:00 2022-01-04 13:46:20 2021-12-23 15:09:37 #> 75 2020-01-11 16:35:38 2020-01-15 22:34:50 2020-01-11 16:35:39 #> 76 2020-01-31 13:45:21 2020-02-03 14:19:56 2020-01-31 13:45:22 #> 77 2020-03-02 15:28:45 2020-03-03 18:13:18 2020-03-02 15:27:47 #> 78 2020-03-13 14:18:42 2020-03-20 10:04:25 2020-03-13 14:18:44 #> 79 2020-03-17 15:52:04 2020-03-24 14:26:56 2020-03-17 15:52:05 #> 80 2020-05-07 15:12:57 2020-04-02 10:56:29 2020-05-07 15:12:58 #> 81 2020-06-03 15:18:37 2020-05-07 13:29:54 2020-06-03 15:18:39 #> 82 2020-05-12 14:40:51 2020-05-15 10:43:39 2020-05-12 14:40:52 #> 83 2020-05-12 14:42:03 2020-05-15 10:45:17 2020-05-12 14:42:04 #> 84 2020-05-12 14:39:54 2020-04-22 09:58:47 2020-05-12 14:39:56 #> 85 2020-07-06 14:30:11 2020-06-05 13:56:24 2020-07-06 14:30:12 #> 86 2020-07-09 14:26:35 2020-07-02 13:56:29 2020-07-09 14:26:37 #> 87 2020-07-22 14:04:10 2020-07-09 14:55:17 2020-07-22 14:04:12 #> 88 2020-07-28 15:20:13 2020-07-14 16:34:24 2020-07-28 15:20:14 #> 89 2020-07-06 08:33:14 2020-07-14 16:34:56 2020-07-06 08:33:15 #> 90 2020-07-21 14:34:42 2020-07-10 12:24:50 2020-07-21 14:34:43 #> 91 2020-07-22 14:06:08 2020-07-13 08:47:37 2020-07-22 14:06:10 #> 92 2020-08-17 14:33:21 2020-08-10 15:23:40 2020-08-17 14:33:22 #> 93 2020-08-07 15:06:28 2020-08-17 15:34:03 2020-08-07 15:06:29 #> 94 2020-10-07 15:54:42 2020-08-17 17:35:16 2020-10-07 15:54:44 #> 95 2020-10-05 14:32:42 2020-08-24 12:24:51 2020-10-05 14:32:44 #> 96 2020-10-08 15:38:37 2020-09-09 19:40:12 2020-10-08 15:38:39 #> 97 2020-10-22 13:55:40 2020-10-30 09:57:04 2020-10-22 13:55:42 #> 98 2020-11-04 15:30:19 2020-11-04 13:32:42 2020-11-04 15:30:20 #> 99 2020-10-26 14:29:58 2020-11-04 15:50:09 2020-10-26 14:30:00 #> 100 2020-10-05 14:33:16 2020-09-18 15:15:37 2020-10-05 14:33:18 #> 101 2020-10-08 15:39:19 2020-10-02 13:23:59 2020-10-08 15:39:20 #> 102 2020-10-07 14:40:03 2020-10-07 15:36:16 2020-10-07 14:40:05 #> 103 2020-10-08 15:30:36 2020-10-09 10:41:15 2020-10-08 15:30:37 #> 104 2020-10-29 14:20:42 2020-11-09 13:04:29 2020-10-29 14:20:44 #> 105 2020-10-29 14:11:41 2020-11-09 14:48:26 2020-10-29 14:11:43 #> 106 2020-11-17 14:02:48 2020-11-16 16:18:18 2020-11-17 14:02:51 #> 107 2020-11-17 14:04:08 2020-11-25 10:22:32 2020-11-17 14:04:10 #> 108 2020-11-19 14:46:23 2020-11-27 14:55:45 2020-11-19 14:46:24 #> 109 2020-11-24 14:38:59 2020-12-02 12:28:03 2020-11-24 14:39:01 #> 110 2020-11-27 15:09:02 2020-12-03 11:05:21 2020-11-27 15:09:04 #> 111 2020-11-27 15:09:40 2020-12-04 10:25:36 2020-11-27 15:09:41 #> 112 2020-12-04 14:43:37 2020-12-14 10:54:41 2020-12-04 14:43:39 #> 113 2020-12-08 15:46:44 2020-12-16 11:17:21 2020-12-08 15:46:45 #> 114 2020-12-15 14:40:24 2020-12-21 15:48:34 2020-12-15 14:40:25 #> 115 2020-12-15 15:33:32 2020-12-23 14:54:29 2020-12-15 15:33:34 #> 116 2020-12-15 15:34:17 2020-12-23 14:55:32 2020-12-15 15:34:19 #> 117 2020-12-15 15:32:30 2020-12-23 15:37:14 2020-12-15 15:32:31 #> 118 2020-12-18 14:44:44 2020-12-28 09:21:20 2020-12-18 14:44:46 #> agency last_activity #> 1 Solid Waste Service Response #> 2 Solid Waste Service Response #> 3 Solid Waste Service Response #> 4 Solid Waste Service Response #> 5 Solid Waste Service Response #> 6 Solid Waste Service Response #> 7 Solid Waste Service Response #> 8 Solid Waste Service Response #> 9 Solid Waste Service Response #> 10 Solid Waste Service Response #> 11 Solid Waste Service Response #> 12 Solid Waste Service Response #> 13 Solid Waste Service Response #> 14 Solid Waste Service Response #> 15 Solid Waste Service Response #> 16 Solid Waste Service Response #> 17 Solid Waste Service Response #> 18 Solid Waste Service Response #> 19 Solid Waste Service Response #> 20 Solid Waste Service Response #> 21 Solid Waste Service Response #> 22 Solid Waste Service Response #> 23 Solid Waste Service Response #> 24 Solid Waste Service Response #> 25 Solid Waste Service Response #> 26 Solid Waste Service Response #> 27 Solid Waste Service Response #> 28 Solid Waste Service Response #> 29 Solid Waste Service Response #> 30 Solid Waste Service Response #> 31 Solid Waste Service Response #> 32 Solid Waste Service Response #> 33 Solid Waste Service Response #> 34 Solid Waste Service Response #> 35 Solid Waste Service Response #> 36 Solid Waste Service Response #> 37 Solid Waste Service Response #> 38 Solid Waste Service Response #> 39 Solid Waste Service Response #> 40 Solid Waste Service Response #> 41 Solid Waste Service Response #> 42 Solid Waste Service Response #> 43 Solid Waste Service Response #> 44 Solid Waste Service Response #> 45 Solid Waste Service Response #> 46 Solid Waste Service Response #> 47 Solid Waste Service Response #> 48 Solid Waste Service Response #> 49 Solid Waste Service Response #> 50 Solid Waste Service Response #> 51 Solid Waste Service Response #> 52 Solid Waste Service Response #> 53 Solid Waste Service Response #> 54 Solid Waste Service Response #> 55 Solid Waste Service Response #> 56 Solid Waste Service Response #> 57 Solid Waste Service Response #> 58 Solid Waste Service Response #> 59 Solid Waste Service Response #> 60 Solid Waste Service Response #> 61 Solid Waste Service Response #> 62 Solid Waste Service Response #> 63 Solid Waste Service Response #> 64 Solid Waste Service Response #> 65 Solid Waste Service Response #> 66 Solid Waste Service Response #> 67 Solid Waste Service Response #> 68 Solid Waste Service Response #> 69 Solid Waste Service Response #> 70 Solid Waste Service Response #> 71 Solid Waste Service Response #> 72 Solid Waste Service Response #> 73 Solid Waste Service Response #> 74 Solid Waste Service Response #> 75 Solid Waste Service Response #> 76 Solid Waste Service Response #> 77 Solid Waste Service Response #> 78 Solid Waste Service Response #> 79 Solid Waste Service Response #> 80 Solid Waste Service Response #> 81 Solid Waste Service Response #> 82 Solid Waste Service Response #> 83 Solid Waste Service Response #> 84 Solid Waste Service Response #> 85 Solid Waste Service Response #> 86 Solid Waste Service Response #> 87 Solid Waste Service Response #> 88 Solid Waste Service Response #> 89 Solid Waste Service Response #> 90 Solid Waste Service Response #> 91 Solid Waste Service Response #> 92 Solid Waste Service Response #> 93 Solid Waste Service Response #> 94 Solid Waste Service Response #> 95 Solid Waste Service Response #> 96 Solid Waste Service Response #> 97 Solid Waste Service Response #> 98 Solid Waste Service Response #> 99 Solid Waste Service Response #> 100 Solid Waste Service Response #> 101 Solid Waste Service Response #> 102 Solid Waste Service Response #> 103 Solid Waste Service Response #> 104 Solid Waste Service Response #> 105 Solid Waste Service Response #> 106 Solid Waste Service Response #> 107 Solid Waste Service Response #> 108 Solid Waste Service Response #> 109 Solid Waste Service Response #> 110 Solid Waste Service Response #> 111 Solid Waste Service Response #> 112 Solid Waste Service Response #> 113 Solid Waste Service Response #> 114 Solid Waste Service Response #> 115 Solid Waste Service Response #> 116 Solid Waste Service Response #> 117 Solid Waste Service Response #> 118 Solid Waste Service Response #> last_activity_date outcome #> 1 2021-01-29 15:01:00 Work completed #> 2 2021-02-03 14:12:00 Work completed #> 3 2021-01-22 14:34:00 Work completed #> 4 2021-02-23 14:24:00 SR assessed and no cause for action determined #> 5 2021-02-16 15:24:00 SR assessed and no cause for action determined #> 6 2021-02-23 14:26:00 SR assessed and no cause for action determined #> 7 2021-03-04 15:18:00 Work completed #> 8 2021-01-25 15:55:00 Work completed #> 9 2021-03-03 14:21:00 SR assessed and no cause for action determined #> 10 2021-02-04 15:51:00 Work completed #> 11 2021-02-23 14:30:00 SR assessed and no cause for action determined #> 12 2021-03-03 14:22:00 Work completed #> 13 2021-03-05 14:24:00 SR assessed and no cause for action determined #> 14 2021-03-05 14:19:00 Work completed #> 15 2021-03-15 14:51:00 Work completed #> 16 2021-04-05 16:08:00 Work completed #> 17 2021-04-06 14:41:00 Work completed #> 18 2021-04-14 14:11:00 Work completed #> 19 2021-05-06 13:54:00 Work completed #> 20 2021-05-06 13:54:00 Work completed #> 21 2021-05-07 15:16:00 SR assessed and no cause for action determined #> 22 2021-04-29 15:46:00 SR assessed and no cause for action determined #> 23 2021-04-29 15:45:00 SR assessed and no cause for action determined #> 24 2021-04-26 15:15:00 Work completed #> 25 2021-04-29 15:55:00 Work completed #> 26 2021-05-07 15:17:00 Work completed #> 27 2021-05-20 15:17:00 Work completed #> 28 2021-05-21 15:16:00 Work completed #> 29 2021-05-21 15:13:00 Work completed #> 30 2021-05-21 15:09:00 Work completed #> 31 2021-05-21 15:12:00 Work completed #> 32 2021-05-21 15:14:00 Work completed #> 33 2021-05-25 14:27:00 Work completed #> 34 2021-05-25 14:26:00 Work completed #> 35 2021-06-02 14:32:00 Work completed #> 36 2021-06-02 14:43:00 Work completed #> 37 2021-06-14 15:10:00 SR assessed and no cause for action determined #> 38 2021-06-23 13:56:00 Work completed #> 39 2021-06-30 14:51:00 SR assessed and no cause for action determined #> 40 2021-06-22 15:21:00 Work completed #> 41 2021-07-08 14:51:00 Work completed #> 42 2021-07-06 15:32:00 SR assessed and no cause for action determined #> 43 2021-07-20 14:16:00 Work completed #> 44 2021-07-27 15:15:00 Work completed #> 45 2021-07-27 15:16:00 Work completed #> 46 2021-08-16 15:11:00 Work completed #> 47 2021-09-02 15:04:00 Work completed #> 48 2021-09-11 14:13:00 Work completed #> 49 2021-09-15 15:07:00 Work completed #> 50 2021-09-29 14:47:00 Work completed #> 51 2021-10-12 14:48:00 Work completed #> 52 2021-10-20 15:15:00 Work completed #> 53 2021-10-12 14:45:00 Work completed #> 54 2021-09-22 14:59:00 SR assessed and no cause for action determined #> 55 2021-09-24 15:00:00 Work completed #> 56 2021-09-21 14:25:00 Work completed #> 57 2021-09-25 15:52:00 SR assessed and no cause for action determined #> 58 2021-09-24 15:02:00 SR assessed and no cause for action determined #> 59 2021-09-24 15:03:00 Work completed #> 60 2021-09-24 15:01:00 Work completed #> 61 2021-11-02 14:43:00 Work completed #> 62 2021-11-05 13:51:00 Work completed #> 63 2021-11-10 14:45:00 Work completed #> 64 2021-11-18 14:44:00 SR assessed and no cause for action determined #> 65 2021-11-23 15:12:00 Work completed #> 66 2021-12-04 07:25:00 SR assessed and no cause for action determined #> 67 2021-12-06 15:01:00 Work completed #> 68 2021-12-09 14:36:00 Work completed #> 69 2021-12-09 14:20:00 Work completed #> 70 2021-12-10 15:15:00 Work completed #> 71 2021-12-13 14:33:00 SR assessed and no cause for action determined #> 72 2021-12-13 14:34:00 SR assessed and no cause for action determined #> 73 2021-12-21 14:44:00 SR assessed and no cause for action determined #> 74 2021-12-23 15:09:00 Work completed #> 75 2020-01-11 16:34:00 Work completed #> 76 2020-01-31 13:44:00 Work completed #> 77 2020-03-02 15:27:00 SR assessed and no cause for action determined #> 78 2020-03-13 14:18:00 Work completed #> 79 2020-03-17 15:51:00 Work completed #> 80 2020-05-07 15:12:00 Work completed #> 81 2020-06-03 15:18:00 Work completed #> 82 2020-05-12 14:40:00 Work completed #> 83 2020-05-12 14:41:00 Work completed #> 84 2020-05-12 14:39:00 Work completed #> 85 2020-07-06 14:29:00 SR assessed and no cause for action determined #> 86 2020-07-09 14:26:00 Work completed #> 87 2020-07-22 14:01:00 Work completed #> 88 2020-07-28 15:19:00 Work completed #> 89 2020-07-06 08:32:00 Work completed #> 90 2020-07-21 14:33:00 Work completed #> 91 2020-07-22 14:05:00 Work completed #> 92 2020-08-17 14:33:00 Work completed #> 93 2020-08-07 15:03:00 SR assessed and no cause for action determined #> 94 2020-10-07 15:54:00 Work completed #> 95 2020-10-05 14:32:00 SR assessed and no cause for action determined #> 96 2020-10-08 15:38:00 Work completed #> 97 2020-10-22 13:55:00 Work completed #> 98 2020-11-04 15:30:00 Work completed #> 99 2020-10-26 14:29:00 Work completed #> 100 2020-10-05 14:33:00 SR assessed and no cause for action determined #> 101 2020-10-08 15:39:00 Work completed #> 102 2020-10-07 14:39:00 Work completed #> 103 2020-10-08 15:30:00 Work completed #> 104 2020-10-29 14:20:00 SR assessed and no cause for action determined #> 105 2020-10-29 14:11:00 Work completed #> 106 2020-11-17 14:02:00 Work completed #> 107 2020-11-17 14:03:00 SR assessed and no cause for action determined #> 108 2020-11-19 14:46:00 Work completed #> 109 2020-11-24 14:38:00 Work completed #> 110 2020-11-27 15:08:00 Work completed #> 111 2020-11-27 15:09:00 Work completed #> 112 2020-12-04 14:43:00 Work completed #> 113 2020-12-08 15:46:00 SR assessed and no cause for action determined #> 114 2020-12-15 14:40:00 Work completed #> 115 2020-12-15 15:33:00 Work completed #> 116 2020-12-15 15:34:00 Work completed #> 117 2020-12-15 15:32:00 Work completed #> 118 2020-12-18 14:44:00 SR assessed and no cause for action determined #> days_to_close address zip_code neighborhood #> 1 7.29 800 WILDWOOD PKWY 21229 Edmondson Village #> 2 9.89 826 N WOODINGTON RD 21229 Rognel Heights #> 3 1.04 905 MOUNT HOLLY ST 21229 Edgewood #> 4 11.23 4000 COLBORNE RD 21229 Edmondson Village #> 5 3.19 3801 ROKEBY RD 21229 Edmondson Village #> 6 8.11 4009 COLBORNE RD 21229 Edmondson Village #> 7 8.03 631 N WOODINGTON RD 21229 Edmondson Village #> 8 0.00 704 MOUNT HOLLY ST 21229 Edmondson Village #> 9 7.68 4010 GELSTON DR 21229 Edmondson Village #> 10 7.08 3909 COLBORNE RD 21229 Edmondson Village #> 11 13.27 901 MOUNT HOLLY ST 21229 Edgewood #> 12 3.07 3909 COLBORNE RD 21229 Edmondson Village #> 13 4.07 731 MOUNT HOLLY ST 21229 Edgewood #> 14 3.02 1105 LYNDHURST ST 21229 Edmondson Village #> 15 7.95 3909 COLBORNE RD 21229 Edmondson Village #> 16 25.00 800 N WOODINGTON RD 21229 Rognel Heights #> 17 18.90 3900 ROKEBY RD 21229 Edmondson Village #> 18 22.10 725 MOUNT HOLLY ST 21229 Edgewood #> 19 32.86 3908 WOODRIDGE RD 21229 Edmondson Village #> 20 32.86 3901 COLBORNE RD 21229 Edmondson Village #> 21 31.96 608 N WOODINGTON RD 21229 Rognel Heights #> 22 19.97 800 KEVIN RD 21229 Rognel Heights #> 23 22.09 816 WILDWOOD PKWY 21229 Edmondson Village #> 24 10.97 4006 WOODRIDGE RD 21229 Edmondson Village #> 25 3.08 801 KEVIN RD 21229 Rognel Heights #> 26 6.24 829 N AUGUSTA AVE 21229 Edmondson Village #> 27 7.12 3924 CRANSTON AVE 21229 Edmondson Village #> 28 0.00 3909 ROKEBY RD 21229 Edmondson Village #> 29 0.00 1008 LYNDHURST ST 21229 Edmondson Village #> 30 0.00 1100 WILDWOOD PKWY 21229 Edmondson Village #> 31 0.00 1206 WILDWOOD PKWY 21229 Edmondson Village #> 32 0.00 3902 FLOWERTON RD 21229 Edmondson Village #> 33 3.80 4000 COLBORNE RD 21229 Edmondson Village #> 34 4.13 3916 GELSTON DR 21229 Edmondson Village #> 35 6.98 1200 BLK N AUGUSTA-MOUNTWOOD 21229 Edmondson Village #> 36 3.08 1000 N WOODINGTON RD 21229 Rognel Heights #> 37 8.08 1248 N AUGUSTA AVE 21229 Edmondson Village #> 38 6.11 3801 STOKES DR 21229 Edmondson Village #> 39 8.13 3810 GELSTON DR 21229 Edmondson Village #> 40 4.09 4022 CRANSTON AVE 21229 Edmondson Village #> 41 6.16 FLOWERTON RD & N WOODINGTON RD 21229 Rognel Heights #> 42 3.86 3810 GELSTON DR 21229 Edmondson Village #> 43 10.95 813 N AUGUSTA AVE 21229 Edmondson Village #> 44 14.17 3814 GELCRAN LN 21229 Edmondson Village #> 45 7.90 4021 CRANSTON AVE 21229 Edmondson Village #> 46 7.02 3809 STOKES DR 21229 Edmondson Village #> 47 6.96 901 N WOODINGTON RD 21229 Edmondson Village #> 48 5.28 3902 WOODRIDGE RD 21229 Edmondson Village #> 49 0.14 3919 FLOWERTON RD 21229 Edmondson Village #> 50 0.83 600 WILDWOOD PKWY 21229 Edmondson Village #> 51 11.07 3900 EDMONDSON AVE 21229 Edmondson Village #> 52 9.18 3819 CRANSTON AVE 21229 Edmondson Village #> 53 5.22 3900 EDMONDSON AVE 21229 Edmondson Village #> 54 2.20 1252 N AUGUSTA AVE 21229 Edmondson Village #> 55 1.10 600 N AUGUSTA AVE 21229 Edmondson Village #> 56 0.79 601 N LOUDON AVE 21229 Edmondson Village #> 57 1.26 3800 GELSTON DR 21229 Edmondson Village #> 58 2.09 3901 FLOWERTON RD 21229 Edmondson Village #> 59 2.08 3900 FLOWERTON RD 21229 Edmondson Village #> 60 2.01 711 LYNDHURST ST 21229 Edmondson Village #> 61 5.04 3909 COLBORNE RD 21229 Edmondson Village #> 62 0.94 3807 STOKES DR 21229 Edmondson Village #> 63 0.94 1106 LYNDHURST ST 21229 Edmondson Village #> 64 0.99 4100 GLEN HUNT RD 21229 Edmondson Village #> 65 3.14 4100 GLEN HUNT RD 21229 Edmondson Village #> 66 1.66 3900 EDMONDSON AVE 21229 Edmondson Village #> 67 2.08 4201 GELSTON DR 21229 Rognel Heights #> 68 0.99 700 BLK LYNDHURST ST 21229 Edmondson Village #> 69 0.99 3814 CRANSTON AVE 21229 Edmondson Village #> 70 1.06 700 WICKLOW RD 21229 Rognel Heights #> 71 2.19 913 LYNDHURST ST 21229 Edmondson Village #> 72 2.15 3900 EDMONDSON AVE 21229 Edmondson Village #> 73 1.25 913 LYNDHURST ST 21229 Edmondson Village #> 74 1.06 3807 STOKES DR 21229 Edmondson Village #> 75 4.75 3909 COLBORNE RD 21229 Edmondson Village #> 76 7.98 3909 COLBORNE RD 21229 Edmondson Village #> 77 7.89 4225 COLBORNE RD 21229 Rognel Heights #> 78 2.18 712 WICKLOW RD 21229 Rognel Heights #> 79 4.06 600 BLK WICKLOW RD 21229 Rognel Heights #> 80 44.18 600 BLK WICKLOW RD 21229 Rognel Heights #> 81 36.08 4102 WOODRIDGE RD 21229 Edmondson Village #> 82 6.16 3900 FLOWERTON RD 21229 Edmondson Village #> 83 6.16 3900 ROKEBY RD 21229 Edmondson Village #> 84 29.20 723 MOUNT HOLLY ST 21229 Edgewood #> 85 41.02 1008 WILDWOOD PKWY 21229 Edmondson Village #> 86 16.02 4105 FLOWERTON RD 21229 Edmondson Village #> 87 22.96 601 N WOODINGTON RD 21229 Edmondson Village #> 88 24.97 1100 LYNDHURST ST 21229 Edmondson Village #> 89 2.69 1100 LYNDHURST ST 21229 Edmondson Village #> 90 21.09 4003 COLBORNE RD 21229 Edmondson Village #> 91 21.22 622 WICKLOW RD 21229 Rognel Heights #> 92 17.97 4029 CRANSTON AVE 21229 Edmondson Village #> 93 0.98 622 WICKLOW RD 21229 Rognel Heights #> 94 61.93 4100 MOUNTWOOD RD 21229 Edmondson Village #> 95 53.09 4200 FLOWERTON RD 21229 Rognel Heights #> 96 40.83 4000 WOODRIDGE RD 21229 Edmondson Village #> 97 1.17 1102 MOUNT HOLLY ST 21229 Edmondson Village #> 98 12.04 1000 MOUNT HOLLY ST 21229 Edmondson Village #> 99 2.90 4200 EDMONDSON AVE 21229 Rognel Heights #> 100 25.97 700 WILDWOOD PKWY 21229 Edmondson Village #> 101 15.09 3930 ROKEBY RD 21229 Edmondson Village #> 102 8.96 3901 COLBORNE RD 21229 Edmondson Village #> 103 8.20 3815 HARLEM AVE 21229 Edmondson Village #> 104 1.01 718 LYNDHURST ST 21229 Edmondson Village #> 105 0.93 1011 MOUNT HOLLY ST 21229 Edgewood #> 106 12.91 3901 COLBORNE RD 21229 Edmondson Village #> 107 4.15 600 MOUNT HOLLY ST 21229 Edmondson Village #> 108 1.99 3901 COLBORNE RD 21229 Edmondson Village #> 109 1.09 3901 COLBORNE RD 21229 Edmondson Village #> 110 3.17 718 LYNDHURST ST 21229 Edmondson Village #> 111 2.20 4009 COLBORNE RD 21229 Edmondson Village #> 112 1.16 618 WICKLOW RD 21229 Rognel Heights #> 113 1.19 3901 WOODRIDGE RD 21229 Edmondson Village #> 114 4.95 3901 COLBORNE RD 21229 Edmondson Village #> 115 1.03 4105 MOUNTWOOD RD 21229 Edmondson Village #> 116 1.03 4107 MOUNTWOOD RD 21229 Edmondson Village #> 117 1.00 602 N WOODINGTON RD 21229 Rognel Heights #> 118 2.22 4009 COLBORNE RD 21229 Edmondson Village #> council_district police_district latitude longitude #> 1 8 Southwestern 39.29641 -76.68416 #> 2 8 Southwestern 39.29722 -76.68637 #> 3 8 Southwestern 39.29815 -76.67980 #> 4 8 Southwestern 39.29801 -76.68264 #> 5 8 Southwestern 39.29923 -76.68060 #> 6 8 Southwestern 39.29766 -76.68282 #> 7 8 Southwestern 39.29505 -76.68574 #> 8 8 Southwestern 39.29535 -76.67989 #> 9 8 Southwestern 39.29579 -76.68288 #> 10 8 Southwestern 39.29768 -76.68213 #> 11 8 Southwestern 39.29804 -76.67980 #> 12 8 Southwestern 39.29768 -76.68213 #> 13 8 Southwestern 39.29581 -76.67985 #> 14 8 Southwestern 39.29963 -76.68127 #> 15 8 Southwestern 39.29768 -76.68213 #> 16 8 Southwestern 39.29633 -76.68635 #> 17 8 Southwestern 39.29954 -76.68205 #> 18 8 Southwestern 39.29576 -76.67985 #> 19 8 Southwestern 39.29729 -76.68211 #> 20 8 Southwestern 39.29769 -76.68193 #> 21 8 Southwestern 39.29437 -76.68622 #> 22 8 Southwestern 39.29634 -76.68734 #> 23 8 Southwestern 39.29686 -76.68412 #> 24 8 Southwestern 39.29727 -76.68279 #> 25 8 Southwestern 39.29661 -76.68706 #> 26 8 Southwestern 39.29729 -76.68491 #> 27 8 Southwestern 39.29656 -76.68246 #> 28 8 Southwestern 39.29918 -76.68228 #> 29 8 Southwestern 39.29893 -76.68169 #> 30 8 Southwestern 39.29944 -76.68407 #> 31 8 Southwestern 39.30028 -76.68406 #> 32 8 Southwestern 39.29877 -76.68205 #> 33 8 Southwestern 39.29801 -76.68264 #> 34 8 Southwestern 39.29581 -76.68224 #> 35 8 Southwestern 39.30085 -76.68512 #> 36 8 Southwestern 39.29855 -76.68644 #> 37 8 Southwestern 39.30055 -76.68549 #> 38 8 Southwestern 39.29983 -76.68057 #> 39 8 Southwestern 39.29578 -76.68062 #> 40 8 Southwestern 39.29653 -76.68315 #> 41 8 Southwestern 39.29846 -76.68619 #> 42 8 Southwestern 39.29578 -76.68062 #> 43 8 Southwestern 39.29670 -76.68488 #> 44 8 Southwestern 39.29601 -76.68068 #> 45 8 Southwestern 39.29618 -76.68309 #> 46 8 Southwestern 39.29997 -76.68081 #> 47 8 Southwestern 39.29782 -76.68590 #> 48 8 Southwestern 39.29729 -76.68196 #> 49 8 Southwestern 39.29842 -76.68258 #> 50 8 Southwestern 39.29419 -76.68428 #> 51 8 Southwestern 39.29410 -76.68137 #> 52 8 Southwestern 39.29626 -76.68085 #> 53 8 Southwestern 39.29410 -76.68137 #> 54 8 Southwestern 39.30104 -76.68600 #> 55 8 Southwestern 39.29416 -76.68524 #> 56 8 Southwestern 39.29425 -76.68232 #> 57 8 Southwestern 39.29575 -76.68034 #> 58 8 Southwestern 39.29844 -76.68198 #> 59 8 Southwestern 39.29877 -76.68199 #> 60 8 Southwestern 39.29550 -76.68104 #> 61 8 Southwestern 39.29768 -76.68213 #> 62 8 Southwestern 39.29999 -76.68051 #> 63 8 Southwestern 39.29968 -76.68173 #> 64 8 Southwestern 39.30014 -76.68434 #> 65 8 Southwestern 39.30014 -76.68434 #> 66 8 Southwestern 39.29410 -76.68137 #> 67 8 Southwestern 39.29477 -76.68687 #> 68 8 Southwestern 39.29604 -76.68132 #> 69 8 Southwestern 39.29659 -76.68076 #> 70 8 Southwestern 39.29515 -76.68702 #> 71 8 Southwestern 39.29831 -76.68122 #> 72 8 Southwestern 39.29410 -76.68137 #> 73 8 Southwestern 39.29831 -76.68122 #> 74 8 Southwestern 39.29993 -76.68075 #> 75 8 Southwestern 39.29768 -76.68213 #> 76 8 Southwestern 39.29768 -76.68213 #> 77 8 Southwestern 39.29725 -76.68752 #> 78 8 Southwestern 39.29538 -76.68736 #> 79 8 Southwestern 39.29495 -76.68636 #> 80 8 Southwestern 39.29495 -76.68636 #> 81 8 Southwestern 39.29721 -76.68452 #> 82 8 Southwestern 39.29877 -76.68199 #> 83 8 Southwestern 39.29954 -76.68205 #> 84 8 Southwestern 39.29574 -76.67985 #> 85 8 Southwestern 39.29867 -76.68399 #> 86 8 Southwestern 39.29835 -76.68462 #> 87 8 Southwestern 39.29415 -76.68569 #> 88 8 Southwestern 39.29953 -76.68172 #> 89 8 Southwestern 39.29953 -76.68172 #> 90 8 Southwestern 39.29767 -76.68266 #> 91 8 Southwestern 39.29476 -76.68641 #> 92 8 Southwestern 39.29618 -76.68330 #> 93 8 Southwestern 39.29476 -76.68641 #> 94 8 Southwestern 39.30083 -76.68448 #> 95 8 Southwestern 39.29860 -76.68678 #> 96 8 Southwestern 39.29727 -76.68265 #> 97 8 Southwestern 39.29962 -76.68033 #> 98 8 Southwestern 39.29877 -76.68025 #> 99 8 Southwestern 39.29392 -76.68610 #> 100 8 Southwestern 39.29565 -76.68413 #> 101 8 Southwestern 39.29951 -76.68297 #> 102 8 Southwestern 39.29769 -76.68193 #> 103 8 Southwestern 39.29495 -76.68078 #> 104 8 Southwestern 39.29589 -76.68154 #> 105 8 Southwestern 39.29905 -76.67984 #> 106 8 Southwestern 39.29769 -76.68193 #> 107 8 Southwestern 39.29400 -76.67982 #> 108 8 Southwestern 39.29769 -76.68193 #> 109 8 Southwestern 39.29769 -76.68193 #> 110 8 Southwestern 39.29578 -76.68135 #> 111 8 Southwestern 39.29766 -76.68282 #> 112 8 Southwestern 39.29482 -76.68621 #> 113 8 Southwestern 39.29695 -76.68188 #> 114 8 Southwestern 39.29769 -76.68193 #> 115 8 Southwestern 39.30048 -76.68449 #> 116 8 Southwestern 39.30049 -76.68454 #> 117 8 Southwestern 39.29419 -76.68622 #> 118 8 Southwestern 39.29766 -76.68282 #> geometry objectid #> 1 POINT (427245.1 180958.8) NA #> 2 POINT (427053.6 181048.6) NA #> 3 POINT (427619.9 181153.5) NA #> 4 POINT (427375.7 181136.8) NA #> 5 POINT (427550.9 181273.1) NA #> 6 POINT (427359.6 181098.7) NA #> 7 POINT (427109.2 180807.5) NA #> 8 POINT (427613.6 180842.2) NA #> 9 POINT (427355.8 180890.3) NA #> 10 POINT (427419.8 181100.8) NA #> 11 POINT (427620.4 181141.4) NA #> 12 POINT (427419.8 181100.8) NA #> 13 POINT (427616.5 180893.3) NA #> 14 POINT (427493.3 181317) NA #> 15 POINT (427419.8 181100.8) NA #> 16 POINT (427056.3 180949.5) NA #> 17 POINT (427425.9 181306.9) NA #> 18 POINT (427616.8 180887.9) NA #> 19 POINT (427421.5 181057.2) NA #> 20 POINT (427437.1 181101.5) NA #> 21 POINT (427067.6 180731.8) NA #> 22 POINT (426970.8 180950.9) NA #> 23 POINT (427248.6 181008.8) NA #> 24 POINT (427362.4 181054.9) NA #> 25 POINT (426994.6 180980.5) NA #> 26 POINT (427179.6 181056.1) NA #> 27 POINT (427391.4 180976.1) NA #> 28 POINT (427405.9 181266.7) NA #> 29 POINT (427457.2 181240) NA #> 30 POINT (427251.2 181295.3) NA #> 31 POINT (427252 181388.9) NA #> 32 POINT (427426.1 181222) NA #> 33 POINT (427375.7 181136.8) NA #> 34 POINT (427411 180892.5) NA #> 35 POINT (427160.6 181451.5) NA #> 36 POINT (427047.2 181195.5) NA #> 37 POINT (427128.4 181418.1) NA #> 38 POINT (427553.2 181340) NA #> 39 POINT (427550.7 180890.4) NA #> 40 POINT (427331.8 180972.6) NA #> 41 POINT (427068.6 181185.9) NA #> 42 POINT (427550.7 180890.4) NA #> 43 POINT (427182.9 180991.1) NA #> 44 POINT (427544.8 180915.6) NA #> 45 POINT (427337.4 180933.7) NA #> 46 POINT (427532.3 181355) NA #> 47 POINT (427094.2 181115.1) NA #> 48 POINT (427434.3 181057.3) NA #> 49 POINT (427380.3 181183) NA #> 50 POINT (427235.8 180713) NA #> 51 POINT (427486.6 180703.4) NA #> 52 POINT (427530.3 180943.6) NA #> 53 POINT (427486.6 180703.4) NA #> 54 POINT (427084.4 181472.1) NA #> 55 POINT (427152.9 180709.2) NA #> 56 POINT (427404.1 180720.3) NA #> 57 POINT (427574.4 180887.4) NA #> 58 POINT (427431.9 181185.4) NA #> 59 POINT (427431.1 181221.7) NA #> 60 POINT (427514.3 180859) NA #> 61 POINT (427419.8 181100.8) NA #> 62 POINT (427558.7 181357.8) NA #> 63 POINT (427453.5 181323.1) NA #> 64 POINT (427227.7 181372.6) NA #> 65 POINT (427227.7 181372.6) NA #> 66 POINT (427486.6 180703.4) NA #> 67 POINT (427012.1 180776.6) NA #> 68 POINT (427489.8 180918.3) NA #> 69 POINT (427538.5 180980) NA #> 70 POINT (426998.5 180818.3) NA #> 71 POINT (427498.1 181171.3) NA #> 72 POINT (427486.6 180703.4) NA #> 73 POINT (427498.1 181171.3) NA #> 74 POINT (427537.9 181350.9) NA #> 75 POINT (427419.9 181100) 9952 #> 76 POINT (427419.9 181100) 35902 #> 77 POINT (426955 181050.2) 107675 #> 78 POINT (426969.6 180842.9) 137896 #> 79 POINT (427055.6 180795.5) 146984 #> 80 POINT (427055.6 180795.5) 164251 #> 81 POINT (427213.4 181046.9) 181572 #> 82 POINT (427431.3 181220.8) 202607 #> 83 POINT (427426.1 181306.1) 202612 #> 84 POINT (427617.1 180885.2) 249419 #> 85 POINT (427259 181209.2) 273594 #> 86 POINT (427204.7 181173.5) 342477 #> 87 POINT (427114.2 180707.1) 371806 #> 88 POINT (427454.6 181305.5) 374388 #> 89 POINT (427454.6 181305.5) 374485 #> 90 POINT (427373.7 181099) 377533 #> 91 POINT (427051.6 180774.8) 383053 #> 92 POINT (427319.1 180932.5) 464217 #> 93 POINT (427051.6 180774.8) 493103 #> 94 POINT (427215.9 181448.5) 494091 #> 95 POINT (427017.8 181200.3) 511162 #> 96 POINT (427375.1 181054.4) 576920 #> 97 POINT (427574.1 181316.1) 597230 #> 98 POINT (427581 181221.2) 604355 #> 99 POINT (427078.5 180681.6) 604893 #> 100 POINT (427248 180873.6) 618416 #> 101 POINT (427346.5 181302.6) 634455 #> 102 POINT (427437.3 181100.6) 656551 #> 103 POINT (427537.2 180797.2) 663950 #> 104 POINT (427471.6 180901.2) 718545 #> 105 POINT (427616.3 181252.9) 719722 #> 106 POINT (427437.3 181100.6) 728477 #> 107 POINT (427620.5 180691.4) 744847 #> 108 POINT (427437.3 181100.6) 758450 #> 109 POINT (427437.3 181100.6) 761652 #> 110 POINT (427488 180888.9) 767254 #> 111 POINT (427359.8 181097.9) 772820 #> 112 POINT (427068.9 180780.6) 784068 #> 113 POINT (427441.6 181019.1) 798397 #> 114 POINT (427437.3 181100.6) 809360 #> 115 POINT (427215.4 181409.8) 816919 #> 116 POINT (427210.5 181411.1) 816923 #> 117 POINT (427068.5 180710.7) 817134 #> 118 POINT (427359.8 181097.9) 826458"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Get selected area streets — get_area_streets","title":"Get selected area streets — get_area_streets","text":"Get streets within area areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get selected area streets — get_area_streets","text":"","code":"get_area_streets( area = NULL, street_type = NULL, sha_class = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, trim = FALSE, msa = FALSE, union = TRUE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get selected area streets — get_area_streets","text":"area sf object area streets return. street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\") sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") bbox bbox object defining area used filter data. area provided, bounding box ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim Logical. Default FALSE. Trim streets area using sf::st_intersection(). msa Logical. Default FALSE. Get streets cached baltimore_msa_streets.gpkg file using cachedata parameter get_area_data function. union Logical. Default TRUE. Union geometry based fullname streets.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":null,"dir":"Reference","previous_headings":"","what":"Get vacant building notices — get_area_vacants","title":"Get vacant building notices — get_area_vacants","text":"Parcel boundaries properties active vacant building notice. building unoccupied unsafe unfit people live work inside building, two code violations fixed, six code violations past year, building may receive vacant building notice Baltimore City.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get vacant building notices — get_area_vacants","text":"","code":"get_area_vacants( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, crop = TRUE, trim = FALSE, rehabbed = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get vacant building notices — get_area_vacants","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. rehabbed TRUE, return building permits pulled properties vacant building notices. Default FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get vacant building notices — get_area_vacants","text":"rehabbed parameter TRUE, returned data use occupancy permits pulled properties vacant building notices. DHCD uses data proxy vacant building rehabs.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":null,"dir":"Reference","previous_headings":"","what":"Get zoning data for an area — get_area_zoning","title":"Get zoning data for an area — get_area_zoning","text":"Get zoning codes area within provided sf bbox object.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get zoning data for an area — get_area_zoning","text":"","code":"get_area_zoning( area = NULL, bbox = NULL, category = c(\"all\", \"residential\", \"commercial\", \"industrial\"), diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = NULL, union = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get zoning data for an area — get_area_zoning","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). bbox bbox object defining area used filter data. area provided, bounding box ignored. category Zoning category return. \"\", \"residential\", \"commercial\", \"industrial\" diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter. union Logical. Default FALSE. true, group zoning label combine geometry sf::st_union().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get zoning data for an area — get_area_zoning","text":"sf object zoning overlay data area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get zoning data for an area — get_area_zoning","text":"2017 zoning data include exemptions granted Baltimore City BMZA (Board Municipal Zoning Appeals).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Baltimore data — get_baltimore_esri_data","title":"Get Baltimore data — get_baltimore_esri_data","text":"wrapper getdata::get_esri_data()","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Baltimore data — get_baltimore_esri_data","text":"","code":"get_baltimore_esri_data(area = NULL, nm = NULL, type = NULL, crs = NULL, ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Baltimore data — get_baltimore_esri_data","text":"area Area (passed location), Default: NULL nm nm (match single value baltimore_gis_index$nm), Default: NULL type Type used alias nm value, Default: NULL crs Coordinate reference system, Default: NULL ... Arguments passed getdata::get_esri_data url FeatureServer MapServer url retrieve data . Passed url parameter esri2sf::esri2sf() esri2sf::esri2df() functions. get_esri_layers(), optional url must service url base url one layer urls. location sf, sfc, bbox object (object convertible as_bbox(). Optional. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. query string passed esri2sf, Default: NULL name,name_col Name value name column found ArcGIS FeatureServer MapServer data. coords Coordinate columns input data.frame output sf object (geometry 'centroid' 'point') Default: c(\"lon\", \"lat\"). from_crs df_to_sf(), coordinate reference system used coordinates well known text data frame. clean_names TRUE, set .name_repair janitor::make_clean_names() Ignored get_esri_metadata() returning data.frame, e.g. meta = \"id\". token string authentication token. defaults NULL. progress Show progress bar cli::cli_progress_along() TRUE. Default FALSE. quiet TRUE, use suppressMessages() prevent printing messages requested layer. Defaults FALSE. .name_repair Defaults \"check_unique\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Baltimore data — get_baltimore_esri_data","text":"dataframe simple feature object","code":""},{"path":[]},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"","code":"get_baltimore_worker_flows( area, tracts = baltimore_tracts, min_estimate = 10, geometry = TRUE, crs = 2804 )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"area sf sfc object intersects tracts. tracts Data tigris::tracts() one county Balitmore metro area. Defaults baltimore_tracts. min_estimate Minimum number workers residents tract must include results. Tracts fewer min_estimate values filtered results. Defaults 10. geometry TRUE, return list sf objects. FALSE, return list data.frame objects. Defaults TRUE. crs Coordinate reference system use returned data geometry = TRUE. Defaults 2804.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"list two data.frames sf objects named \"\" \"\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"Use FeatureLayers provided Baltimore Metropolitan Council. Deprecated 2024-10-28 discovering BMC removed required source layers.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":null,"dir":"Reference","previous_headings":"","what":"Batch load or save data for an area, street, or intersection — get_batch","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"batch loading/saving function less flexible get_area_data() can reduce need repetitive calls get_area_data() gathering area-level data mapping. get_data_batch() calls get_area_data(). get_area_batch() calls get_area() using provided area location parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"","code":"get_data_batch( get = NULL, area = NULL, label = get, adj = list(dist = 15, diag_ratio = NULL, asp = \"6:4\"), fn = NULL, batch = NULL, crop = TRUE, trim = FALSE, load = TRUE, cache = FALSE, save = FALSE, filetype = \"geojson\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... ) get_area_batch( get = NULL, area = NULL, label = get, adj = list(dist = 15, diag_ratio = NULL, asp = \"6:4\"), fn = NULL, batch = c(\"neighborhood\", \"council district\", \"csa\", \"tract\"), trim = FALSE, load = TRUE, save = FALSE, cache = FALSE, filetype = \"geojson\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"get Type geography use setting area data load save. Supported values area \"area\", \"street\", \"intersection\". Default: NULL area sf object use instead getting area, street, intersection. used get NULL. label Label use loaded objects saved files, Defaults get parameter. adj Named list parameters used adjust_bbox() create bounding box area, street, intersection. Set NULL use area (use another sf object other_area parameter) Default: list(dist = 15, diag_ratio = NULL, asp = \"6:4\"). fn Function apply area returning . Useful applying buffer street creating walking distance isochrone use bounding box intersection. batch character string named list. using get_area_batch(), batch must character vector list type(s) area supported get_area(). area intersecting area adjusted area returned. Default: \"neighborhood\", \"council district\", \"csa\", \"tract\" using get_data_batch(), batch must character vector matching one spatial datasets included mapbaltimore package cached advance. \"osm_buildings\" special supported parameter calls get_area_osm_buildings() return building footprints bounding box. Default: c(\"streets\", \"parks\", \"zoning\", \"hmt_2017\", \"mta_bus_lines\", \"mta_bus_stops\", \"trees\", \"vegetated_area\", \"unimproved_property\"). named list list items sf objects, supported character strings, valid URLs ArcGIS FeatureServer MapServer layers also supported. Default: NULL crop FALSE, return data intersects bounding box area, street, intersection crop bounding box. parameter supported get_area_batch(). Default: TRUE. trim TRUE (adj NULL), trim data area, street, intersection. Default: FALSE. load TRUE, load datasets global environment, Default: TRUE cache TRUE, cache datasets package cache folder cache_baltimore_data(). Default FALSE. save TRUE, save selected areas datasets locally file (using filetype parameter file extension)., Default: FALSE filetype File extension supported sf::write_sf(), Default: 'geojson' crs Coordinate reference system ... Parameters passed get_area(), get_streets(), get_intersection() depending value get parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"","code":"if (FALSE) { # \\dontrun{ if (interactive()) { # Load streets and cached edge of pavement data for the Harwood neighborhood get_data_batch( get = \"area\", label = \"harwood\", type = \"neighborhood\", area_name = \"Harwood\", batch = c(\"streets\", \"edge_of_pavement\"), load = TRUE, save = FALSE ) # Save parks, trees, and vegetated area w/in 800 meters # of the intersection of E. Pratt and Light Sts. to GeoJSON files get_data_batch( get = \"intersection\", street_names = \"E PRATT ST & LIGHT ST\", adj = list(dist = 0, diag_ratio = NULL, asp = \"1:1\"), dist = 800, batch = c(\"parks\", \"trees\", \"vegetated_area\") ) } } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":null,"dir":"Reference","previous_headings":"","what":"Get intersections — get_intersection","title":"Get intersections — get_intersection","text":"Get intersections name id option apply buffer return streets edgement pavement instead intersection.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get intersections — get_intersection","text":"","code":"get_intersection( street_names = NULL, id = NULL, dist = 25, type = c(\"area\", \"edge_of_pavement\", \"streets\"), trim = TRUE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get intersections — get_intersection","text":"street_names street names matching one names named_intersections data. id id values corresponding one id values named_intersections data. dist buffer distance meters. Optional. type Type data return. \"area\" returns intersection center dist 0 circle centered intersection center positive dist value. \"edge_of_pavement\" \"streets\" return either cached edge pavement data street center line data. trim type \"edge_of_pavement\" \"streets\" trim TRUE return data trimmed buffered intersection, otherwise return data within bounding box, Default: TRUE","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get intersections — get_intersection","text":"Intersection center point, buffered area around intersection center, streets, edge pavement data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get intersections — get_intersection","text":"","code":"get_intersection(street_names = \"Overton St & S Chapelgate Lane\", dist = 30) #> Simple feature collection with 1 feature and 2 fields #> Geometry type: POLYGON #> Dimension: XY #> Bounding box: xmin: 425908.6 ymin: 178921.1 xmax: 425968.6 ymax: 178981.1 #> Projected CRS: NAD83(HARN) / Maryland #> id name geometry #> 1 74958 OVERTON ST & S CHAPELGATE LANE POLYGON ((425968.6 178951.1... get_intersection(id = \"41758\", dist = 425, type = \"streets\", trim = FALSE) #> Simple feature collection with 24 features and 1 field #> Geometry type: GEOMETRY #> Dimension: XY #> Bounding box: xmin: -8536815 ymin: 4767901 xmax: -8535714 ymax: 4769007 #> Projected CRS: WGS 84 / Pseudo-Mercator #> # A tibble: 24 × 2 #> fullname geometry #> #> 1 AYRDALE AVE MULTILINESTRING ((-8536096 4768614, -8536071 4768680, -85360… #> 2 BERWYN AVE MULTILINESTRING ((-8536330 4768609, -8536335 4768620, -85363… #> 3 BONNER ROAD MULTILINESTRING ((-8536101 4768098, -8536161 4768074), (-853… #> 4 CALLAWAY AVE MULTILINESTRING ((-8535905 4768392, -8535879 4768460), (-853… #> 5 CARSDALE AVE MULTILINESTRING ((-8536561 4768793, -8536559 4768801, -85365… #> 6 CHATHAM ROAD LINESTRING (-8535714 4768930, -8535773 4768954, -8535897 476… #> 7 CHELSEA TERR MULTILINESTRING ((-8536258 4767966, -8536265 4767981), (-853… #> 8 COPLEY ROAD MULTILINESTRING ((-8535725 4768467, -8535717 4768482), (-853… #> 9 DORCHESTER ROAD MULTILINESTRING ((-8536246 4768984, -8536290 4768984, -85363… #> 10 EGERTON ROAD MULTILINESTRING ((-8535797 4768658, -8535809 4768663), (-853… #> # ℹ 14 more rows"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":null,"dir":"Reference","previous_headings":"","what":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"function deprecated functionality now available mapmaryland::get_md_open_data() wraps general getdata::get_open_data() function. Get selected dataset using Socrata Query Language (SoQL) parameters tibble sf object. Details SoQL queries found Socrata API documentation https://dev.socrata.com/docs/queries/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"","code":"get_maryland_open_resource( resource = NULL, select = NULL, where = NULL, query = NULL, geometry = FALSE, area = NULL, bbox = NULL, longitude = \"longitude\", latitude = \"latitude\", trim = FALSE, key = Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\"), crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"resource Socrata dataset identifier selected dataset Maryland's Open Data portal select SODA $select parameter. Set columns returned, similar SELECT SQL. https://dev.socrata.com/docs/queries/select.html SODA $parameter. Filters rows returned, similar . https://dev.socrata.com/docs/queries/.html query SODA $query parameter. full SoQL query string, one parameter. https://dev.socrata.com/docs/queries/query.html geometry TRUE latitude/longitude columns available, return sf() object. Default FALSE. area sf object used generate bbox (used bbox NULL). Required use trim parameter. Default NULL. bbox bbox object generate query non-spatial resources latitude longitude columns. Default NULL. longitude Name column containing longitude data, Default: 'longitude' latitude Name column containing latitude data, Default: 'latitude' trim area provided, trim data area boundary rather bounding box, Default: FALSE. area must provided TRUE. crs Coordinate reference system return.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"","code":"if (FALSE) { # \\dontrun{ ## Get Q2 2020 vehicle crash data for Cecil County, Maryland get_maryland_open_resource( resource = \"65du-s3qu\", where = \"(year = '2020') AND (quarter = 'Q2') AND county_desc like 'Cecil'\" ) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_nearby_areas.html","id":null,"dir":"Reference","previous_headings":"","what":"Get nearby areas — get_nearby_areas","title":"Get nearby areas — get_nearby_areas","text":"Return areas selected type within set distance another area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_nearby_areas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get nearby areas — get_nearby_areas","text":"","code":"get_nearby_areas( area, type = c(\"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\"), dist = 1, exclude_area = TRUE, residential = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_nearby_areas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get nearby areas — get_nearby_areas","text":"area sf object. Must name column exclude_area work. type Required. Supported values include \"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\". type may different type area provided. dist Distance meters matching nearby areas. Default 1 meter. exclude_area Logical. Default TRUE. FALSE, include areas provided area (assuming areas provide type parameter provided get_nearby_areas). residential Logical. Default FALSE. type neighborhood, set TRUE return residential neighborhoods (excluding industrial areas, business parks, parks/reservoirs).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Get streets — get_streets","title":"Get streets — get_streets","text":"Get streets Baltimore City name option exclude streets name, crop bounding box, filter selected street types functional classifications.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get streets — get_streets","text":"","code":"get_streets( street_name, exclude_name = NULL, street_type = NULL, sha_class = NULL, block_num = NULL, bbox = NULL, union = TRUE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get streets — get_streets","text":"street_name Street names return. Required. exclude_name Street names exclude street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\"). supported sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") block_num Integer vector block number, e.g. 300, range block numbers (e.g. c(100, 500)) filter streets. bbox bbox crop returned streets. Optional. union Logical. TRUE, use st_union combine geometry fullname streets.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get streets — get_streets","text":"OUTPUT_DESCRIPTION","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get streets — get_streets","text":"DETAILS","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get streets — get_streets","text":"","code":"get_streets(street_name = \"UNIVERSITY PKWY\") #> Simple feature collection with 2 features and 1 field #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 431490.7 ymin: 184537.1 xmax: 433526.9 ymax: 186030.6 #> Projected CRS: NAD83(HARN) / Maryland #> # A tibble: 2 × 2 #> fullname geometry #> #> 1 E UNIVERSITY PKWY ((433012.2 184928.3, 433040.2 184906.5, 433058.1 184891.7, … #> 2 W UNIVERSITY PKWY ((431490.7 186021.5, 431503.9 186030.6), (432938.4 185006.9… get_streets(street_name = c(\"E FAYETTE\", \"ORLEANS\"), block_num = c(1700, 3600)) #> Warning: attribute variables are assumed to be spatially constant throughout all geometries #> Simple feature collection with 2 features and 1 field #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 435026.7 ymin: 180717.9 xmax: 437393.1 ymax: 180941.1 #> Projected CRS: NAD83(HARN) / Maryland #> # A tibble: 2 × 2 #> fullname geometry #> #> 1 E FAYETTE ST ((436092.7 180775.4, 436117.4 180777), (435315.1 180732.7, 43537… #> 2 ORLEANS ST ((435026.7 180867.6, 435088.5 180870.3, 435123.3 180872.4, 43513…"},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":null,"dir":"Reference","previous_headings":"","what":"Housing Market Typology 2017 — hmt_2017","title":"Housing Market Typology 2017 — hmt_2017","text":"2017 update City’s Housing Market Typology jointly developed Baltimore City Planning Department, Department Housing & Community Development, Reinvestment Fund.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Housing Market Typology 2017 — hmt_2017","text":"","code":"hmt_2017"},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Housing Market Typology 2017 — hmt_2017","text":"data frame 663 rows 15 variables: geoid U.S. Census Block Group GeoID geoid_part Identifier U.S. Census Block Group GeoID including part identifier part Part identifier cluster Housing market cluster cluster_group Housing market cluster median_sales_price Median sales price, Q3 2015 - Q2 2017 sales_price_variation Sales price variation, Q3 2015 - Q2 2017 num_sales Number residential sales, Q3 2015 - Q2 2017 num_foreclosure_filings Number foreclosure filings, Q3 2015 - Q2 2017 perc_foreclosure_sales Percent sales foreclosure, Q3 2015 - Q2 2017 perc_homeowners Percent owner occupied, July 2017 perc_permits_over10k Percent residential building permits $10,000, Q3 2015 - Q2 2017 vacant_lots_bldgs_per_acre_res Vacant lots buildings per residential acre, July 2017 units_per_acre_res Housing units per residential acre, July 2017 geometry MULTIPOLYGON geometry matching Census blocks groups parts block groups","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Housing Market Typology 2017 — hmt_2017","text":"https://opendata.baltimorecity.gov/egis/rest/services/Hosted/Housing_Market_Typology_2017/FeatureServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":null,"dir":"Reference","previous_headings":"","what":"INSPIRE Plans — inspire_plans","title":"INSPIRE Plans — inspire_plans","text":"Data frame boundary geometry INSPIRE Plans adopted progress.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"INSPIRE Plans — inspire_plans","text":"","code":"inspire_plans"},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"INSPIRE Plans — inspire_plans","text":"data frame 24 rows 23 variables: plan_name Plan name plan_name_short Plan name (short) overall_status Overall status inspire_lead_planner Lead INSPIRE Planner plan_url Baltimore City Department Planning plan webpage url year_launched Year launched year_adopted Year adopted Planning Commission adoption_status Planning Commission adoption status adoption_date Planning Commission adoption data document_url Adopted plan PDF url recommendation_report_status Recommendation report status recommendation_report_url Draft recommendation report PDF url kick_off_presentation_date Kick-presentation date launch_date_target Target launch date walking_route_id_target_date Primary walking route identification date recommendations_date_target Target draft recommendation report publication date commission_review_date_target Target Planning Commission review date implementation_status Plan implementation status program_numbers School program numbers planning_districts Planning Districts neighborhoods Neighborhoods council_districts Baltimore City Council Districts geometry MULTIPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"INSPIRE Plans — inspire_plans","text":"Last updated: 2024-03-29","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Layer for area data — layer_area_data","title":"Layer for area data — layer_area_data","text":"function deprecated functionality incorporated improved maplayer::layer_location_data() function uses similar set parameters. Layer ggplot show data area area bbox. Combines get_area_data geom_sf single call. Inherits data ggplot() data, extdata, cachedata left NULL. Set asis TRUE keep data crop area modified area. Optionally can combine data layer mask layer, area layer, additional number layers three. appearance area layer can modified fixed aesthetics using area_aes parameter. Fixed aesthetics data layer can added additional parameters.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Layer for area data — layer_area_data","text":"","code":"layer_area_data( area = NULL, bbox = NULL, data = NULL, extdata = NULL, cachedata = NULL, path = NULL, url = NULL, fn = NULL, asis = FALSE, diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), mapping = ggplot2::aes(), inherit.aes = TRUE, show_mask = FALSE, show_area = FALSE, area_aes = list(color = \"gray30\"), layer_after = NULL, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Layer for area data — layer_area_data","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. data sf object including data area extdata Character. Name external geopackage (.gpkg) file included package selected data available. Available data includes \"trees\", \"unimproved_property\", \"vegetated_area\" cachedata Character. Name cached geopackage (.gpkg) file selected data available. Running cache_mapbaltimore_data() caches data \"real_property\", \"baltimore_msa_streets\", \"edge_of_pavement\" path Character. Path local remote spatial data file supported sf::st_read() url Character. URL FeatureServer MapServer layer pass get_area_esri_data. fn Function apply area data returning. asis Logical. Default FALSE. TRUE, use inherited data without cropping area. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter. show_mask Logical. Default FALSE. TRUE, add mask using layer_area_mask show_area Logical. Default FALSE. TRUE, add outline area layer. area_aes List fixed aesthetics area layer. Default list(color = \"gray30\", fill = NA). Supported aesthetics include color, fill, linetype, alpha, size. Defaults color = \"gray30\", fill = NA, size = 0.75, alpha = 1, linetype = 0. Default aesthetics geom_sf ignored. layer_after ggplot objects append end data, mask, area layer list. intended used append scales, guides, labels related data layer. ... Arguments passed ggplot2::geom_sf, ggplot2::geom_sf mapping Set aesthetic mappings created aes(). specified inherit.aes = TRUE (default), combined default mapping top level plot. must supply mapping plot mapping. inherit.aes FALSE, overrides default aesthetics, rather combining . useful helper functions define data aesthetics inherit behaviour default plot specification, e.g. borders().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":"predefined-layers","dir":"Reference","previous_headings":"","what":"Predefined layers","title":"Layer for area data — layer_area_data","text":"NA","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":null,"dir":"Reference","previous_headings":"","what":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"function deprecated functionality incorporated improved maplayer::layer_mask() function uses similar set parameters. Returns mask area areas sf object. function can called function uses logical mask parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"","code":"layer_area_mask( area = NULL, diag_ratio = NULL, dist = NULL, asp = NULL, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), mask_bbox = NULL, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"area sf object. Required. multiple areas provided, areas combined single geometry sf::st_union() diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate reference system bounding box return mask_bbox bbox object define edge mask. diag_ratio, dist, asp parameters ignored mask_bbox provided. ... Additional parameters pass ggplot2::geom_sf()","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"ggplot2::geom_sf() function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"Real property parcel data Maryland State Department Assessment Taxation may include outdated inaccurate information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"","code":"layer_area_property( area = NULL, bbox = NULL, data = NULL, type = c(\"improved\", \"vacant\", \"principal residence\", \"use\", \"building type\", \"value\"), asis = FALSE, diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, show_area = FALSE, show_mask = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. data sf object including data area type Real property variable map. Options include c(\"improved\", \"vacant\", \"principal residence\", \"value\"). Currently supports one variable time. asis Logical. Default FALSE. TRUE, use inherited data without cropping area. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. show_area Logical. Default FALSE. TRUE, add outline area layer. show_mask Logical. Default FALSE. TRUE, add mask using layer_area_mask crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter. ... passed ggplot2::geom_sf() data layer.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"","code":"if (FALSE) { # \\dontrun{ area <- get_area(\"neighborhood\", \"West Forest Park\") property <- get_area_property(area = area) ggplot2::ggplot() + layer_area_property(area = area, data = property, type = \"principal residence\") } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","title":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","text":"Add layer gpplot2 map area streets, street names, .","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","text":"","code":"layer_area_streets( area = NULL, street_type = NULL, sha_class = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, trim = FALSE, msa = FALSE, show_streets = TRUE, show_names = FALSE, name_location = NULL, edge_dist = 10, color = \"gray40\", size = 1, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","text":"area sf object. Returns streets within area (adjustment dist, diag_ratio, asp parameters) street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\") sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim Logical. Default FALSE. Trim streets area using sf::st_intersection(). msa Logical. Default FALSE. Get streets cached baltimore_msa_streets.gpkg file using cachedata parameter get_area_data function. show_streets Logical. Default TRUE. FALSE, hides street center lines. show_names Logical. Default FALSE. TRUE, shows street names. name_location Options include c(\"area\", \"edge\", \"top\", \"left\", \"bottom\", \"right\", \"topleft\", \"topright\", \"bottomleft\", \"bottomright\"). Defaults NULL. edge_dist Distance buffer use placing street names. color Color streets /text street name labels. size Size streets /street name labels. ... parameters pass along ggplot2::geom_sf() maps streets.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"subset Maryland legislative districts Maryland iMap.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"","code":"legislative_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"data frame 6 rows 4 variables: name District name id District number label District label geometry MULTIPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"https://geodata.md.gov/imap/rest/services/Boundaries/MD_ElectionBoundaries_2022/FeatureServer/1","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"subset Maryland legislative districts Maryland iMap.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"","code":"legislative_districts_2012"},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"data frame 6 rows 4 variables: name District name id District number label District label geometry MULTIPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"https://geodata.md.gov/imap/rest/services/Boundaries/MD_ElectionBoundaries/FeatureServer/1","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Main Streets — main_streets","title":"Baltimore City Main Streets — main_streets","text":"Boundaries Baltimore City Main Street programs, including two programs currently funded formerly participated program.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Main Streets — main_streets","text":"","code":"main_streets"},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Main Streets — main_streets","text":"data frame 10 rows 7 variables: id Main Street ID source FeatureLayer name Main Street name name_abb Name abbreviation url Main Street partner organization URL funding_status Funding status (active inactive) name_short Short name geometry sfc list column MULTIPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Main Streets — main_streets","text":"https://services1.arcgis.com/43Lm3JYE3nM91DAF/arcgis/rest/services/MainStreets/FeatureServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":null,"dir":"Reference","previous_headings":"","what":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"Map showing BCPS school zones overlap provided area areas. area sf tibble includes multiple areas, separate map created area provided.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"","code":"map_area_bcps_programs(area)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"area sf object","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"","code":"if (FALSE) { # \\dontrun{ ## Map school attendance boundary zones for the Madison Park neighborhood madisonpark <- get_area( area_type = \"neighborhood\", area_name = \"Madison Park\" ) map_area_bcps_programs(area = madisonpark) } # } if (FALSE) { # \\dontrun{ ## Map school attendance boundary zones for City Council District 2 district9 <- get_area( type = \"council district\", area_name = \"9\" ) map_area_bcps_programs(area = district9) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_highlighted.html","id":null,"dir":"Reference","previous_headings":"","what":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","title":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","text":"Map highlighting location area context multiple areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_highlighted.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","text":"","code":"map_area_highlighted(area, highlight_name = \"all\")"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_highlighted.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","text":"area Required sf object 'name' column. highlight_name Character vector. Required. Use \"\" create grid maps highlighting area provided sf object provide name one areas highlight.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_areas.html","id":null,"dir":"Reference","previous_headings":"","what":"Map area within selected overlapping areas — map_area_in_areas","title":"Map area within selected overlapping areas — map_area_in_areas","text":"Map area areas within selected overlapping areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_areas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map area within selected overlapping areas — map_area_in_areas","text":"","code":"map_area_in_areas( area, type = c(\"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\"), show_area = TRUE, show_label = FALSE, background = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_areas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map area within selected overlapping areas — map_area_in_areas","text":"area sf object. Required type Type area map. Supports types get_area function. show_area Logical. Default TRUE. show_label Logical. Default FALSE. TRUE, label areas ggplot2::geom_sf_label() background ggplot layer. Default NULL. Passing ggplot2 layer may necessary appropriate background congressional district maps.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":null,"dir":"Reference","previous_headings":"","what":"Map area in the context of city boundaries — map_area_in_city","title":"Map area in the context of city boundaries — map_area_in_city","text":"Map showing location area within city.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map area in the context of city boundaries — map_area_in_city","text":"","code":"map_area_in_city(area, area_label = NULL)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map area in the context of city boundaries — map_area_in_city","text":"area sf object 'name' column. Required. area_label area label replace area name. Optional.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Map area in the context of city boundaries — map_area_in_city","text":"","code":"if (FALSE) { # \\dontrun{ ## Area with a defined label district2 <- get_area( type = \"council district\", area_id = \"2\" ) map_area_in_city( area = district2, area_label = \"Baltimore's Second Council District\" ) } # } if (FALSE) { # \\dontrun{ ## Multiple areas in a single map selected_se_neighborhoods <- get_area( type = \"neighborhood\", area_name = c(\"Upper Fells Point\", \"Fells Point\", \"Canton\") ) map_area_in_city( area = selected_se_neighborhoods, area_label = \"Southeast Baltimore neighborhoods\" ) } # } if (FALSE) { # \\dontrun{ ## Area with a defined map title canton_industrial <- get_area( type = \"neighborhood\", area_name = \"Canton Industrial Area\" ) map_area_in_city(area = canton_industrial) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_mta_services.html","id":null,"dir":"Reference","previous_headings":"","what":"Map MTA services — map_area_mta_services","title":"Map MTA services — map_area_mta_services","text":"Map MTA services. MTA bus lines currently supported service.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_mta_services.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map MTA services — map_area_mta_services","text":"","code":"map_area_mta_services( area, mta_services = \"bus_lines\", diag_ratio = 0.166, asp = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_mta_services.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map MTA services — map_area_mta_services","text":"area sf object. Required. mta_services Character vector. Default \"bus_lines\" use mta_bus_lines data. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\").","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_parks.html","id":null,"dir":"Reference","previous_headings":"","what":"Map area parks and open spaces — map_area_parks","title":"Map area parks and open spaces — map_area_parks","text":"Return ggplot map showing parks around selected area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_parks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map area parks and open spaces — map_area_parks","text":"","code":"map_area_parks( area, type = c(\"parks\", \"vacant lots\"), label = c(\"parks\"), dist = NULL, diag_ratio = 0.125, asp = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_parks.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map area parks and open spaces — map_area_parks","text":"area sf object. Required. type layers show map (\"parks\" \"vacant lots\"). Defaults . label layers label. \"parks\" supported. Use value exclude labels. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\").","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Real property or parcel data is from the Maryland State Department of Assessment and Taxation and may include outdated or inaccurate information. — map_area_property","text":"","code":"map_area_property( area, property = c(\"improved\", \"vacant\", \"principal residence\", \"use\", \"building type\", \"value\"), dist = NULL, diag_ratio = 0.1, asp = NULL, trim = FALSE, show_mask = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Real property or parcel data is from the Maryland State Department of Assessment and Taxation and may include outdated or inaccurate information. — map_area_property","text":"area Simple features object. Function currently supports single area time. property Real property variable map. Options include c(\"improved\", \"vacant\", \"principal residence\", \"value\"). Currently supports one variable time. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. show_mask TRUE, apply white, 0.6 alpha mask property located outside provided area. Default FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_zoning.html","id":null,"dir":"Reference","previous_headings":"","what":"Map zoning for an area (not working) — map_area_zoning","title":"Map zoning for an area (not working) — map_area_zoning","text":"Map zoning/zoning overlay codes area within city. 2017 zoning data include exemptions granted BMZA (Board Municipal Zoning Appeals).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_zoning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map zoning for an area (not working) — map_area_zoning","text":"","code":"map_area_zoning( area, category = c(\"all\", \"residential\", \"commercial\", \"industrial\"), diag_ratio = 0.125, asp = NULL, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_zoning.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map zoning for an area (not working) — map_area_zoning","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). category Zoning category return. \"\", \"residential\", \"commercial\", \"industrial\" diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mapbaltimore-package.html","id":null,"dir":"Reference","previous_headings":"","what":"mapbaltimore: Make maps for Baltimore City with open data — mapbaltimore-package","title":"mapbaltimore: Make maps for Baltimore City with open data — mapbaltimore-package","text":"package provides data Baltimore City, state Maryland, sources, functions access additional data, function create modify simple maps Baltimore neighborhoods using sf ggplot2.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/mapbaltimore-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"mapbaltimore: Make maps for Baltimore City with open data — mapbaltimore-package","text":"Maintainer: Eli Pousson eli.pousson@gmail.com (ORCID) [copyright holder]","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":null,"dir":"Reference","previous_headings":"","what":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"function add Maryland Open Data Portal API key .Renviron file can called securely without stored code. installed key, can called time typing Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\") can used package functions simply typing MARYLAND_OPEN_DATA_API_KEY .Renviron file, function create . already .Renviron file, function append key existing file, making backup original file disaster recovery purposes.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"","code":"maryland_open_data_api_key(key, overwrite = FALSE, install = FALSE)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"key API key provided Maryland Open Data Portal formatted quotes. key created signing https://imap.maryland.gov/Pages/open-data-portal-signup.aspx overwrite set TRUE, overwrite existing MARYLAND_OPEN_DATA_API_KEY already .Renviron file. install TRUE, install key .Renviron file use future sessions. Defaults FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"","code":"if (FALSE) { # \\dontrun{ MARYLAND_OPEN_DATA_API_KEY(\"111111abc\", install = TRUE) # First time, reload your environment so you can use the key without restarting R. readRenviron(\"~/.Renviron\") # You can check it with: Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\") } # } if (FALSE) { # \\dontrun{ # If you need to overwrite an existing key: MARYLAND_OPEN_DATA_API_KEY(\"111111abc\", overwrite = TRUE, install = TRUE) # First time, relead your environment so you can use the key without restarting R. readRenviron(\"~/.Renviron\") # You can check it with: Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\") } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"Maryland Department Transportation's Maryland Transit Administration Summer 2022 Bus Routes including CityLink, LocalLink, Express BusLink Commuter Bus services reflects bus route changes June 19, 2022. full details service change visit: https://www.mta.maryland.gov/servicechanges/summer2022","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"","code":"mta_bus_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"data frame 103 rows 4 variables: route_name Bus route name route_type Route type (CityLink, LocalLink, Commuter Bus) route_number Unique route number color identifier route_abb Route abbreviation (different route_number color CityLink routes) frequent Logical indicator route inclusion MTA BaltimoreLink's Frequent Transit Network. school Indicator school routes geometry MULTILINESTRING bus route geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"Maryland Transit - MTA Bus Lines (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"Maryland Department Transportation's Maryland Transit Administration Bus Stops including CityLink, LocalLink, Express BusLink, Commuter Bus. data based Winter 2023 schedule reflects bus stop changes February 5, 2023 Ridership data based Automatic Passenger Counting (APC) system average daily weekday bus stop ridership (boarding, alighting, total) Fall 2022 period exclude outliers. full details service change visit: https://www.mta.maryland.gov/servicechanges/winter2023","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"","code":"mta_bus_stops"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"data frame 4536 rows 14 variables: stop_id Stop identification number stop_name Stop name rider_on Average daily weekday count riders boarding transit stop rider_off Average daily weekday count riders alighting transit stop rider_total Average daily weekday count total riders served stop stop_ridership_rank Stop rank ridership routes_served Routes served stop mode Mode served stop shelter Logical indicator bus shelter availability county County stop located direction Route direction stop_location Stop location frequent Indicator stop serving frequent transit network geometry POINT stop location geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"Maryland Transit - MTA Bus Stops (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"Last updated Maryland iMap Source August 23, 2023.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"Location MTA Light Rail Stations.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"","code":"mta_light_rail_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"data frame 84 rows 8 variables: id Feature ID rail_name Line name (Light Rail Line) mode Facility mode (Light Rail) tunnel Tunnel indicator direction Travel direction miles Section mileage status Section status geometry LINESTRING line geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"Maryland Transit - Light Rail Lines (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"Locations stations Baltimore Light RailLink (Baltimore Light Rail) line operated Maryland Transit Administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"","code":"mta_light_rail_stations"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"data frame 33 rows 11 variables: id Feature ID name Station name address Station address city City state State zipcode Zipcode mode Facility mode (Light Rail) avg_wkdy Average weekday passengers avg_wknd Average weekend passengers facility_type Facility type geometry POINT geometry station locations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"Maryland Transit - Light RailLink Stations (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"MARC (Maryland Area Regional Commuter) Rail system lines operated Maryland Transit Administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"","code":"mta_marc_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"data frame 162 rows 8 variables: id Feature ID rail_name Rail line name mode Facility mode line name (MARC) tunnel Tunnel indicator direction Travel direction miles Section mileage status Section status geometry LINESTRING geometry rail lines","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"Maryland Transit - MARC Train Lines (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"Locations MARC (Maryland Area Regional Commuter) Rail stations operated Maryland Transit Administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"","code":"mta_marc_stations"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"data frame 44 rows 12 variables: id Feature ID name Station name address Station address city City state State zipcode Zipcode line_name Line name mode Facility mode line name (MARC) avg_wkdy Average weekday passengers avg_wknd Average weekend passengers facility_type Facility type (Station) geometry POINT geometry station location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"Maryland Transit - MARC Trains Stations (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"Route MTA SubwayLink Metro Line.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"","code":"mta_subway_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"data frame 34 rows 8 variables: id Feature id number integer rail_name Subway line name (Metro Line) mode Travel mode (Metro) tunnel Section tunnel indicator direction Travel direction miles Section mileage status Section status geometry MULTILINESTRING geometry lines","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"Baltimore Metro Subway Line","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"Location MTA SubwayLink Metro Stations.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"","code":"mta_subway_stations"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"data frame 14 rows 10 variables: id Station identification number integer name Station name address Station street address city City state State mode Travel mode (Metro) avg_wkdy Average weekday passengers avg_wknd Average weekend passengers facility_type Facility type (Station) geometry POINT station location geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"Baltimore Metro SubwayLink Stations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/named_intersections.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Street Intersection Names — named_intersections","title":"Baltimore City Street Intersection Names — named_intersections","text":"Index Baltimore City intersections using names street centerlines within 20 meters intersection boundaries. Data supports get_intersection() function. Updated 2022 October 13.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/named_intersections.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Street Intersection Names — named_intersections","text":"","code":"named_intersections"},{"path":"https://elipousson.github.io/mapbaltimore/reference/named_intersections.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Street Intersection Names — named_intersections","text":"data frame 11506 rows 3 variables: id Intersection identifier matching id edge_of_pavement data name Intersection name geometry POINT geometry intersection center","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":null,"dir":"Reference","previous_headings":"","what":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"Baltimore City neighborhoods (officially known Neighborhood Statistical Areas) established Baltimore City Department Planning based 2010 U.S. Decennial Census. Note boundaries may may used local community neighborhood associations area responsibility membership recruitment.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"","code":"neighborhoods"},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"data frame 278 rows 6 variables: name Neighborhood name type Type area, options including residential, industrial area, park/open space, institutionl area business park) acres Area neighborhood (acres) osm_id Open Street Map (OSM) relation identifier wikidata Wikidata entity identifier geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"Maryland Baltimore City Neighborhoods (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":null,"dir":"Reference","previous_headings":"","what":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"Baltimore City neighborhoods (officially known Neighborhood Statistical Areas) established Baltimore City Department Planning based 2020 U.S. Decennial Census. updated version 2010 Neighborhood Statistical Areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"","code":"neighborhoods_2020"},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"data frame 279 rows 8 variables: name Neighborhood name name_alt 2010 neighborhood name type Type area, options including residential, industrial area, park/open space, institutionl area business park) acres Area neighborhood (acres) osm_id Open Street Map (OSM) relation identifier wikidata Wikidata entity identifier color_id Color identifier geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"NSA_Feb2023_service","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/park_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore Park Districts — park_districts","title":"Baltimore Park Districts — park_districts","text":"Park districts Baltimore City Department Recreation Parks. District boundaries used park maintenance administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/park_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore Park Districts — park_districts","text":"","code":"park_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/park_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore Park Districts — park_districts","text":"data frame 5 rows 2 variables: name Park district name geometry MULTIPOLYGON geometry park district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Parks — parks","title":"Baltimore City Parks — parks","text":"Spatial data parks public recreation centers Baltimore City Baltimore City Department Recreation Parks. names updated use common names recent new official names package version may match city data cases. parks matched corresponding entities OpenStreetMap indicated osm_id column.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Parks — parks","text":"","code":"parks"},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Parks — parks","text":"data frame 321 rows 9 variables: name Park name id Identification number city data address Primary street address name_alt Alternate name num_parcels Number parcels park/open space operator Park operator, Baltimore City Department Recreation Parks (BCRP) management Park management/owner name (column name may change) class Park classification park_district Park maintenance district BCRP acres Area park property (acres) osm_id OpenStreetMap ID (node, way, relation) geometry MULTIPOLYGON geometry park edges","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Parks — parks","text":"https://services1.arcgis.com/UWYHeuuJISiGmgXx/arcgis/rest/services/Map_WFL1/FeatureServer/16","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Baltimore City Parks — parks","text":"Updated 2023-10-16 change recently updated city FeatureLayer source geometry.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::[\\%>\\%][magrittr::pipe] details.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Planning Districts — planning_districts","title":"Baltimore City Planning Districts — planning_districts","text":"Administrative boundaries set Baltimore City Department Planning. District planning staff assigned planning districts.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Planning Districts — planning_districts","text":"","code":"planning_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Planning Districts — planning_districts","text":"data frame 11 rows 4 variables: id Planning district area identifier name Full name planning district abb Planning district area abbreviation geometry MULTIPOLYGON geometry planning district","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Planning Districts — planning_districts","text":"https://geodata.baltimorecity.gov/egis/rest/services/CityView/PlanningDistricts/MapServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Police Districts (1959-2022) — police_districts","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"Baltimore City Police Districts established 1959 used 2022. Note data moved separate object historic district boundaries 2023.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"","code":"police_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"data frame 9 rows 3 variables: number Police district number name Police district name geometry MULITPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"https://geodata.baltimorecity.gov/egis/rest/services/Planning/Boundaries/MapServer/7","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Police Districts (2023-Current) — police_districts_2023","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"Baltimore City Police Districts boundaries updated 2023.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"","code":"police_districts_2023"},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"data frame 9 rows 4 variables: id Police district number name Police district name name_abb District name abbreviation geometry MULTIPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"https://services1.arcgis.com/UWYHeuuJISiGmgXx/arcgis/rest/services/Police_District/FeatureServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/public_art.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore public art works and monuments — public_art","title":"Baltimore public art works and monuments — public_art","text":"Data created Eli Pousson C. Ryan Patterson contributions staff volunteers Baltimore City Commission Historical Architectural Preservation, Baltimore Heritage, Baltimore Office Promotion Arts. Updated January 18, 2023. See https://publicartbaltimore.github.io/inventory/ information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/public_art.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore public art works and monuments — public_art","text":"","code":"public_art"},{"path":"https://elipousson.github.io/mapbaltimore/reference/public_art.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore public art works and monuments — public_art","text":"data frame 1140 rows 35 variables: id incomplete unique id column osm_id OpenStreetMap identifier title Artwork title location Location name type Artwork type medium Artwork medium status Artwork status year Artwork status year_accuracy Artwork status creation_dedication_date Creation/dedication date primary_artist Primary artist primary_artist_gender Primary artist gender (based name biographical information available) street_address Street address city City state State zipcode Zipcode dimensions Artwork dimensions program Commissioning program funding Primary funding source artist_assistants Artist assistants architect Architect fabricator Fabricator neighborhood Neighborhood csa Community Statistical Area council_district Baltimore City Council District legislative_district character Maryland State Legislative District location_desc character Location description indoor_outdoor_access Indoor/outdoor accessible subject_person Subject artworks (work depicts person) related_property Related property name property_ownership Related property ownership agency_or_insitution Agency/institution responsible wikipedia_url Wikipedia URL geometry POINT location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Recreation Centers — rec_centers","title":"Baltimore City Recreation Centers — rec_centers","text":"Currently includes publicly operated (BCRP) rec centers. Expect add private operator facilities. Added 2023-10-19.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Recreation Centers — rec_centers","text":"","code":"rec_centers"},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Recreation Centers — rec_centers","text":"data frame 48 rows 18 variables: id ID name Center name name_short Short name street_address Street address address Full address center_amenities Center amenities center_assets Center facility assets center_category Center category center_type Center type school_name School name (school-based centers ) operator Operator (BCRP ) recreation_district BCRP Recreation district park_district BCRP Park Maintenance District council_district City Council district legislative_district Maryland legislative district police_district BPD Police district (maybe outdated) notes Notes geometry POINT geometry center location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Recreation Centers — rec_centers","text":"https://services1.arcgis.com/UWYHeuuJISiGmgXx/arcgis/rest/services/recreationCenter2023/FeatureServer","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":null,"dir":"Reference","previous_headings":"","what":"311 Service Request Types for Baltimore City — request_types","title":"311 Service Request Types for Baltimore City — request_types","text":"list request types based unique request types used January 2019 October 2020.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"311 Service Request Types for Baltimore City — request_types","text":"","code":"request_types"},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"311 Service Request Types for Baltimore City — request_types","text":"data frame 320 rows 1 variable: request_type Service request type","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"311 Service Request Types for Baltimore City — request_types","text":"https://data.baltimorecity.gov/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"reference table responsible agency codes appearing Baltimore City real property data used get_area_property(). Updated 2023 March 29.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"","code":"respagency_codes"},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"data frame 37 rows 7 variables: name Responsible agency name code Responsible agency code agency_name Baltimore City agency/commission name agency_abb Baltimore City agency/commission abbreviation division_name Agency division name active_code Active code indicator (FALSE codes appear data) notes Notes code/agency","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"https://docs.google.com/spreadsheets/d/1Dnyp4-AZxvFPpt5Vci4NRWR9tGP99R8RaHuPCbzcGCA/edit?usp=sharing","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":null,"dir":"Reference","previous_headings":"","what":"Scales for Baltimore data — scale_mapbaltimore","title":"Scales for Baltimore data — scale_mapbaltimore","text":"Custom palettes two package datasets: mta_bus_lines hmt_2017 (cluster cluster group).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scales for Baltimore data — scale_mapbaltimore","text":"","code":"scale_mapbaltimore( palette = NULL, values = NULL, na.value = \"grey50\", aesthetics = c(\"color\", \"fill\"), error_call = caller_env(), ... ) scale_color_mapbaltimore(palette = NULL, na.value = \"grey50\", ...) scale_fill_mapbaltimore(palette = NULL, na.value = \"grey50\", ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scales for Baltimore data — scale_mapbaltimore","text":"palette Options include \"mta_bus\", \"hmt_2017\", \"hmt_cluster\", \"cluster\", \"hmt_cluster_group\", \"cluster_group\", Default: NULL values set aesthetic values map data values . values matched order (usually alphabetical) limits scale, breaks provided. named vector, values matched based names instead. Data values match given na.value. na.value Defaults \"grey50\" aesthetics Character string vector character strings listing name(s) aesthetic(s) scale works . can useful, example, apply colour settings colour fill aesthetics time, via aesthetics = c(\"colour\", \"fill\"). error_call execution environment currently running function, e.g. caller_env(). function mentioned error messages source error. See call argument abort() information. ... Arguments passed discrete_scale limits One : NULL use default scale values character vector defines possible values scale order function accepts existing (automatic) values returns new ones. Also accepts rlang lambda function notation. drop unused factor levels omitted scale? default, TRUE, uses levels appear data; FALSE includes levels factor. Please note display every level legend, layer use show.legend = TRUE. na.translate Unlike continuous scales, discrete scales can easily show missing values, default. want remove missing values discrete scale, specify na.translate = FALSE. name name scale. Used axis legend title. waiver(), default, name scale taken first mapping used aesthetic. NULL, legend title omitted. labels One : NULL labels waiver() default labels computed transformation object character vector giving labels (must length breaks) expression vector (must length breaks). See ?plotmath details. function takes breaks input returns labels output. Also accepts rlang lambda function notation. guide function used create guide name. See guides() information. call call used construct scale reporting messages. super super class use constructed scale","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Scales for Baltimore data — scale_mapbaltimore","text":"","code":"if (FALSE) { # \\dontrun{ if (interactive()) { library(ggplot2) ggplot(data = dplyr::filter(mta_bus_lines, frequent)) + geom_sf(aes(color = route_abb), alpha = 0.5, size = 2) + scale_mapbaltimore(palette = \"bus\") + theme_minimal() ggplot(data = hmt_2017) + geom_sf(aes(fill = cluster_group, color = cluster_group)) + scale_mapbaltimore(palette = \"cluster_group\") + theme_minimal() } } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore 21st Century Schools — schools_21stc","title":"Baltimore 21st Century Schools — schools_21stc","text":"Schools buildings 21st Century Schools Program. Updated 2022 October 13. data may contain -dated inaccurate information. See buildings_21stc building-level information (including accurate locations).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore 21st Century Schools — schools_21stc","text":"","code":"schools_21stc"},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore 21st Century Schools — schools_21stc","text":"data frame 29 rows 24 variables: school_name School name school_number School number nces_number NCES number grade_band Grade bane url School website URL year 21st Century School renovation/replacement complete type 21st Century School project type bldg_budget_approx Approximate building budget status_21c 21st Century School project status status_inspire INSPRE Plan status inspire_plan Related INSPIRE Plan occupancy_month Building occupancy month occupancy_year Building occupancy year address Street address city City state State zip Zipcode phone School phone number alt_school_name Alternate school name bldg_name Building name (applicable) alt_name Alternate/former names (applicable) lon Longitude lat Latitude geometry POINT geometry school locations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Baltimore 21st Century Schools — schools_21stc","text":"https://baltimore21stcenturyschools.org/school-projects","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":null,"dir":"Reference","previous_headings":"","what":"Set map limits to area — set_map_limits","title":"Set map limits to area — set_map_limits","text":"function deprecated functionality incorporated improved maplayer::layer_neatline() function uses similar set parameters. Set limits map bounding box area using coord_sf(). Optionally, adjust area size applying buffer /adjust aspect ratio limiting bounding box match set aspect ratio.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set map limits to area — set_map_limits","text":"","code":"set_map_limits( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), expand = FALSE, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set map limits to area — set_map_limits","text":"area sf object buffer /adjust. bbox bbox object buffer /adjust. area provided, bbox ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate reference system use coord_sf(). Default pkgconfig::get_config(\"mapbaltimore.crs\", 2804) expand Default FALSE. TRUE, use scale_y_continuous scale_x_continuous expand map extent provided parameters. ... Additional parameters pass coord_sf().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set map limits to area — set_map_limits","text":"ggplot2::coord_sf() function xlim ylim parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set map limits to area — set_map_limits","text":"Set map limits area optional buffer aspect ratio adjustment","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set map limits to area — set_map_limits","text":"","code":"# Show detailed city boundary with map focused on area of Fell's Point (with 50m buffer) library(ggplot2) ggplot() + geom_sf(data = baltimore_city_detailed) + set_map_limits(area = get_area(\"neighborhood\", \"Fells Point\"), dist = 50) #> Warning: `set_map_limits()` was deprecated in mapbaltimore 0.1.2. #> ℹ Please use `maplayer::layer_neatline()` instead. #> Warning: `adjust_bbox()` was deprecated in mapbaltimore 0.1.2. #> ℹ Please use `sfext::st_bbox_ext()` instead. #> ℹ The deprecated feature was likely used in the mapbaltimore package. #> Please report the issue at #> ."},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_theme.html","id":null,"dir":"Reference","previous_headings":"","what":"Set default map theme — set_map_theme","title":"Set default map theme — set_map_theme","text":"Set map theme using ggplot2::theme_set() default geom_label using ggplot2::update_geom_defaults(). Optionally hides axis text labels.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_theme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set default map theme — set_map_theme","text":"","code":"set_map_theme(map_theme = NULL, show_axis = FALSE)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_theme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set default map theme — set_map_theme","text":"map_theme ggplot2 theme. Optional. Defaults ggplot2::theme_minimal() show_axis Logical. TRUE, keep theme axis formatting. FALSE, hide panel grid, axis title, axis text.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Street Center Lines — streets","title":"Baltimore City Street Center Lines — streets","text":"Street center line data public streets Baltimore City, Maryland. Data used get_streets() function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Street Center Lines — streets","text":"","code":"streets"},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Street Center Lines — streets","text":"Simple feature collection 48,473 features 23 fields. type ... subtype ... subtype_label ... dirpre ... feanme ... featype ... dirsuf ... fraddl ... toaddl ... fraddr ... toaddr ... fraddla ... toaddla ... fraddra ... toaddra ... leftzip ... rightzip ... fullname ... sha_class ... sha_class_label ... blocktext ... block_num ... geometry ...","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Street Center Lines — streets","text":"https://dotgis.baltimorecity.gov/arcgis/rest/services/DOT_Map_Services/DOT_Basemap/MapServer/7","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":null,"dir":"Reference","previous_headings":"","what":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"Historic ward boundary data 1797 1918. Derived KML data provided Baltimore City Archives.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"","code":"wards_1797_1918"},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"data frame 245 rows 4 variables: year Earliest effective year ward boundary name Ward name number Ward number geometry MULTIPOLYGON geometry ward boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"https://msa.maryland.gov/bca/wards/index.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_block2tract.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","title":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","text":"crosswalk file used generate xwalk_neighborhood2tract.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_block2tract.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","text":"","code":"xwalk_block2tract"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_block2tract.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","text":"data frame 13598 rows 3 variables: block Block GeoID tract Tract GeoID households Block household population","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":null,"dir":"Reference","previous_headings":"","what":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"crosswalk match Community Statistical Areas Neighborhood Statistical Areas. Neighborhood Statistical Area name neighborhood name provided, NSA name matching crosswalk file provided BNIA-JFI neighborhood name matching neighborhoods data included mapbaltimore package. NSA boundaries may overlap several CSAs. 50% NSA falls within particular community assigned community. NSAs files assigned one community.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"","code":"xwalk_csa2nsa"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"data frame 278 rows 4 variables: id Community Statistical Area id number csa Community Statistical Area name nsa Neighborhood Statistical Area name neighborhood Neighborhood name","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"https://bniajfi.org/mapping-resources/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_neighborhood2tract.html","id":null,"dir":"Reference","previous_headings":"","what":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","title":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","text":"Share total households based proportion U.S. Census tract population within named neighborhood based overlapping U.S. Census Block groups.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_neighborhood2tract.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","text":"","code":"xwalk_neighborhood2tract"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_neighborhood2tract.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","text":"data frame 551 rows 4 variables: name Neighborhood name geoid GeoID U.S. Census tract tract Tract number weight_households Share total households neighborhood U.S. Census tract (based 2010 decennial Census). Variable code \"H013001\". weight_units Share occupied housing units neighborhood U.S. Census tract (based 2020 decennial Census PL-94171 redistricting data). Variable code \"H1_002N\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":null,"dir":"Reference","previous_headings":"","what":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"crosswalk match zipcodes Community Statistical Areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"","code":"xwalk_zip2csa"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"data frame 119 rows 3 variables: zip Zipcode csa Community Statistical Area name id Community Statistical Area id number","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"https://bniajfi.org/mapping-resources/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Zoning Code — zoning","title":"Baltimore City Zoning Code — zoning","text":"Baltimore City Zoning Code administered Baltimore City Department Housing Community Development (HCD) Office Zoning Administrator. office supports Board Municipal Zoning Appeals (BMZA).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Zoning Code — zoning","text":"","code":"zoning"},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Zoning Code — zoning","text":"data frame 2,406 rows 4 variables: zoning Zoning designation code overlay Overlay zone designation label Label combining zoning overlay zoning codes category_zoning Zoning code category name_zoning Zoning code name category_overlay Overlay code category name_overlay Overlay zoning name geometry MULTIPOLYGON geometry zoning areas","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Zoning Code — zoning","text":"https://geodata.baltimorecity.gov/egis/rest/services/Planning/Boundaries_and_Plans/MapServer/20","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-data-development-version","dir":"Changelog","previous_headings":"","what":"New data","title":"mapbaltimore (development version)","text":"Added buildings_21stc (2023-04-28), main_streets (2023-10-16), rec_centers (2023-10-19), neighborhoods_2020 (2023-11-06), police_districts_2023 (2023-11-10) spatial data. Added baltimore_area_xwalk (2023-11-06) reference data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"updated-data-development-version","dir":"Changelog","previous_headings":"","what":"Updated data","title":"mapbaltimore (development version)","text":"Update adopted_plans data (2023-10-19) reflect new source (adds 1 new plan 2023). Update baltimore_gis_index data (2023-05-26) reflect currently available layers update date. Update parks data use new BCRP layer includes community green spaces non-city owned open spaces (2023-10-16). Update mta_bus_stops use current winter 2023 service data correct issue frequency variable stops frequent service identified . Update baltimore_water data (2023-11-08) add acres column fill name column based intersections mapmaryland::md_water data. Update inspire_plans add program_numbers column (2024-03-29). Update chap_districts (2024-09-21) addition Sarah Ann CHAP District. Update baltimore_mihp (2024-10-28).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-or-modified-functions-development-version","dir":"Changelog","previous_headings":"","what":"New or modified functions","title":"mapbaltimore (development version)","text":"Add get_neighborhood() refactor get_baltimore_area() consistency getdata parameter names (2023-05-26).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"other-development-version","dir":"Changelog","previous_headings":"","what":"Other","title":"mapbaltimore (development version)","text":"Update package logo switch pkgdown site rendering GitHub actions (2023-06-13) Flag map_ functions deprecated (2024-10-28).","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-data-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"New data","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Add new chap_districts spatial data (2023-02-10). Add new version legislative_districts data rename prior version legislative_districts_2012. Add new baltimore_gis_index (2022-10-20) respagency_codes (2023-03-29) reference data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"updated-data-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"Updated data","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Update baltimore_mihp explore_baltimore spatial data (2023-03-29).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-or-modified-functions-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"New or modified functions","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Add get_baltimore_worker_flows() (2023-03-31) get_baltimore_esri_data() function. Deprecate get_area_data() function (2023-03-31).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"other-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"Other","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Move forcats, ggrepel, ggplot2 maplayer, naniar, progress, readr Imports Suggests. Remove baltimorecensus Imports.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"mapbaltimore-011-2022-10-13","dir":"Changelog","previous_headings":"","what":"mapbaltimore 0.1.1 (2022-10-13)","title":"mapbaltimore 0.1.1 (2022-10-13)","text":"haven’t consistent updating versions patch update preparation address issue (#3) version control package data starting deprecation process general utility functions (#4). Key changes since version 0.1.0.9001 include removing dependency {overedge}, adding new datasets (inspire_plans schools_21stc) updates column names attributes parks, bcps_programs, bcps_zones, public_art, surely others ’m missing.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"updated-data-0-1-0-9001","dir":"Changelog","previous_headings":"","what":"Updated data","title":"mapbaltimore 0.1.0.9001 (2022-01-10)","text":"Update neighborhoods include osm_id column + use “Institutional area” type value.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-or-modified-functions-0-1-0-9001","dir":"Changelog","previous_headings":"","what":"New or modified functions","title":"mapbaltimore 0.1.0.9001 (2022-01-10)","text":"Replace hard-coded CRS map_area_zoning() Update get_area_requests() support 2022 requests work w/ modified column names.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"mapbaltimore-0109000-2022-01-10","dir":"Changelog","previous_headings":"","what":"mapbaltimore 0.1.0.9000 (2022-01-10)","title":"mapbaltimore 0.1.0.9000 (2022-01-10)","text":"Initial release!","code":""}] +[{"path":"https://elipousson.github.io/mapbaltimore/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2020 Eli Pousson Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-areas","dir":"Articles","previous_headings":"","what":"Get areas","title":"Get areas and data to layer on a map","text":"get_area function uses dplyr::filter() select one areas specified type political administrative geography. can select one seven different types: Neighborhoods Baltimore City Council districts Maryland state legislative districts U.S. Congressional districts include Baltimore City Baltimore City Planning Districts Baltimore City Police Districts Baltimore City Community Statistical Areas","code":""},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-areas-by-name-or-id","dir":"Articles","previous_headings":"Get areas","what":"Get areas by name or id","title":"Get areas and data to layer on a map","text":"can review names (name) identifiers (id) type area looking corresponding column data. Typically, name column also work label area id column used unique identifier. names require exact match. example, get_baltimore_area(type = \"neighborhood\", name = \"Washington Village/Pigtown\") works get_baltimore_area(type = \"neighborhood\", name = \"Pigtown\") return error.","code":"# Show the first 3 council district names council_districts$name[1:3] #> [1] \"District 8\" \"District 7\" \"District 6\" # Get district 8 by name get_baltimore_area( type = \"council district\", name = \"District 8\" ) %>% map_area(\"name\") # Show the first 3 council district ids council_districts$id[1:3] #> [1] \"8\" \"7\" \"6\" # Get district 7 by id get_baltimore_area( type = \"council district\", id = 7 ) %>% map_area(\"id\")"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-multiple-areas","dir":"Articles","previous_headings":"Get areas","what":"Get multiple areas","title":"Get areas and data to layer on a map","text":"return multiple areas, can provide vector names identifiers. can also combine multiple areas single simple feature using union parameter. helpful want get data multiple neighborhoods time map single combined area. default area names concatenated using ampersand separator, however, length combined names difficult fit map often better replace name shorter alternative.","code":"area_multiple <- get_baltimore_area( type = \"neighborhood\", name = c(\"Mount Vernon\", \"Mid-Town Belvedere\", \"Seton Hill\") ) area_multiple %>% map_area(\"name\") area_multiple_union <- get_baltimore_area( type = \"neighborhood\", name = c(\"Mount Vernon\", \"Mid-Town Belvedere\", \"Seton Hill\"), union = TRUE ) area_multiple_union$name #> [1] \"Mid-Town Belvedere, Mount Vernon, and Seton Hill\" area_multiple_union$name <- \"Mount Vernon area\" area_multiple_union %>% map_area(\"name\")"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"get-data-for-an-area","dir":"Articles","previous_headings":"","what":"Get data for an area","title":"Get areas and data to layer on a map","text":"get_area_data() function offers great deal flexibility. can provide area get_area() simple feature polygon multipolygon located within Baltimore City (region using cached baltimore_msa_streets data set). can also provide bounding box created sf::st_bbox() function. illustrate options function, ’m getting downtown neighborhood simple feature object (area) making list ggplot2 layers, guide, scale (area_layer) reuse example maps section.","code":"area <- get_baltimore_area( type = \"neighborhood\", name = \"Downtown\" ) area_layer <- list( geom_sf(data = area, fill = \"grey90\", alpha = 0.8, color = \"grey20\", linetype = \"dotted\"), geom_sf_label(data = area, aes(label = name)), guides(fill = \"none\"), scale_fill_viridis_d() )"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"adjust-the-area-bounding-box","dir":"Articles","previous_headings":"Get data for an area","what":"Adjust the area bounding box","title":"Get areas and data to layer on a map","text":"order place area context, may want portion data surrounding area function returns data within bounding box area default. dimensions bounding box can adjusted using dist, diag_ratio, asp parameters. can access adjustments directly using buffer_area(), adjust_bbox_asp(), adjust_bbox() functions. functions used illustrate work use corresponding parameters get_area_data(). dist parameter passed sf::st_buffer() function used set buffer meters area. diag_ratio also used set buffer distances number represents proportion diagonal distance area bounding box. helpful set ratio scale proportion size area. asp parameter applied buffers applied. adjust_bbox_asp() function accepts either number, e.g. 1.5, string format commonly used aspect ratios, e.g. “6:4”. example shows extent square bounding box buffered downtown areas created .","code":"example_dist <- 50 example_diag_ratio <- 0.25 # 50 meter buffer area_dist <- sfext::st_buffer_ext(area, dist = example_dist) area_dist_bbox <- sfext::sf_bbox_to_sf(sf::st_bbox(area_dist)) # buffer 1/4 (0.25) of the diagonal distance of the bounding box area_diag_ratio <- sfext::st_buffer_ext(area, diag_ratio = example_diag_ratio) area_diag_ratio_bbox <- sfext::sf_bbox_to_sf(sf::st_bbox(area_diag_ratio)) ggplot() + geom_sf(data = area_dist, fill = \"purple\", alpha = 0.1) + geom_sf(data = area_dist_bbox, color = \"purple\", fill = NA) + geom_sf(data = area_diag_ratio, fill = \"darkorange\", alpha = 0.1) + geom_sf(data = area_diag_ratio_bbox, color = \"darkorange\", fill = NA) + area_layer example_asp <- \"1:1\" area_dist_asp <- sfext::st_bbox_asp(area_dist, asp = example_asp) %>% sfext::sf_bbox_to_sf() area_diag_ratio_asp <- sfext::st_bbox_asp(area_diag_ratio, asp = example_asp) %>% sfext::sf_bbox_to_sf() ggplot() + geom_sf(data = area_dist_asp, fill = \"purple\", color = \"purple\", alpha = 0.1) + geom_sf(data = area_diag_ratio_asp, fill = \"darkorange\", color = \"darkorange\", alpha = 0.1) + area_layer"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"cropping-and-trimming-data","dir":"Articles","previous_headings":"Get data for an area","what":"Cropping and trimming data","title":"Get areas and data to layer on a map","text":"Finally, area adjustments work combination get_location_data() function. default, data cropped bounding box provided area: data diag_ratio buffer: data using asp adjustment return square : can also avoid cropping want return full extent data even partially overlaps area bounding box. example, example crop = FALSE. want use crop = FALSE combination area adjustment parameters must either supply bounding box instead area adjust area using buffer_area() passing get_area_data() function. maps similar enough prior example ’ve hid results provided code sample. Depending type data working , may also want trim data area using sf::st_intersection() function. can’t trim area provide bounding box (bbox); must provide area. Similar crop, using trim = TRUE parameter ignores distance adjustments work around can used apply buffer area passing get_area_data(). trim parameter also supported get_location_data() get_osm_data() functions discussed detail article external, cached, remote data sources.","code":"get_location_data( location = area, data = council_districts ) %>% map_area(\"name\") + area_layer get_location_data( location = area, data = council_districts, diag_ratio = example_diag_ratio ) %>% map_area(\"name\") + area_layer get_location_data( location = area, data = council_districts, asp = example_asp ) %>% map_area(\"name\") + area_layer get_location_data( location = area, data = council_districts, crop = FALSE ) %>% map_area(\"name\") + area_layer get_location_data( location = sfext::st_buffer_ext(area, diag_ratio = example_diag_ratio), data = council_districts, crop = FALSE ) get_location_data( location = sf::st_bbox(area), data = council_districts, diag_ratio = example_diag_ratio, crop = FALSE ) area_trees <- get_location_data( location = sf::st_bbox(area), data = \"trees\", dist = example_dist, from_crs = 2804, package = \"mapbaltimore\" ) area_trees_trimmed <- get_location_data( location = area, data = \"trees\", dist = example_dist, trim = TRUE, package = \"mapbaltimore\" ) ggplot() + area_layer + geom_sf(data = area_trees, color = \"wheat3\") + geom_sf(data = area_trees_trimmed, color = \"forestgreen\", alpha = 0.8) area_trees_trimmed_diag_ratio <- get_location_data( location = sfext::st_buffer_ext(area, diag_ratio = example_diag_ratio), data = \"trees\", pkg = \"mapbaltimore\", trim = TRUE ) ggplot() + area_layer + geom_sf(data = area_trees_trimmed_diag_ratio, color = \"forestgreen\") + geom_sf(data = area_trees_trimmed, color = \"wheat3\")"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"layering-data-in-area-maps","dir":"Articles","previous_headings":"","what":"Layering data in area maps","title":"Get areas and data to layer on a map","text":"may wondering parameters may useful. maplayer::layer_location_data() function combines get_location_data() ggplot2::geom_sf() quickly turn data mapbaltimore ggplot maps. simple example turns streets parks data map downtown area. following example shows create new map layer using data imported Open Street Map. location provided, filtering takes place. can also pass url add data ArcGIS MapServer FeatureServer. Finally, can apply additional function data using lambda syntax used purrr. example, tree data includes dead trees removed displaying map.","code":"example_diag_ratio <- 0.05 layer_streets <- maplayer::layer_location_data( location = area, data = streets, color = \"gray60\", diag_ratio = example_diag_ratio ) layer_parks <- maplayer::layer_location_data( location = area, data = parks, fill = \"forestgreen\", diag_ratio = example_diag_ratio ) background_layers <- list(layer_streets, layer_parks) ggplot() + background_layers layer_area_buildings <- maplayer::layer_location_data( data = getdata::get_osm_data( location = area, diag_ratio = example_diag_ratio, key = \"building\", value = \"yes\", geometry = \"polygons\" ), fill = \"antiquewhite2\", color = NA, alpha = 1 ) #> ℹ OpenStreetMap data is licensed under the Open Database License (ODbL). #> Attribution is required if you use this data. #> • Learn more about the ODbL and OSM attribution requirements at #> #> This message is displayed once every 8 hours. ggplot() + background_layers + layer_area_buildings + labs(caption = \"© OpenStreetMap contributors\") parking_facility_url <- \"https://opendata.baltimorecity.gov/egis/rest/services/Hosted/Parking_Facilities/FeatureServer/0\" layer_area_parking <- maplayer::layer_location_data( location = area, data = parking_facility_url, diag_ratio = example_diag_ratio, color = \"gray10\", fill = \"yellow\", shape = 24, size = 4 ) ggplot() + background_layers + layer_area_buildings + layer_area_parking + ggtitle(\"Parking facilities in Downtown Baltimore\") layer_area_trees <- list( maplayer::layer_location_data( location = area, data = \"trees.gpkg\", package = \"mapbaltimore\", fn = ~ dplyr::filter(.x, condition != \"Dead\"), trim = TRUE, mapping = aes( size = dbh * 0.4, color = factor(condition, c(\"Good\", \"Fair\", \"Poor\")) ), alpha = 0.6 ), guides(size = \"none\"), labs(color = \"Tree condition\"), scale_color_manual(values = shades::gradient(c(\"forestgreen\", \"burlywood4\"), 3)) ) ggplot() + background_layers + layer_area_trees"},{"path":"https://elipousson.github.io/mapbaltimore/articles/get_area.html","id":"working-with-multiple-areas","dir":"Articles","previous_headings":"","what":"Working with multiple areas","title":"Get areas and data to layer on a map","text":"different ways use functions dataframe multiple areas. get_area_data() function always combines multiple areas single geometry returns data bounding box encompasses areas. want get data area separately, dplyr::nest_by() purrr::map_dfr() functions can used. following example also shows get_nearby_areas() can used return data frame overlapping immediately surrounding areas. Another approach relies using data inherited ggplot() option apply different aesthetics process data differently layer map.","code":"nearby_areas <- get_nearby_areas(area = area, type = \"neighborhood\") nearby_areas_nested <- dplyr::nest_by(nearby_areas, name, .keep = TRUE) nearby_parks <- purrr::map_dfr( nearby_areas_nested$data, ~ getdata::get_location_data( location = .x, data = parks, trim = TRUE ) %>% dplyr::bind_cols(neighborhood = .x$name) ) # FIXME: This isn't working! # ggplot() + # maplayer::layer_location_data(location = nearby_areas, data = streets, trim = TRUE, color = \"gray70\", crs = 2804) + # # layer_parks + # ggplot2::geom_sf(data = sf::st_make_valid(nearby_parks), aes(fill = neighborhood)) + # # scale_fill_viridis_d() + # labs(fill = \"Neighborhood\\nof park\") parks %>% ggplot() + maplayer::layer_location_data(location = area, trim = TRUE, fill = \"forestgreen\") + maplayer::layer_location_data(location = nearby_areas[6, ], trim = TRUE, fill = \"yellowgreen\")"},{"path":"https://elipousson.github.io/mapbaltimore/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Eli Pousson. Author, maintainer, copyright holder.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Pousson E (2024). mapbaltimore: Make maps Baltimore City open data. R package version 0.1.1.9001, https://elipousson.github.io/mapbaltimore/, https://github.com/elipousson/mapbaltimore.","code":"@Manual{, title = {mapbaltimore: Make maps for Baltimore City with open data}, author = {Eli Pousson}, year = {2024}, note = {R package version 0.1.1.9001, https://elipousson.github.io/mapbaltimore/}, url = {https://github.com/elipousson/mapbaltimore}, }"},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"mapbaltimore-","dir":"","previous_headings":"","what":"An R package for mapping in Baltimore","title":"An R package for mapping in Baltimore","text":"goal mapbaltimore package provide easy way create maps Baltimore neighborhoods, Council districts, areas using open data schools, housing, parks, public transit.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"An R package for mapping in Baltimore","text":"can install development version (including Suggested packages) GitHub :","code":"# install.packages(\"pak\") pak::pkg_install(\"elipousson/mapbaltimore\", dependencies = TRUE)"},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"data-and-reproducibility","dir":"","previous_headings":"","what":"Data and reproducibility","title":"An R package for mapping in Baltimore","text":"intent package always provide current version included administrative data. underlying data updated rolling basis, corresponding dataset mapbaltimore updated changes noted changelog. underlying data updated less frequently requires special review, older versions may archived year appended end dataset name. Package datasets currently known outdated included: csas: Multiple attribute names outdated. neighborhoods: new version now included neighborhoods_2020 police_districts: new version now included police_districts_2023 Users encouraged flag outdated datasets opening issue package repository.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"examples","dir":"","previous_headings":"","what":"Examples","title":"An R package for mapping in Baltimore","text":"mapbaltimore useful convenient access Baltimore spatial data neighborhoods streets parks. can download neighborhood boundary: use neighborhood (another location) filter data area: package datasets typically based official city state sources updated remove outdated information incorporate related information. example, parks data includes alternate names OpenStreetMap identifiers: zoning data labelled categorized based city zoning code: package includes bundled GeoPackage files data trees, vegetated areas, unimproved properties. also includes functions caching even larger datasets edge pavement geometry, parcel boundaries, street centerline data Baltimore metro area. Note, code package released MIT license, data mix public domain CC0 sources.","code":"library(sf) #> Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE library(ggplot2) library(mapbaltimore) theme_set(theme_void()) downtown <- get_baltimore_area( type = \"neighborhood\", name = \"Downtown\" ) downtown_boundary <- geom_sf( data = downtown, color = \"darkorange\", fill = NA, linewidth = 0.75, linetype = \"dashed\" ) dplyr::glimpse(downtown) #> Rows: 1 #> Columns: 6 #> $ name \"Downtown\" #> $ type \"Residential\" #> $ acres 260.7037 #> $ osm_id \"12792276\" #> $ wikidata \"Q3038329\" #> $ geometry MULTIPOLYGON (((-8527684 47... downtown_streets <- get_area_streets(downtown) downtown_map <- ggplot() + geom_sf(data = downtown_streets, color = \"gray70\") + downtown_boundary downtown_parks <- getdata::get_location_data(downtown, data = parks) downtown_zoning <- getdata::get_location_data(downtown, data = zoning, dist = 500, unit = \"m\") ggplot() + geom_sf(data = downtown_zoning, aes(fill = category_zoning), alpha = 0.3) + downtown_boundary downtown_trees <- getdata::get_location_data(downtown, data = \"trees\", package = \"mapbaltimore\", dist = 100, unit = \"m\") ggplot() + geom_sf(data = downtown_trees, color = \"darkgreen\", alpha = 0.25) + downtown_boundary"},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"required-packages","dir":"","previous_headings":"","what":"Required packages","title":"An R package for mapping in Baltimore","text":"mapbaltimore relies several non-CRAN packages actively developing. split many mapping data access functions originally created mapbaltimore three general packages imported mapbaltimore: sfext getdata maplayer package uses fork esri2sf R package access city state FeatureLayers building permit data, crime data, 311 service requests data sources.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"baltimore-and-maryland-data-packages","dir":"","previous_headings":"Related packages","what":"Baltimore and Maryland data packages","title":"An R package for mapping in Baltimore","text":"starting mapbaltimore package 2020, ’ve created two additional data packages: bcpss: Tabular spatial data Baltimore City School system. mapmaryland: Statewide spatial data U.S. Census Bureau sources along data access functions working Maryland Open Data portal Maryland iMap service. baltimorecensus: Data downloaded tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/index.html","id":"inspirational-packages","dir":"","previous_headings":"Related packages","what":"Inspirational packages","title":"An R package for mapping in Baltimore","text":"development mapbaltimore inspired part handful “place-based” R packages cities: nycgeo New York City gateway Saint Louis national level, tigris provides access boundary data geographies used U.S. Census Bureau. mapbaltimore uses tigris download U.S. Census geographies included package. Outside U.S., similar packages provide access varied boundary data Brazil geobr, Uruguay geouy, Chile chilemapas Mexico mxmaps.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":null,"dir":"Reference","previous_headings":"","what":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"function deprecated functionality incorporated improved sfext::st_bbox_ext() function uses similar set parameters. Takes area sf object bounding box returns bounding box matches provided aspect ratio contains area bounding box provided. Common aspect ratios include \"1:1\" (1), \"4:6\" (0.666), \"8.5:11\", \"16:9\" (1.777). asp parameter supports numeric values character strings ratios matching format \"width:height\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"","code":"adjust_bbox( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, crs = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"area sf object buffer /adjust. bbox bbox object buffer /adjust. area provided, bbox ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate reference system bounding box return","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"Class bbox object","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get bounding box buffered and adjusted to aspect ratio — adjust_bbox","text":"Get bounding box buffered adjusted match aspect ratio","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":null,"dir":"Reference","previous_headings":"","what":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"function deprecated functionality incorporated improved sfext::st_bbox_asp() function uses similar set parameters. Get bbox sf bbox object adjusted match aspect ratio Takes area sf bbox object returns bounding box matches aspect ratio provided asp contains area bounding box provided. Common aspect ratios include \"1:1\" (1), \"4:6\" (0.666), \"8.5:11\", \"16:9\" (1.777). asp parameter supports numeric values character strings ratios matching format \"width:height\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"","code":"adjust_bbox_asp(area = NULL, bbox = NULL, asp = NULL)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"area sf object bbox bbox object adjust asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\").","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adjust_bbox_asp.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get bounding box adjusted to match aspect ratio — adjust_bbox_asp","text":"bbox object","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":null,"dir":"Reference","previous_headings":"","what":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"Combined area plans LINCS corridor data Baltimore City Department Planning.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"","code":"adopted_plans"},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"data frame 59 rows 5 variables: plan_name Plan area name year_adopted Year adopted initiated program Planning program url URL plan website document geometry MULTIPOLYGON geometry plan areas MULTILINESTRING geometry LINCS corridors","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/adopted_plans.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Adopted city plans, accepted community-initiated plans, and LINCS corridors — adopted_plans","text":"<...>","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore Data Table Labels — balt_tbl_labs","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"data.frame labels use tables created using mapbaltimore data. Housing Market Typology 2017 data set labels included preset table functions yet implemented.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"","code":"balt_tbl_labs"},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"data frame 9 rows 7 variables: fn_name Function name table Table name col Column name label Column label definition Column variable definition (logical) source logical Column variable data source fmt Column data format","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/balt_tbl_labs.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore Data Table Labels — balt_tbl_labs","text":"https://docs.google.com/spreadsheets/d/1FXEJlhccnhoQmSO2WydBidXIw-f2lpomURDGy9KBgJw/edit?usp=sharing","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City WGS84 Bounding Box — baltimore_bbox","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"generalized boundary Baltimore City, Maryland (baltimore_city) converted bounding box object using EPSG:4326 coordinate reference system.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"","code":"baltimore_bbox"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"bbox class object.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_bbox.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City WGS84 Bounding Box — baltimore_bbox","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Block Groups - 2020 — baltimore_block_groups","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"U.S. Census Block Groups Baltimore city, Maryland downloaded U.S. Census Bureau API tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"","code":"baltimore_block_groups"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"data frame 618 rows 9 variables: tractce Census tract code blkgrpce Census block group number geoid Census block group identifier; concatenation state FIPS code, county FIPS code, census tract code, block group number namelsad translated legal/statistical area description block group number aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry POLYGON geometry block group boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_block_groups.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Census Block Groups - 2020 — baltimore_block_groups","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Blocks - 2020 — baltimore_blocks","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"U.S. Census Blocks Baltimore city, Maryland downloaded U.S. Census Bureau API tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"","code":"baltimore_blocks"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"data frame 13,598 rows 9 variables: tractce10 Tract FIPS blockce10 Block FIPS geoid10 Block GeoID name10 Block name aland10 Land area awater10 Water area intptlat10 Interior center point latitude intptlon10 Interior center point longitude geometry MULTIPOLYGON geometry block boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_blocks.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Census Blocks - 2020 — baltimore_blocks","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":null,"dir":"Reference","previous_headings":"","what":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"pre-built crosswalk data frame can filtered geography used getACS::use_area_xwalk() function. Crosswalk uses 2010 City Council district boundaries, 2010 2020 neighborhood (neighborhood statistical area) boundaries, current city planning districts.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"","code":"baltimore_census_xwalk"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"data frame 1024 rows 8 variables: geography Geography/area type GEOID 2020 Census GeoID TRACTCE20 2020 Census Tract ID name Area name POP20 Population area tract perc_POP20 Percent population area tract HOUSING20 Households/occupied housing units area tract perc_HOUSING20 Percent households area tract","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_census_xwalk.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Crosswalk for Baltimore areas and Census geography — baltimore_census_xwalk","text":"Created using getACS::make_area_xwalk() data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":null,"dir":"Reference","previous_headings":"","what":"Generalized political boundary for Baltimore City — baltimore_city","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"generalized boundary Baltimore City, Maryland using TIGER/Line Shapefiles data U.S. Census Bureau downloaded tigris::county_subdivisions().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"","code":"baltimore_city"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"data frame 1 row 3 variables: name County name countyfp 3-character county FIPS code geoid county identifier; concatenation state FIPS code county FIPS code aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Generalized political boundary for Baltimore City — baltimore_city","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":null,"dir":"Reference","previous_headings":"","what":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"detailed physical boundary Baltimore City filtered statewide detailed boundary data available Maryland iMap.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"","code":"baltimore_city_detailed"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"data frame 1 row 3 variables: name County name countyfp 3-character county FIPS code geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_city_detailed.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Detailed physical boundary for Baltimore City — baltimore_city_detailed","text":"Maryland Physical Boundaries - County Boundaries (Detailed)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_gis_index.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore ArcGIS Server index data — baltimore_gis_index","title":"Baltimore ArcGIS Server index data — baltimore_gis_index","text":"data.frame indexing layers, services, folders four ArcGIS Servers maintained Baltimore City Mayor's Office Information Technology (MOIT) Enterprise GIS (EGIS) program. limited number potential sensitive unresponsive server layers excluded. Used get_baltimore_esri_data() function. Updated 2023 May 26.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_gis_index.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore ArcGIS Server index data — baltimore_gis_index","text":"","code":"baltimore_gis_index"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_gis_index.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore ArcGIS Server index data — baltimore_gis_index","text":"data frame 1,324 rows 17 variables: name Name nm Name snake case type Service/layer type url Folder/service/layer URL urlType URL type folderPath Index type serviceName Service name serviceType Service type id integer Layer ID number parentLayerId integer Parent layer ID number serviceItemId integer Service item ID number defaultVisibility logical Layer default visibility minScale double Minimum scale maxScale integer Maximum scale geometryType Geometry type subLayerIds list Sublayer ID numbers supportsDynamicLegends logical Supports dynamic legends","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"Baltimore City properties included Maryland Inventory Historic Properties (MIHP). MIHP administrative inventory maintained Maryland Historical Trust, Maryland's statewide historic preservation office agency within Maryland Department Planning. boundaries represent property boundaries district boundaries depending type MIHP record. Updated 2024 October 29.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"","code":"baltimore_mihp"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"data frame 5,231 rows 14 variables: num_polys Number polygons mihp_id MIHP ID property_id Property ID mihp_num MIHP Number name Property name alternate_name Alternate property name full_address Full street address town Town name county County pdflink URL PDF MIHP form xcoord Longitude ycoord Latitude do_erecord Indicator electronic records. geometry MULTIPOLYGON geometry property/district boundaries.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_mihp.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Inventory of Historic Properties in Baltimore City — baltimore_mihp","text":"Maryland Inventory Historic Properties (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":null,"dir":"Reference","previous_headings":"","what":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"Counties boundaries Baltimore–Columbia–Towson Metropolitan Statistical Area (MSA) include Baltimore City, Baltimore County, Carroll County, Anne Arundel County, Howard County, Queen Anne's County, Harford County.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"","code":"baltimore_msa_counties"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"data frame 7 rows 13 variables: countyfp County FIPS code countyns County GNIS code geoid Unique county FIPS code (concatenation state county FIPS codes) name County name namelsad Concatenated variable length geographic area name legal/statistical area description (LSAD) lsad Legal/statistical area description (LSAD) classfp FIPS class code funcstat Functional status aland Land area (square meters) awater Water area (square meters) intptlat Latitude internal point intptlon Longitude internal point geometry MULTIPOLYGON geometry county boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_counties.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"County boundaries for the Baltimore–Columbia–Towson MSA — baltimore_msa_counties","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_water.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","title":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","text":"Downloaded using tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_water.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","text":"","code":"baltimore_msa_water"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_msa_water.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore Metropolitan Statistical Area (MSA) Water Polygons — baltimore_msa_water","text":"data frame 3,491 rows 9 variables: ansicode American National Standards Institute codes (ANSI codes) hydroid Unique key hydrographic features fullname Full name mtfcc MAF/TIGER Feature Class Code aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry POLYGON geometry water areas","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"U.S. Census Bureau explains \"Public Use Microdata Areas (PUMAs) non-overlapping, statistical geographic areas partition state equivalent entity geographic areas containing fewer 100,000 people ... Census Bureau defines PUMAs tabulation dissemination decennial census American Community Survey (ACS) Public Use Microdata Sample (PUMS) data.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"","code":"baltimore_pumas"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"data frame 5 rows 8 variables: pumace10 PUMA code geoid10 GeoID namelsad10 name translated legal/statistical area description code census tract aland10 land area (square meters) awater10 water area (square meters) intptlat10 latitude internal point intptlon10 longitude internal point geometry Polygon PUMA boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_pumas.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore PUMAS (Public Use Microdata Areas) - 2010 — baltimore_pumas","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Tracts - 2020 — baltimore_tracts","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"U.S. Census Tracts Baltimore city, Maryland downloaded U.S. Census Bureau API tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"","code":"baltimore_tracts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"data frame 199 rows 9 variables: tractce census tract code geoid nation-based census tract identifier; concatenation state FIPS code, county FIPS code, census tract number name Variable length geographic area name namelsad name translated legal/statistical area description code census tract aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point geometry Polygon tract boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_tracts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Census Tracts - 2020 — baltimore_tracts","text":"https://www.census.gov/geo/maps-data/data/tiger-line.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Water — baltimore_water","title":"Baltimore City Water — baltimore_water","text":"Detailed MULTIPOLYGON data area streams, lakes, water bodies Baltimore City.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Water — baltimore_water","text":"","code":"baltimore_water"},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Water — baltimore_water","text":"data frame 468 rows 6 variables: name Water feature name, available type Water type subtype Water subtype symbol Symbol water Water indicator acres Feature area acres geometry MULTIPOLYGON geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/baltimore_water.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Water — baltimore_water","text":"https://dotgis.baltimorecity.gov/arcgis/rest/services/DOT_Map_Services/DOT_Basemap/MapServer/7","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"Locations school buildings/school programs SY 2021-2022 joined location OpenStreetMap polygons tagged \"amenity:school\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"","code":"bcps_programs"},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"data frame 164 rows 7 variables: program_name_short Program school name (short) program_number Program number osm_name OpenStreetMap name osm_id OpenStreetMap identifier type Program type category Program category grade band, e.g. E, EM, H, etc. swing_space Program located temporary swing space; logical geometry MULTIPOLYGON geometry school program location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_programs.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Public School Programs (SY 2021-2022) — bcps_programs","text":"https://services3.arcgis.com/mbYrzb5fKcXcAMNi/ArcGIS/rest/services/SY2122_Ezones_and_Programs/FeatureServer/11","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"Baltimore City Public Schools School Zones also known School Attendance Zones.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"","code":"bcps_zones"},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"data frame 96 rows 4 variables: zone_name Program name zone appended program_number Program number program_name_short Program school name (short) type Program type category Program category grade band, e.g. E, EM, H, etc. geometry MULTIPOLYGON geometry school zone boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/bcps_zones.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Public Schools School Zones or School Attendance Zones (SY 2021-2022) — bcps_zones","text":"https://services3.arcgis.com/mbYrzb5fKcXcAMNi/ArcGIS/rest/services/SY2122_Ezones_and_Programs/FeatureServer/15","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buffer_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Get buffered area — buffer_area","title":"Get buffered area — buffer_area","text":"function deprecated functionality incorporated improved sfext::st_buffer_ext() function uses similar set parameters. Return sf object area buffer applied . buffer distance provided, default buffer calculated one-eighth diagonal distance bounding box (corner corner) area. metadata provided area remains .","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buffer_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get buffered area — buffer_area","text":"","code":"buffer_area(area, dist = NULL, diag_ratio = NULL)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/buffer_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get buffered area — buffer_area","text":"area sf object. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buildings_21stc.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore 21st Century Schools — buildings_21stc","title":"Baltimore 21st Century Schools — buildings_21stc","text":"Buildings constructed renovated 21st Century Schools Program. See schools_21stc school-level information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/buildings_21stc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore 21st Century Schools — buildings_21stc","text":"","code":"buildings_21stc"},{"path":"https://elipousson.github.io/mapbaltimore/reference/buildings_21stc.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore 21st Century Schools — buildings_21stc","text":"data frame 28 rows 20 variables: bldg_name Building name name Name (identical build name) bldg_name_short Short building name project_type Project type project_url Project URL building_occupied Building occupied year/season (scheduled occupation date) inspire_plan INSPIRE Plan inspire_plan_url INSPIRE Plan URL school_names School/program names school_names_short Short school/program names school_numbers School numbers grade_bands Schools grade bands grades_served Grades served address Street address city City state State zip Zip code lon Longitude (EPSG 4326) lat Latitude (EPSG 4326) geometry POINT geometry building locations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Cache data for mapbaltimore package — cache_baltimore_data","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"Cache data rappdirs::user_cache_dir(\"mapbaltimore\")","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"","code":"cache_baltimore_data(data = NULL, filename = NULL, overwrite = FALSE) cache_msa_streets( url = \"https://geodata.md.gov/imap/rest/services/Transportation/MD_HighwayPerformanceMonitoringSystem/MapServer/2\", filename = \"baltimore_msa_streets.gpkg\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), overwrite = FALSE ) cache_edge_of_pavement( url = \"https://gisdata.baltimorecity.gov/egis/rest/services/OpenBaltimore/Edge_of_Pavement/FeatureServer/0\", filename = \"edge_of_pavement.gpkg\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), overwrite = FALSE ) cache_baltimore_property( url = \"https://geodata.baltimorecity.gov/egis/rest/services/Housing/dmxOwnership/MapServer/0\", location = NULL, filename = \"baltimore_property.gpkg\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), overwrite = FALSE ) show_cached_files()"},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"data Data cache. filename File name use cached file. Defaults name data. data sf object make sure include file type, e.g. \"data.gpkg\", supported sf::write_sf(). data written rda readr::write_rds(). overwrite Logical. Default FALSE. TRUE, overwrite existing cached files use filename. url URL crs Coordinate reference system. location sf, sfc, bbox object (object convertible as_bbox(). Optional.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"show_cached_files() returns tibble columns: file, name file, size_MB, file size MB, modified, date time last modified","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/cache_baltimore_data.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Cache data for mapbaltimore package — cache_baltimore_data","text":"Use cache_msa_streets() download cache street centerline data counties Baltimore metropolitan area. Use cache_edge_of_pavement() download cache edge pavement data Baltimore city.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/chap_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"CHAP Historic Districts — chap_districts","title":"CHAP Historic Districts — chap_districts","text":"Historic districts designated Baltimore City Commission Historical Architectural Preservation (CHAP) local historic preservation office Baltimore City, Maryland. Updated 2024-09-21.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/chap_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"CHAP Historic Districts — chap_districts","text":"","code":"chap_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/chap_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"CHAP Historic Districts — chap_districts","text":"data frame 40 rows 7 variables: name Historic district name contact_name CHAP Staff contact name url URL CHAP website deed_covenant Design review required deed covenants overlaps_nr_district District also designated overlaps entirely designated National Register Historic District acres Acreage geometry MULTIPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/check_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Validate area provided to mapping or charting function. — check_area","title":"Validate area provided to mapping or charting function. — check_area","text":"Validate area mapping function another mapbaltimore function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/check_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Validate area provided to mapping or charting function. — check_area","text":"","code":"check_area(area)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/check_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Validate area provided to mapping or charting function. — check_area","text":"area sf object column named \"name.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":null,"dir":"Reference","previous_headings":"","what":"Charm City Circulator Routes — circulator_routes","title":"Charm City Circulator Routes — circulator_routes","text":"Baltimore City Department Transportation describes Charm City Circulator (CCC) \"fleet 24 free shuttles travel four routes central business district Baltimore City, Maryland.\" Harbor Connector (HC) \"extension CCC City’s free maritime transit service connecting 6 piers four vessels.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Charm City Circulator Routes — circulator_routes","text":"","code":"circulator_routes"},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Charm City Circulator Routes — circulator_routes","text":"data frame 6 rows 3 variables: route_name Route name alt_route_name Alternate route name geometry MULTILINESTRING geometry routes","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_routes.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Charm City Circulator Routes — circulator_routes","text":"Baltimore CityView - Charm City Circulator Routes","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":null,"dir":"Reference","previous_headings":"","what":"Charm City Circulator and Harbor Connector Stops — circulator_stops","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"Baltimore City Department Transportation describes Charm City Circulator (CCC) \"fleet 24 free shuttles travel four routes central business district Baltimore City, Maryland.\" Harbor Connector (HC) \"extension CCC City’s free maritime transit service connecting 6 piers four vessels.\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"","code":"circulator_stops"},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"data frame 111 rows 5 variables: stop_num Stop number integer stop_location Intersection location (address, intersection, landmark) corner Intersection corner route_name Route name geometry POINT geometry stop location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/circulator_stops.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Charm City Circulator and Harbor Connector Stops — circulator_stops","text":"Baltimore CityView - Charm City Circulator Stops","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Clip an area to a portion of the whole area — clip_area","title":"Clip an area to a portion of the whole area — clip_area","text":"function deprecated functionality incorporated improved sfext::st_clip() function uses similar set parameters. Clip based corner bounding box. Used street name location option within layer_area_streets","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Clip an area to a portion of the whole area — clip_area","text":"","code":"clip_area( area, clip = c(\"top\", \"right\", \"bottom\", \"left\", \"topright\", \"bottomright\", \"bottomleft\", \"topleft\"), flip = FALSE, edge = TRUE, edge_dist = 5 )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Clip an area to a portion of the whole area — clip_area","text":"area sf object clip clip Character string describing part area clip remove. Options include c(\"top\", \"right\", \"bottom\", \"left\", \"topright\", \"bottomright\", \"bottomleft\", \"topleft\"). NULL, area clipped full edge can returned. flip Logical. Default FALSE. TRUE, reverse select area removed, e.g. clip \"topright\" \"bottomleft\" area removed instead. edge Logical. Default TRUE. TRUE, edge clipped area returned. TRUE negative edge_dist, edges kept (center removed). TRUE positive edge_dist, full area removed buffer kept. FALSE, full clipped area returned. edge_dist Numeric. Distance meters use edge. Default 5 meters. Use negative values inside edge positive numbers outside edge.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/clip_area.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Clip an area to a portion of the whole area — clip_area","text":"sf object clipped based parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Congressional Districts for Baltimore City — congressional_districts","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"U.S. Congressional Districts overlapping Baltimore City. Downloaded tigris package.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"","code":"congressional_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"data frame 3 rows 15 variables: statefp 2-character state FIPS code cd116fp 116th congressional district FIPS code geoid GeoID namelsad concatenated variable length geographic area name legal/statistical area description (LSAD) lsad Legal/statistical area description (LSAD) cdsessn Congressional session code mtfcc MAF/TIGER Feature Class Code (MTFCC) funcstat functional status aland land area (square meters) awater water area (square meters) intptlat latitude internal point intptlon longitude internal point label Congressional District label name Congressional District name geometry MULTIPOLYGON geometry Congressional district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/congressional_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"U.S. Congressional Districts for Baltimore City — congressional_districts","text":"<...>","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Council Districts — council_districts","title":"Baltimore City Council Districts — council_districts","text":"Boundaries Baltimore City Council Districts used since 2012 (following boundary revisions completed 2011 based 2010 Decennial Census).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Council Districts — council_districts","text":"","code":"council_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Council Districts — council_districts","text":"data frame 14 rows 2 variables: id Number City Council district name Name City Council district geometry MULTIPOLYGON geometry fpr Council district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/council_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Council Districts — council_districts","text":"https://geodata.baltimorecity.gov/egis/rest/services/CityView/City_Council_Districts/MapServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":null,"dir":"Reference","previous_headings":"","what":"Community Statistical Areas (2010) — csas","title":"Community Statistical Areas (2010) — csas","text":"Community Statistical Areas (CSAs) clusters neighborhoods organized around U.S. Census tract boundaries Baltimore Neighborhood Indicators Alliance. cases, CSA boundaries may cross neighborhood boundaries. 55 CSAs Baltimore City. Neighborhood lines often fall along CSA boundaries. CSAs originally created 2002 revised publication Vital Signs 10 using new 2010 Census Tract boundaries. anticipated boundary revisions 2020.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Community Statistical Areas (2010) — csas","text":"","code":"csas"},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Community Statistical Areas (2010) — csas","text":"data frame 55 rows 3 variables: id Community Statistical Area id number name Community Statistical Area name url URL BNIA-JFI webpage Community Statistical Area geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/csas.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Community Statistical Areas (2010) — csas","text":"https://bniajfi.org/mapping-resources/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/erase_baltimore.html","id":null,"dir":"Reference","previous_headings":"","what":"Erase any are overlapping the geometry — erase_baltimore","title":"Erase any are overlapping the geometry — erase_baltimore","text":"Erase overlapping geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/erase_baltimore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Erase any are overlapping the geometry — erase_baltimore","text":"","code":"erase_baltimore_parks(x, ...) erase_baltimore_water(x, water = c(\"city\", \"msa\"), ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/erase_baltimore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Erase any are overlapping the geometry — erase_baltimore","text":"x sf, sfc, bbox object erase trim. ... Arguments passed sfext::st_erase flip TRUE, use sf::st_intersection() \"erase\" geometry x intersects y; FALSE use sf::st_difference() trim x y geometry, Default: FALSE. union TRUE, union y sf::st_union() applying difference/intersection; defaults TRUE. combine TRUE union = TRUE, combine y sf::st_combine() unioning. Defaults FALSE. water Type water data use, either baltimore_water baltimore_msa_water.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":null,"dir":"Reference","previous_headings":"","what":"Explore Baltimore Heritage Stories — explore_baltimore","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"table public stories Explore Baltimore Heritage website published Baltimore Heritage. text stories Explore Baltimore Heritage licensed CC 4.0 license. Updated 2023 March 29.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"","code":"explore_baltimore"},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"data frame 491 rows 10 variables: id Story identifier featured Featured indicator modified Modified date/time title Story title address Street address story location thumbnail URL thumbnail-size featured image fullsize URL full-size featured image url URL story geometry POINT story location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/explore_baltimore.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Explore Baltimore Heritage Stories — explore_baltimore","text":"https://explore.baltimoreheritage.org/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter streets — filter_streets","title":"Filter streets — filter_streets","text":"Internal function filtering streets multiple parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter streets — filter_streets","text":"","code":"filter_streets( x, sha_class = NULL, street_type = NULL, block_num = NULL, union = FALSE, bbox = NULL, call = caller_env() )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter streets — filter_streets","text":"x sf object streets filter sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\"). supported block_num Integer vector block number, e.g. 300, range block numbers (e.g. c(100, 500)) filter streets. union Logical. Default TRUE. Union geometry based fullname streets. bbox Bounding box filter passed location parameter getdata::get_location_data(). call execution environment currently running function, e.g. caller_env(). function mentioned error messages source error. See call argument abort() information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/filter_streets.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter streets — filter_streets","text":"streets filtered parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area of selected type — get_area","title":"Get area of selected type — get_area","text":"Get sf object one neighborhoods, Baltimore City Council districts, Maryland Legislative Districts, U.S. Congressional Districts, Baltimore Planning Districts, Baltimore Police Districts, Community Statistical Areas, park districts, Census blocks, block groups, tracts. Area type required can used combination area name, area id (supported data sets), location (address sf object). Name id supported U.S. Census geogrpahies. Use location parameter return areas selected type intersect specified location. get_baltimore_area() different parameter names (consistent getdata::get_location()) now recommended get_area() avoid name conflict sfext::get_area() function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area of selected type — get_area","text":"","code":"get_area( type = c(\"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\", \"block\", \"block group\", \"tract\"), area_name = NULL, area_id = NULL, location = NULL, union = FALSE, area_label = NULL ) get_baltimore_area( type = NULL, name = NULL, id = NULL, location = NULL, union = FALSE, label = NULL ) get_neighborhood(name, location = NULL, union = FALSE, ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area of selected type — get_area","text":"type Required. Area type matching one boundary datasets included mapbaltimore. Supported values include \"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\". U.S. Census geographies including \"block\", \"block group\", \"tract\" supported using location parameter . area_name name names matching id column data selected dataset. Character. area_id identifier identifiers matching id column selected dataset. supported datasets id column id may integer character depending dataset. location Location supports types values: address can geocoded using tidygeocoder::geo() sf object intersects selected area types. using sf object, CRS object must EPSG:2804. union TRUE multiple area names provided, area geometry combined sf::st_union(). Defaults FALSE. area_label Label use name area union TRUE additional label column union FALSE. union TRUE area_label provided, original area names concatenated single string. name Passed area_name get_baltimore_area() id Passed area_id get_baltimore_area() label Passed area_label get_baltimore_area() ... Additional parameters passed get_neighborhood() get_area()","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area of selected type — get_area","text":"","code":"# Get the Harwood neighborhood by name get_area( type = \"neighborhood\", area_name = \"Harwood\" ) #> Simple feature collection with 1 feature and 5 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8528544 ymin: 4767325 xmax: -8528124 ymax: 4768111 #> Projected CRS: WGS 84 / Pseudo-Mercator #> # A tibble: 1 × 6 #> name type acres osm_id wikidata geometry #> * #> 1 Harwood Residential 45.4 12752188 Q5677875 (((-8528312 4768109, -8528373 476… # Get City Council District 12 and 14 by id get_area( type = \"council district\", area_id = c(12, 14) ) #> Simple feature collection with 2 features and 2 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8531474 ymin: 4762774 xmax: -8524245 ymax: 4771257 #> Projected CRS: WGS 84 / Pseudo-Mercator #> id geometry name #> 12 14 MULTIPOLYGON (((-8529441 47... District 14 #> 13 12 MULTIPOLYGON (((-8528127 47... District 12 # Get the east and southeast planning districts and combine them get_area( type = \"planning district\", area_id = c(\"East\", \"Southeast\"), union = TRUE, area_label = \"East and Southeast Planning Districts\" ) #> Simple feature collection with 1 feature and 2 fields #> Geometry type: POLYGON #> Dimension: XY #> Bounding box: xmin: -8528420 ymin: 4761329 xmax: -8523353 ymax: 4768769 #> Projected CRS: WGS 84 / Pseudo-Mercator #> # A tibble: 1 × 3 #> name label geometry #> * #> 1 East Planning District and Southeast Planning… East… ((-8525611 4762323, -852… # Get legislative district for Walters Art Museum (600 N Charles St) get_area( type = \"legislative district\", location = \"600 N Charles St, Baltimore, MD 21201\" ) #> Error in address_to_sf(x, ...): The package \"tidygeocoder\" is required. # Get Census tracts for the Edmondson Village neighborhood get_area( type = \"tract\", location = get_area(\"neighborhood\", \"Edmondson Village\") ) #> Simple feature collection with 4 features and 8 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8537644 ymin: 4762456 xmax: -8534916 ymax: 4765683 #> Projected CRS: WGS 84 / Pseudo-Mercator #> tractce geoid name namelsad aland awater intptlat #> 1 280402 24510280402 2804.02 Census Tract 2804.02 561712 0 +39.2992263 #> 2 160801 24510160801 1608.01 Census Tract 1608.01 389703 0 +39.2980940 #> 3 160802 24510160802 1608.02 Census Tract 1608.02 1226587 0 +39.3002221 #> 4 200701 24510200701 2007.01 Census Tract 2007.01 1203683 0 +39.2900137 #> intptlon geometry #> 1 -076.6903724 MULTIPOLYGON (((-8537644 47... #> 2 -076.6840558 MULTIPOLYGON (((-8536821 47... #> 3 -076.6796308 MULTIPOLYGON (((-8537036 47... #> 4 -076.6807033 MULTIPOLYGON (((-8537028 47..."},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"get_area_911_calls() can return public records 911 calls service 2017 present year.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"","code":"get_area_911_calls( area_type = NULL, area_name = NULL, description = NULL, year = 2023, start_date = NULL, end_date = NULL, where = NULL, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"area_type Area type. Requires area_name also provided. Options include \"neighborhood\", \"council district\", \"police district\" area_name Area name. Requires area_type also provided. description String matching call description, e.g. \"DISORDERLY\", \"BURGLARY\", \"DISCHRG FIREARM\", etc. year numeric. Year calls service. Currently one year time supported (except years since 2021). NULL, oldest year start_date end_date used. start_date Character string format YYYY-MM-DD. Filters calls date. end_date Character string format YYYY-MM-DD. Filters calls date. string condition. Ignored area_type, area_name, start_date, end_date provided. ... Additional parameters passed getdata::get_esri_data() excluding url, , crs, .name_repair.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_911_calls.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area 911 calls for service from Open Baltimore — get_area_911_calls","text":"","code":"if (FALSE) { # \\dontrun{ get_area_911_calls( area_type = \"neighborhood\", area_name = \"Downtown\", start_date = \"2022-01-01\", end_date = \"2022-01-02\", description = \"AUTO\" ) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":null,"dir":"Reference","previous_headings":"","what":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"Get BCPS programs attendance zones local area","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"","code":"get_area_bcps_programs( area, dist = NULL, diag_ratio = NULL, asp = NULL, crop = TRUE, trim = FALSE, type = c(\"all\", \"zones\", \"programs\", \"other\") )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. type Type BCPS data return. \"\" returns named list following spatial data. \"zones\" returns attendance zones, \"programs\" returns locations programs (schools) zones intersecting area (even program located outside area), \"\" returns charter schools special schools located within specified area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_bcps_programs.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get BCPS programs and attendance zones for a local area — get_area_bcps_programs","text":"Returns named list overlapping BCPS attendance zones, program locations associated zones, additional programs located within area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_census_geography.html","id":null,"dir":"Reference","previous_headings":"","what":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","title":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","text":"Return sf object U.S. Census blocks, block groups, tracts overlapping area. default, least 25% tract area 30% block group area, 50% block area must within provided area returned. Returned sf object includes new columns combined land water area Census geography, Census geography area within provided area, percent Census geography area within provided area, percent provided area within Census geography area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_census_geography.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","text":"","code":"get_area_census_geography( area, geography = c(\"block\", \"block group\", \"tract\"), area_overlap = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_census_geography.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get U.S. Census geography overlapping with an area. — get_area_census_geography","text":"area sf object. geography Character vector type U.S. Census area_overlap Optional. numeric value less 1 greater 0 representing physical area geography within provided area return.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area citations from Open Baltimore — get_area_citations","title":"Get area citations from Open Baltimore — get_area_citations","text":"Get Environmental Control Board (ECB) citations 2007 2021.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area citations from Open Baltimore — get_area_citations","text":"","code":"get_area_citations( area_type = NULL, area_name = NULL, description = NULL, start_date = NULL, end_date = NULL, where = \"1=1\", geometry = TRUE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area citations from Open Baltimore — get_area_citations","text":"area_type Area type. Requires area_name also provided. Options include \"neighborhood\", \"council district\", \"police district\" area_name Area name. Requires area_type also provided. description String matching description citations, e.g. \"SIGNS\" filters citations \"PROHIBITED POSTING SIGNS PUBLIC PROPERTY\" start_date Character string format YYYY-MM-DD. Filters citations violation date. end_date Character string format YYYY-MM-DD. Filters citations violation date. string condition. Ignore condition area_type area_name provided. geometry Return sf object based lat/lon. Default TRUE. Set FALSE return citations missing coordinates. crs Coordinate reference system (CRS) return. Default 2804 ... Additional parameters passed getdata::get_esri_data() excluding url, , crs, .name_repair.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_citations.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area citations from Open Baltimore — get_area_citations","text":"","code":"# Get bulk trash citations for Council District 5 get_area_citations( area_type = \"council district\", area_name = \"5\", description = \"BULK TRASH\") #> ── Downloading \"ECB\" from Layer type: \"Table\" #> #> Simple feature collection with 1396 features and 30 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 424889.3 ymin: 184761.9 xmax: 430503.1 ymax: 189322.6 #> Projected CRS: NAD83(HARN) / Maryland #> # A tibble: 1,396 × 31 #> citation_no lien_code violation_date due_date agency #> * #> 1 04382735 L 2007-03-15 04:00:00 2007-04-14 04:00:00 DEPARTMENT OF … #> 2 05249719 L 2010-07-15 04:00:00 2010-08-14 04:00:00 BALTIMORE CITY… #> 3 05335070 L 2011-08-26 04:00:00 2011-09-25 04:00:00 BALTIMORE CITY… #> 4 50005016 L 2007-05-29 04:00:00 2007-06-28 04:00:00 DEPARTMENT OF … #> 5 50053941 L 2007-08-01 04:00:00 2007-08-31 04:00:00 DEPARTMENT OF … #> 6 50116920 L 2007-10-10 04:00:00 2007-11-09 05:00:00 DEPARTMENT OF … #> 7 50263862 L 2008-03-27 04:00:00 2008-04-26 04:00:00 DEPARTMENT OF … #> 8 50436708 L 2008-09-17 04:00:00 2008-10-17 04:00:00 DEPARTMENT OF … #> 9 50493634 L 2008-11-12 05:00:00 2008-12-12 05:00:00 DEPARTMENT OF … #> 10 50520915 L 2008-12-03 05:00:00 2009-01-02 05:00:00 DEPARTMENT OF … #> # ℹ 1,386 more rows #> # ℹ 26 more variables: fine_amount , description , balance , #> # last_paid_date , last_paid_amount , hearing_date , #> # hearing_request_received_date , citation_status , #> # violation_code_article , violation_code_section , #> # violation_location , block , lot , officer_id , #> # officer_presence_requested , hearing_status , hear_time , …"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crashes.html","id":null,"dir":"Reference","previous_headings":"","what":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","title":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","text":"function deprecated functionality incorporated improved mapmaryland::get_md_crash_data() function uses similar set parameters. Get vehicle crashes selected area Baltimore City.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crashes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","text":"","code":"get_area_crashes( area, start_year = 2020, end_year = 2020, geometry = FALSE, trim = FALSE, type = c(\"crash\", \"person\", \"vehicle\") )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crashes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get vehicle crashes for area in Baltimore from Maryland Open Data portal — get_area_crashes","text":"area sf object. start_year earliest year crash data return. Default 2020. end_year latest year crash data return. end_year provided, single year returned. Default 2020. geometry TRUE, return sf object. Default FALSE. trim TRUE, data trimmed area sf::st_intersection(). Default FALSE. type Data type return. Options include c(\"crash\", \"person\", \"vehicle\"). Data types correspond different tables. 'person', age crash column added based accident date date birth columns (removing suspected placeholder values).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area crimes from Open Baltimore — get_area_crime","title":"Get area crimes from Open Baltimore — get_area_crime","text":"Get reported crimes since 2014 specific area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area crimes from Open Baltimore — get_area_crime","text":"","code":"get_area_crime( area, description = NULL, date_range = NULL, where = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, unit = \"m\", trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area crimes from Open Baltimore — get_area_crime","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). description Crime type description. Supported options include \"AGG. ASSAULT\", \"ARSON\", \"AUTO THEFT\", \"BURGLARY\", \"COMMON ASSAULT\", \"HOMICIDE\", \"LARCENY\", \"LARCENY AUTO\", \"RAPE\", \"ROBBERY - CARJACKING\", \"ROBBERY - COMMERCIAL\", \"ROBBERY - RESIDENCE\", \"ROBBERY - STREET\", \"SHOOTING\". case sensitive. date_range Date range character vector format c(\"YYYY-MM-DD\", \"YYYY-MM-DD\"). Minimum maximum values used length greater 1. query string passed esri2sf, Default: NULL dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" trim TRUE, x trimmed y st_trim(). crs Cordinate reference system return, Default: 4326 sf_to_df() NULL df_to_sf().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_crime.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area crimes from Open Baltimore — get_area_crime","text":"","code":"if (FALSE) { # \\dontrun{ # Get shootings for the Lauraville area area <- get_area(\"neighborhood\", \"Barclay\") crimes <- get_area_crime( area = area, date_range = c(\"2022-01-01\", \"2022-12-31\"), description = \"SHOOTING\" ) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get local or cached data for an area — get_area_data","title":"Get local or cached data for an area — get_area_data","text":"Returns data selected area areas optional buffer. crop trim FALSE, function uses sf::st_intersects() filter data include full geometry anything overlaps area bbox (area provided).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get local or cached data for an area — get_area_data","text":"","code":"get_area_data( area = NULL, bbox = NULL, data = NULL, extdata = NULL, cachedata = NULL, path = NULL, url = NULL, fn = NULL, diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get local or cached data for an area — get_area_data","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. data sf object including data area extdata Character. Name external geopackage (.gpkg) file included package selected data available. Available data includes \"trees\", \"unimproved_property\", \"vegetated_area\" cachedata Character. Name cached geopackage (.gpkg) file selected data available. Running cache_mapbaltimore_data() caches data \"real_property\", \"baltimore_msa_streets\", \"edge_of_pavement\" path Character. Path local remote spatial data file supported sf::st_read() url Character. URL FeatureServer MapServer layer pass get_area_esri_data. fn Function apply area data returning. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_esri_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","title":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","text":"function deprecated functionality incorporated improved getdata::get_esri_data() function uses similar set parameters. Wraps esri2sf::esri2sf() function download ArcGIS FeatureServer MapServer.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_esri_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","text":"","code":"get_area_esri_data( area = NULL, bbox = NULL, url = NULL, where = \"1=1\", type = c(\"md food stores 2017 2018\", \"farmers markets 2020\", \"baltimore food stores 2016\", \"baltimore demolitions\", \"contour 2ft\", \"contours 10ft\", \"open vacant building notices\", \"liquor licenses\", \"fixed speed cameras\", \"red light cameras\", \"edge of pavement\"), dist = NULL, diag_ratio = NULL, asp = NULL, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_esri_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get data from an ArcGIS FeatureServer or MapServer — get_area_esri_data","text":"area sf object. Optional. used trim TRUE. bbox bbox object. Optional suggested avoid downloading entire layer. See sf::st_bbox() information. url FeatureServer MapServer url retrieve data . Passed url parameter esri2sf::esri2sf() function. string condition. Default 1=1 rows. type Type data get. Options include \"md food stores 2017 2018\", \"farmers markets 2020\", \"baltimore food stores 2016\", \"baltimore demolitions\", \"contour 2ft\", \"contours 10ft\", \"open vacant building notices\", \"liquor licenses\", \"fixed speed cameras\", \"red light cameras\", \"edge pavement\" dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim Logical. Default FALSE. TRUE, area required. crs Coordinate reference system. Default 2804.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_osm_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Open Street Map features for area — get_area_osm_data","title":"Get Open Street Map features for area — get_area_osm_data","text":"function deprecated functionality incorporated improved getdata::get_osm_data() function uses similar set parameters. Wraps osmdata functions.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_osm_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Open Street Map features for area — get_area_osm_data","text":"","code":"get_area_osm_data( area = NULL, bbox = NULL, key, value = NULL, return_type = c(\"osm_polygons\", \"osm_points\", \"osm_lines\", \"osm_multilines\", \"osm_multipolygons\"), dist = NULL, diag_ratio = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_osm_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Open Street Map features for area — get_area_osm_data","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object buffer /adjust. area provided, bbox ignored. key feature key overpass query. key \"building\" value NULL, preset list tag values used return available buildings bounding box. value feature key; can negated initial exclamation mark, value = \"!\", can also vector, value = c (\"\", \"\"). return_type Character vector length 1 geometry type return. Defaults returningpolygons. Set NULL return types. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop Logical. Default TRUE. TRUE, use sf::st_crop() trim results area bounding box. trim Logical. Default FALSE. TRUE, use sf::st_intersection() function trim results area polygon. crs EPSG code coordinate reference system plot. Default 2804. See https://epsg.io/ information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_permits.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area building permits from Open Baltimore — get_area_permits","title":"Get area building permits from Open Baltimore — get_area_permits","text":"Get building permits 2019 present.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_permits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area building permits from Open Baltimore — get_area_permits","text":"","code":"get_area_permits( area, year = 2022, date_range = NULL, permit_type = NULL, where = NULL, dist = NULL, diag_ratio = NULL, unit = \"m\", asp = NULL, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_permits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area building permits from Open Baltimore — get_area_permits","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). year Year. Must 2019 later. date_range Date range character vector format c(\"YYYY-MM-DD\", \"YYYY-MM-DD\"). Minimum maximum values used length greater 1. permit_type Optional. Supported values include \"USE\", \"DEM\", \"COM\", \"BMZ\". string condition. permit_type year ignored custom provided. Set \"1=1\" return data years since 2019. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. trim TRUE, x trimmed y st_trim(). crs Cordinate reference system return, Default: 4326 sf_to_df() NULL df_to_sf(). ... Additional parameters passed getdata::get_esri_data().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":null,"dir":"Reference","previous_headings":"","what":"Get real property data — get_area_property","title":"Get real property data — get_area_property","text":"Get showing parcels described owner occupied, non-owner occupied, vacant, unimproved. Real property parcel data Maryland State Department Assessment Taxation may include errors.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get real property data — get_area_property","text":"","code":"get_area_property( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, unit = \"m\", asp = NULL, crop = TRUE, trim = FALSE, cache = FALSE, filename = NULL, overwrite = FALSE, ... ) format_property_data(data)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get real property data — get_area_property","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. cache TRUE, cache data mapbaltimore cache folder. Defaults FALSE. filename File name use cached file. Defaults name data. data sf object make sure include file type, e.g. \"data.gpkg\", supported sf::write_sf(). data written rda readr::write_rds(). overwrite Logical. Default FALSE. TRUE, overwrite existing cached files use filename. ... Additional parameters passed getdata::get_esri_data(). data sf object including data area","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_property.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get real property data — get_area_property","text":"","code":"get_area_property( area = neighborhoods[1, ], dist = -150, unit = \"m\" ) #> ── Downloading \"Property Information\" from Layer type: \"Feature Layer\" #> Geometry type: \"esriGeometryPolygon\" #> Service CRS: \"EPSG:2248\" #> Output CRS: \"EPSG:3857\" #> #> Simple feature collection with 94 features and 86 fields #> Geometry type: MULTIPOLYGON #> Dimension: XY #> Bounding box: xmin: -8528406 ymin: 4768303 xmax: -8528315 ymax: 4768626 #> Projected CRS: WGS 84 / Pseudo-Mercator #> First 10 features: #> objectid pin pinrelate blocklot block lot ward section assessor taxbase #> 1 126108 3857A001 3857A001 3857A001 3857A 001 12 200 331 199533 #> 2 126109 3857A002 3857A002 3857A002 3857A 002 12 200 331 183333 #> 3 126110 3857A003 3857A003 3857A003 3857A 003 12 200 331 193300 #> 4 126111 3857A004 3857A004 3857A004 3857A 004 12 200 331 183333 #> 5 126112 3857A005 3857A005 3857A005 3857A 005 12 200 331 183333 #> 6 126113 3857A006 3857A006 3857A006 3857A 006 12 200 331 186033 #> 7 126114 3857A007 3857A007 3857A007 3857A 007 12 200 331 185733 #> 8 126115 3857A008 3857A008 3857A008 3857A 008 12 200 331 186300 #> 9 126116 3857A009 3857A009 3857A009 3857A 009 12 200 331 204967 #> 10 126117 3857A010 3857A010 3857A010 3857A 010 12 200 331 311533 #> bfcvland bfcvimpr landexmp imprexmp citycred statcred ccredamt scredamt #> 1 NA 100200 0 0 0 0 764.58 0 #> 2 NA 86600 0 0 0 0 70.54 0 #> 3 NA 96900 0 0 0 0 44.17 0 #> 4 NA 86600 0 0 0 0 540.44 0 #> 5 NA 86600 0 0 0 0 0.00 0 #> 6 NA 88900 0 0 0 0 75.33 0 #> 7 NA 88600 0 0 0 0 0.00 0 #> 8 NA 89100 0 0 0 0 0.00 0 #> 9 NA 106700 0 0 0 0 68.15 0 #> 10 NA 196600 0 0 0 0 277.89 0 #> permhome assesgrp lot_size no_imprv currland currimpr exmpland exmpimpr #> 1 H 2 16X100 N 80000 129200 0 0 #> 2 H 2 15-6X100 N 80000 111700 0 0 #> 3 H 2 15-6X100 N 80000 121500 0 0 #> 4 H 2 15-6X100 N 80000 111700 0 0 #> 5 N 2 15-6X100 N 80000 111700 0 0 #> 6 H 2 15-6X100 N 80000 114600 0 0 #> 7 N 2 15-6X100 N 80000 114300 0 0 #> 8 H 2 15-6X100 N 80000 114900 0 0 #> 9 H 2 15-6X100 N 80000 134100 0 0 #> 10 H 2 15-6X100 N 80000 249000 0 0 #> fullcash exmptype exmpcode usegroup zoning sdatcode artaxbas distswch #> 1 0 00 R R-7 11130 199533 Y #> 2 0 00 R R-7 11130 183333 Y #> 3 0 00 R R-7 11130 193300 Y #> 4 0 00 R R-7 11130 183333 Y #> 5 0 00 R R-7 11130 183333 Y #> 6 0 00 R R-7 11130 186033 Y #> 7 0 00 R R-7 11130 185733 Y #> 8 0 00 R R-7 11130 186300 Y #> 9 0 00 R R-7 11130 204967 Y #> 10 0 00 R R-7 11130 311533 Y #> dist_id statetax city_tax ar_owner deedbook deedpage sale_date owner_abbr #> 1 3 223.48 4485.50 H PMB07553 0345 07301998 NA #> 2 3 205.33 4121.33 H FMC12730 0091 06232010 NA #> 3 3 216.50 4345.38 H XAC27165 0252 08292024 NA #> 4 3 205.33 4121.33 H FMC08531 0007 06141999 NA #> 5 3 205.33 4121.33 N MB 23382 0004 07132021 NA #> 6 3 208.36 4182.02 H FMC13489 0411 05102011 NA #> 7 3 208.02 4175.28 N FMC01494 0462 06272001 NA #> 8 3 208.66 4188.02 H MB 25364 0420 12092022 NA #> 9 3 229.56 4607.66 H MB 19079 0214 04242017 NA #> 10 3 348.92 7003.26 H MB 24554 0081 05022022 NA #> owner_1 owner_2 owner_3 full_address #> 1 WEINSTEIN, MATTHEW KESSLER, LAURA T 3001 ABELL AVE #> 2 WEBER, JESSICA 3003 ABELL AVE #> 3 HALL, LAURA COOPER 3005 ABELL AVE #> 4 MOORE, BETTY A 3007 ABELL AVE #> 5 WESOLVE54 LLC 3009 ABELL AVE #> 6 WALSH, EAMON F 3011 ABELL AVE #> 7 JACKSON, MARGARET A. 3013 ABELL AVE #> 8 BERGER, MAX DODSON, KIMBERLY 3015 ABELL AVE #> 9 ADAMS, KEITH ADAMS, NAOMI 3017 ABELL AVE #> 10 EMBRY, JULIA M 3019 ABELL AVE #> street_dir_prefix street_name street_type bldg_num fraction unit_num #> 1 ABELL AVE 3001 #> 2 ABELL AVE 3003 #> 3 ABELL AVE 3005 #> 4 ABELL AVE 3007 #> 5 ABELL AVE 3009 #> 6 ABELL AVE 3011 #> 7 ABELL AVE 3013 #> 8 ABELL AVE 3015 #> 9 ABELL AVE 3017 #> 10 ABELL AVE 3019 #> span_num spanfrac zip_code zip_code_ext dhcd_use dhcduse2 dhcduse3 dhcduse4 #> 1 0 21218 3913 1008 0000 0000 0000 #> 2 0 21218 3913 1008 0000 0000 0000 #> 3 0 21218 3913 1008 0000 0000 0000 #> 4 0 21218 3913 1008 0000 0000 0000 #> 5 0 21218 3913 1008 0000 0000 0000 #> 6 0 21218 3913 1008 0000 0000 0000 #> 7 0 21218 3913 1008 0000 0000 0000 #> 8 0 21218 3913 1008 0000 0000 0000 #> 9 0 21218 3913 1008 0000 0000 0000 #> 10 0 21218 3913 1008 0000 0000 0000 #> dwelunit eff_unit roomunit rpdeltag agency sale_price propdesc neighborhood #> 1 1 0 0 79000 ABELL #> 2 1 0 0 215000 ABELL #> 3 1 0 0 380000 ABELL #> 4 1 0 0 62000 ABELL #> 5 1 0 0 50000 ABELL #> 6 1 0 0 135000 ABELL #> 7 1 0 0 0 ABELL #> 8 1 0 0 250000 ABELL #> 9 1 0 0 260000 ABELL #> 10 1 0 0 325000 ABELL #> srvccntr year_built structarea ldate ownmde grndrent subtype_geodb #> 1 5 1900 1900 11102024 F 0 1 #> 2 5 1900 1654 11102024 F 0 1 #> 3 5 1900 1654 11102024 F 0 1 #> 4 5 1900 1654 11102024 L 90 1 #> 5 5 1900 1654 11102024 F 0 1 #> 6 5 1900 1654 11102024 L 90 1 #> 7 5 1900 1654 11102024 L 90 1 #> 8 5 1900 1654 11102024 F 0 1 #> 9 5 1900 1654 11102024 L 78 1 #> 10 5 1900 1654 11102024 F 0 1 #> sdatlink #> 1 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=001 #> 2 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=002 #> 3 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=003 #> 4 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=004 #> 5 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=005 #> 6 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=006 #> 7 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=007 #> 8 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=008 #> 9 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=009 #> 10 http://sdat.dat.maryland.gov/realproperty/pages/viewdetails.aspx?County=03&SearchType=ACCT&Ward=12&SECTION=20&BLOCK=3857A&LOT=010 #> blockplat #> 1 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 2 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 3 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 4 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 5 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 6 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 7 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 8 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 9 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> 10 https://gis.baltimorecity.gov/zoning/blockplats/3857A.pdf #> mailtoadd vacind shape_st_area #> 1 3001 ABELL AVE, 21218 N 1509.458 #> 2 3003 ABELL AVE, 21218 N 1509.907 #> 3 3005 ABELL AVE, 21218 N 1634.483 #> 4 3007 ABELL AVE, 21218 N 1567.804 #> 5 8221 PLEASANT PLAINTS RD, 21286 N 1557.152 #> 6 1560 FALLING BROOK CT ODENTON, MD, 21113 N 1481.055 #> 7 950 SHOREPOINT CT #202 ALAMEDA, CA, 94501 N 1561.153 #> 8 3015 ABELL AVE, 21218 N 1517.061 #> 9 3017 ABELL AVE, 21218 N 1631.357 #> 10 3019 ABELL AVE, 21218 N 1549.852 #> shape_st_length block_num bldg_num_even_odd block_number_st vacant_lot #> 1 231.0690 3000 Odd 3000 ABELL AVE FALSE #> 2 231.0577 3000 Odd 3000 ABELL AVE FALSE #> 3 233.5516 3000 Odd 3000 ABELL AVE FALSE #> 4 232.2099 3000 Odd 3000 ABELL AVE FALSE #> 5 232.0083 3000 Odd 3000 ABELL AVE FALSE #> 6 230.4667 3000 Odd 3000 ABELL AVE FALSE #> 7 232.0692 3000 Odd 3000 ABELL AVE FALSE #> 8 231.1979 3000 Odd 3000 ABELL AVE FALSE #> 9 233.4605 3000 Odd 3000 ABELL AVE FALSE #> 10 231.8600 3000 Odd 3000 ABELL AVE FALSE #> vacant_bldg geometry #> 1 FALSE MULTIPOLYGON (((-8528392 47... #> 2 FALSE MULTIPOLYGON (((-8528352 47... #> 3 FALSE MULTIPOLYGON (((-8528353 47... #> 4 FALSE MULTIPOLYGON (((-8528353 47... #> 5 FALSE MULTIPOLYGON (((-8528353 47... #> 6 FALSE MULTIPOLYGON (((-8528353 47... #> 7 FALSE MULTIPOLYGON (((-8528354 47... #> 8 FALSE MULTIPOLYGON (((-8528354 47... #> 9 FALSE MULTIPOLYGON (((-8528354 47... #> 10 FALSE MULTIPOLYGON (((-8528354 47..."},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":null,"dir":"Reference","previous_headings":"","what":"Get area 311 service requests from Open Baltimore — get_area_requests","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"Get 311 service requests specific area. Service requests 2017 2020 area available single year can requested time. Duplicate requests removed returned data. Requests can filtered request type, responsible city agency, . can return multiple types agencies, using custom query parameter calling type/agency separately.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"","code":"get_area_requests( area = NULL, year = 2022, date_range = NULL, request_type = NULL, agency = NULL, where = NULL, dist = NULL, diag_ratio = NULL, unit = \"m\", asp = NULL, trim = FALSE, geometry = TRUE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), duplicates = FALSE, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). year Year service requests. Default 2021. 2017 2022 supported. date_range Date range character vector format c(\"YYYY-MM-DD\", \"YYYY-MM-DD\"). Minimum maximum values used length greater 1. request_type Service request type. agency City agency responsible request. Options include \"Transportation\", \"BGE\", \"Solid Waste\", \"Housing\", \"Water Wastewater\", \"Health\", \"Call Center\", \"Finance\", \"Liquor Board\", \"Recreation & Parks\", \"Fire Department\", \"Parking Authority\", \"General Services\" string condition. parameter ignored request_type agency provided. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. trim TRUE, x trimmed y st_trim(). geometry Default TRUE. FALSE, return requests missing latitude/longitude (years prior 2021 ). crs Cordinate reference system return, Default: 4326 sf_to_df() NULL df_to_sf(). duplicates TRUE, return 311 service requests marked \"Duplicate\". FALSE, filter duplicate requests results. ... Arguments passed esri2sf::esri2sf outFields vector fields want include. default NULL fields. replaceDomainInfo TRUE, add domain information return data frame. Default FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_requests.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get area 311 service requests from Open Baltimore — get_area_requests","text":"","code":"# Get boundary for Edmondson Village area <- get_area(\"neighborhood\", \"Edmondson Village\") # Get fallen limb requests for 2022 get_area_requests( area = area, date_range = c(\"2022-11-01\", \"2022-12-31\"), request_type = \"FOR-Fallen Limb\" ) #> ── Downloading \"Customer_Service_Request311_2021_Present\" from Layer type: \"Feature Layer\" #> Geometry type: \"esriGeometryPoint\" #> Service CRS: \"EPSG:2248\" #> Output CRS: \"EPSG:2804\" #> #> Simple feature collection with 3 features and 21 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: 426988.6 ymin: 181491.5 xmax: 427213.4 ymax: 181615.3 #> Projected CRS: NAD83(HARN) / Maryland #> service_request_num sr_type method_received created_date #> 1 22-00893386 FOR-Fallen Limb Phone 2022-11-11 18:16:36 #> 2 22-00926488 FOR-Fallen Limb Phone 2022-11-27 14:20:02 #> 3 22-00990947 FOR-Fallen Limb Phone 2022-12-23 11:36:22 #> sr_status sr_status_url #> 1 Closed https://balt311.baltimorecity.gov/citizen/requests/22-00893386 #> 2 Closed https://balt311.baltimorecity.gov/citizen/requests/22-00926488 #> 3 Closed https://balt311.baltimorecity.gov/citizen/requests/22-00990947 #> status_date due_date close_date #> 1 2022-11-14 09:36:55 2022-11-14 18:16:36 2022-11-14 09:36:55 #> 2 2023-01-11 06:04:40 2022-11-28 14:20:02 2023-01-11 06:04:40 #> 3 2023-04-21 18:28:49 2022-12-26 11:36:21 2023-04-21 18:28:49 #> agency last_activity #> 1 Recreation & Parks Service Response #> 2 Recreation & Parks Service Response #> 3 Recreation & Parks Service Response #> last_activity_date outcome #> 1 2022-11-14 09:36:55 SR closed by agency-specific work management system #> 2 2023-01-11 06:04:40 SR closed by agency-specific work management system #> 3 2023-04-21 18:28:49 SR closed by agency-specific work management system #> days_to_close address zip_code neighborhood #> 1 2.64 1303 N WOODINGTON RD 21229 Edmondson Village #> 2 44.66 1309 N WOODINGTON RD 21229 Edmondson Village #> 3 119.29 4114 MOUNTWOOD RD 21229 Edmondson Village #> council_district police_district latitude longitude geometry #> 1 8 Southwestern 39.30233 -76.68711 POINT (426988.6 181615.3) #> 2 8 Southwestern 39.30230 -76.68657 POINT (427034.9 181612.2) #> 3 8 Southwestern 39.30121 -76.68450 POINT (427213.4 181491.5) # Get dirty alley service requests for multiple years using purrr::map_dfr() purrr::list_rbind( purrr::map( c(2021, 2020), ~ get_area_requests( area = area, year = .x, request_type = \"SW-Dirty Alley\" ) ) ) #> ── Downloading \"Customer_Service_Request311_2021_Present\" from Layer type: \"Feature Layer\" #> Geometry type: \"esriGeometryPoint\" #> Service CRS: \"EPSG:2248\" #> Output CRS: \"EPSG:2804\" #> #> ℹ Removing 1 duplicate 311 service request. #> ── Downloading \"311_Customer_Service_Requests_2020.csv\" from Layer type: \"Table\" #> #> ℹ Removing 5 duplicate 311 service requests. #> service_request_num sr_type method_received created_date #> 1 21-00053788 SW-Dirty Alley Phone 2021-01-22 08:07:54 #> 2 21-00059271 SW-Dirty Alley Phone 2021-01-24 16:54:01 #> 3 21-00051584 SW-Dirty Alley API 2021-01-21 13:36:09 #> 4 21-00107202 SW-Dirty Alley Phone 2021-02-12 08:57:40 #> 5 21-00110903 SW-Dirty Alley Phone 2021-02-13 10:44:24 #> 6 21-00115345 SW-Dirty Alley API 2021-02-15 11:46:25 #> 7 21-00142040 SW-Dirty Alley Phone 2021-02-24 14:37:26 #> 8 21-00062237 SW-Dirty Alley Phone 2021-01-25 15:55:46 #> 9 21-00139354 SW-Dirty Alley API 2021-02-23 22:06:52 #> 10 21-00070593 SW-Dirty Alley System 2021-01-28 13:57:46 #> 11 21-00100906 SW-Dirty Alley API 2021-02-10 08:01:58 #> 12 21-00153184 SW-Dirty Alley API 2021-02-28 12:44:37 #> 13 21-00155352 SW-Dirty Alley API 2021-03-01 12:38:49 #> 14 21-00159174 SW-Dirty Alley API 2021-03-02 13:45:11 #> 15 21-00172421 SW-Dirty Alley API 2021-03-07 16:09:48 #> 16 21-00185891 SW-Dirty Alley Phone 2021-03-11 16:08:06 #> 17 21-00204853 SW-Dirty Alley Phone 2021-03-18 17:11:50 #> 18 21-00215385 SW-Dirty Alley Phone 2021-03-23 11:48:32 #> 19 21-00245245 SW-Dirty Alley API 2021-04-03 17:09:57 #> 20 21-00245269 SW-Dirty Alley API 2021-04-03 17:21:35 #> 21 21-00248633 SW-Dirty Alley API 2021-04-05 16:20:02 #> 22 21-00262746 SW-Dirty Alley Phone 2021-04-09 16:27:50 #> 23 21-00254836 SW-Dirty Alley Phone 2021-04-07 13:28:43 #> 24 21-00279074 SW-Dirty Alley System 2021-04-15 16:01:26 #> 25 21-00307201 SW-Dirty Alley System 2021-04-26 13:55:37 #> 26 21-00323235 SW-Dirty Alley Phone 2021-05-01 09:30:44 #> 27 21-00357914 SW-Dirty Alley API 2021-05-13 12:31:49 #> 28 21-00383219 SW-Dirty Alley Phone 2021-05-21 15:15:30 #> 29 21-00383184 SW-Dirty Alley Phone 2021-05-21 15:12:51 #> 30 21-00383142 SW-Dirty Alley Phone 2021-05-21 15:09:15 #> 31 21-00383160 SW-Dirty Alley Phone 2021-05-21 15:10:28 #> 32 21-00383210 SW-Dirty Alley Phone 2021-05-21 15:14:26 #> 33 21-00383863 SW-Dirty Alley Phone 2021-05-21 19:21:21 #> 34 21-00382017 SW-Dirty Alley Phone 2021-05-21 11:12:17 #> 35 21-00396283 SW-Dirty Alley API 2021-05-26 15:05:24 #> 36 21-00406083 SW-Dirty Alley Phone 2021-05-30 12:44:57 #> 37 21-00424359 SW-Dirty Alley API 2021-06-06 13:09:04 #> 38 21-00456861 SW-Dirty Alley Phone 2021-06-17 11:19:24 #> 39 21-00468460 SW-Dirty Alley Phone 2021-06-22 11:44:24 #> 40 21-00460319 SW-Dirty Alley Phone 2021-06-18 13:11:34 #> 41 21-00498057 SW-Dirty Alley Phone 2021-07-02 11:04:07 #> 42 21-00500273 SW-Dirty Alley Phone 2021-07-02 18:48:40 #> 43 21-00518225 SW-Dirty Alley Phone 2021-07-09 15:28:32 #> 44 21-00526294 SW-Dirty Alley Phone 2021-07-13 11:11:08 #> 45 21-00544733 SW-Dirty Alley Phone 2021-07-19 17:37:31 #> 46 21-00602168 SW-Dirty Alley Phone 2021-08-09 14:43:25 #> 47 21-00653598 SW-Dirty Alley Phone 2021-08-26 15:57:45 #> 48 21-00679949 SW-Dirty Alley API 2021-09-06 07:29:58 #> 49 21-00704816 SW-Dirty Alley API 2021-09-15 11:44:24 #> 50 21-00742844 SW-Dirty Alley Phone 2021-09-28 18:49:15 #> 51 21-00759532 SW-Dirty Alley Phone 2021-10-01 13:05:37 #> 52 21-00785583 SW-Dirty Alley Phone 2021-10-11 10:52:18 #> 53 21-00775404 SW-Dirty Alley Phone 2021-10-07 09:35:42 #> 54 21-00718065 SW-Dirty Alley Phone 2021-09-20 10:06:08 #> 55 21-00729023 SW-Dirty Alley Phone 2021-09-23 12:37:19 #> 56 21-00720343 SW-Dirty Alley Phone 2021-09-20 19:26:57 #> 57 21-00731337 SW-Dirty Alley Phone 2021-09-24 09:41:59 #> 58 21-00725990 SW-Dirty Alley Phone 2021-09-22 13:00:02 #> 59 21-00725995 SW-Dirty Alley Phone 2021-09-22 13:01:30 #> 60 21-00726393 SW-Dirty Alley Phone 2021-09-22 14:46:02 #> 61 21-00834537 SW-Dirty Alley API 2021-10-28 13:40:39 #> 62 21-00853412 SW-Dirty Alley Phone 2021-11-04 15:15:30 #> 63 21-00866979 SW-Dirty Alley Phone 2021-11-09 16:07:05 #> 64 21-00888749 SW-Dirty Alley Phone 2021-11-17 14:57:40 #> 65 21-00896245 SW-Dirty Alley Phone 2021-11-20 11:44:50 #> 66 21-00924055 SW-Dirty Alley Phone 2021-12-02 15:38:46 #> 67 21-00928778 SW-Dirty Alley Phone 2021-12-04 13:01:24 #> 68 21-00941216 SW-Dirty Alley Phone 2021-12-08 14:50:21 #> 69 21-00941211 SW-Dirty Alley Phone 2021-12-08 14:49:14 #> 70 21-00944073 SW-Dirty Alley Phone 2021-12-09 13:50:59 #> 71 21-00948827 SW-Dirty Alley Phone 2021-12-11 09:53:47 #> 72 21-00948939 SW-Dirty Alley Phone 2021-12-11 10:54:17 #> 73 21-00969415 SW-Dirty Alley Phone 2021-12-20 08:44:52 #> 74 21-00975849 SW-Dirty Alley Phone 2021-12-22 13:46:20 #> 75 20-00009981 SW-Dirty Alley API 2020-01-06 22:34:50 #> 76 20-00042742 SW-Dirty Alley API 2020-01-23 14:19:56 #> 77 20-00108512 SW-Dirty Alley API 2020-02-23 18:13:18 #> 78 20-00143990 SW-Dirty Alley Phone 2020-03-11 10:04:25 #> 79 20-00150539 SW-Dirty Alley Phone 2020-03-13 14:26:56 #> 80 20-00186619 SW-Dirty Alley Phone 2020-03-24 10:56:30 #> 81 20-00242451 SW-Dirty Alley Phone 2020-04-28 13:29:55 #> 82 20-00256369 SW-Dirty Alley Phone 2020-05-06 10:43:39 #> 83 20-00256372 SW-Dirty Alley Phone 2020-05-06 10:45:18 #> 84 20-00217790 SW-Dirty Alley Phone 2020-04-13 09:58:47 #> 85 20-00292887 SW-Dirty Alley Phone 2020-05-26 13:56:24 #> 86 20-00378707 SW-Dirty Alley Phone 2020-06-23 13:56:29 #> 87 20-00395207 SW-Dirty Alley Phone 2020-06-29 14:55:17 #> 88 20-00411382 SW-Dirty Alley Phone 2020-07-03 15:58:51 #> 89 20-00411388 SW-Dirty Alley Phone 2020-07-03 16:00:39 #> 90 20-00398279 SW-Dirty Alley Phone 2020-06-30 12:24:50 #> 91 20-00401125 SW-Dirty Alley Phone 2020-07-01 08:47:37 #> 92 20-00491791 SW-Dirty Alley Phone 2020-07-30 15:23:40 #> 93 20-00513600 SW-Dirty Alley Phone 2020-08-06 15:34:03 #> 94 20-00514119 SW-Dirty Alley Phone 2020-08-06 17:35:16 #> 95 20-00537804 SW-Dirty Alley Phone 2020-08-13 12:24:51 #> 96 20-00591674 SW-Dirty Alley Phone 2020-08-28 19:40:12 #> 97 20-00719585 SW-Dirty Alley API 2020-10-21 09:57:04 #> 98 20-00726802 SW-Dirty Alley Phone 2020-10-23 14:32:42 #> 99 20-00727366 SW-Dirty Alley System 2020-10-23 16:50:09 #> 100 20-00620137 SW-Dirty Alley System 2020-09-09 15:15:37 #> 101 20-00654874 SW-Dirty Alley Phone 2020-09-23 13:24:00 #> 102 20-00666611 SW-Dirty Alley Phone 2020-09-28 15:36:16 #> 103 20-00671377 SW-Dirty Alley Phone 2020-09-30 10:41:15 #> 104 20-00737190 SW-Dirty Alley System 2020-10-28 14:04:29 #> 105 20-00737717 SW-Dirty Alley Phone 2020-10-28 15:48:26 #> 106 20-00753204 SW-Dirty Alley Phone 2020-11-04 16:18:19 #> 107 20-00772383 SW-Dirty Alley Phone 2020-11-13 10:22:32 #> 108 20-00781524 SW-Dirty Alley System 2020-11-17 14:55:45 #> 109 20-00792799 SW-Dirty Alley System 2020-11-23 12:28:03 #> 110 20-00795660 SW-Dirty Alley Phone 2020-11-24 11:05:21 #> 111 20-00798839 SW-Dirty Alley Phone 2020-11-25 10:25:36 #> 112 20-00815065 SW-Dirty Alley Phone 2020-12-03 10:54:41 #> 113 20-00823021 SW-Dirty Alley Phone 2020-12-07 11:17:21 #> 114 20-00834142 SW-Dirty Alley Phone 2020-12-10 15:48:34 #> 115 20-00842211 SW-Dirty Alley Phone 2020-12-14 14:54:29 #> 116 20-00842218 SW-Dirty Alley Phone 2020-12-14 14:55:32 #> 117 20-00842367 SW-Dirty Alley System 2020-12-14 15:37:14 #> 118 20-00847742 SW-Dirty Alley Phone 2020-12-16 09:21:20 #> sr_status sr_status_url #> 1 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00053788 #> 2 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00059271 #> 3 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00051584 #> 4 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00107202 #> 5 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00110903 #> 6 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00115345 #> 7 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00142040 #> 8 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00062237 #> 9 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00139354 #> 10 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00070593 #> 11 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00100906 #> 12 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00153184 #> 13 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00155352 #> 14 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00159174 #> 15 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00172421 #> 16 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00185891 #> 17 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00204853 #> 18 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00215385 #> 19 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00245245 #> 20 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00245269 #> 21 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00248633 #> 22 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00262746 #> 23 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00254836 #> 24 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00279074 #> 25 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00307201 #> 26 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00323235 #> 27 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00357914 #> 28 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383219 #> 29 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383184 #> 30 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383142 #> 31 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383160 #> 32 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383210 #> 33 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00383863 #> 34 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00382017 #> 35 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00396283 #> 36 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00406083 #> 37 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00424359 #> 38 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00456861 #> 39 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00468460 #> 40 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00460319 #> 41 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00498057 #> 42 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00500273 #> 43 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00518225 #> 44 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00526294 #> 45 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00544733 #> 46 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00602168 #> 47 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00653598 #> 48 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00679949 #> 49 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00704816 #> 50 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00742844 #> 51 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00759532 #> 52 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00785583 #> 53 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00775404 #> 54 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00718065 #> 55 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00729023 #> 56 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00720343 #> 57 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00731337 #> 58 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00725990 #> 59 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00725995 #> 60 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00726393 #> 61 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00834537 #> 62 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00853412 #> 63 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00866979 #> 64 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00888749 #> 65 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00896245 #> 66 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00924055 #> 67 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00928778 #> 68 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00941216 #> 69 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00941211 #> 70 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00944073 #> 71 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00948827 #> 72 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00948939 #> 73 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00969415 #> 74 Closed https://balt311.baltimorecity.gov/citizen/requests/21-00975849 #> 75 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00009981 #> 76 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00042742 #> 77 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00108512 #> 78 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00143990 #> 79 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00150539 #> 80 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00186619 #> 81 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00242451 #> 82 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00256369 #> 83 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00256372 #> 84 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00217790 #> 85 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00292887 #> 86 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00378707 #> 87 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00395207 #> 88 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00411382 #> 89 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00411388 #> 90 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00398279 #> 91 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00401125 #> 92 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00491791 #> 93 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00513600 #> 94 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00514119 #> 95 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00537804 #> 96 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00591674 #> 97 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00719585 #> 98 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00726802 #> 99 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00727366 #> 100 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00620137 #> 101 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00654874 #> 102 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00666611 #> 103 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00671377 #> 104 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00737190 #> 105 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00737717 #> 106 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00753204 #> 107 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00772383 #> 108 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00781524 #> 109 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00792799 #> 110 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00795660 #> 111 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00798839 #> 112 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00815065 #> 113 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00823021 #> 114 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00834142 #> 115 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00842211 #> 116 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00842218 #> 117 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00842367 #> 118 Closed https://balt311.baltimorecity.gov/citizen/requests/20-00847742 #> status_date due_date close_date #> 1 2021-01-29 15:01:00 2021-02-02 08:07:54 2021-01-29 15:01:21 #> 2 2021-02-03 14:12:00 2021-02-02 16:54:01 2021-02-03 14:12:54 #> 3 2021-01-22 14:34:00 2021-02-01 13:36:09 2021-01-22 14:34:27 #> 4 2021-02-23 14:24:00 2021-02-24 08:57:40 2021-02-23 14:25:02 #> 5 2021-02-16 15:24:00 2021-02-24 10:44:23 2021-02-16 15:24:58 #> 6 2021-02-23 14:26:00 2021-02-24 11:46:25 2021-02-23 14:27:20 #> 7 2021-03-04 15:18:00 2021-03-05 14:37:26 2021-03-04 15:18:37 #> 8 2021-01-25 15:55:00 2021-02-03 15:55:46 2021-01-25 15:56:15 #> 9 2021-03-03 14:21:00 2021-03-04 22:06:52 2021-03-03 14:21:41 #> 10 2021-02-04 15:51:00 2021-02-08 13:57:46 2021-02-04 15:51:52 #> 11 2021-02-23 14:30:00 2021-02-22 08:01:58 2021-02-23 14:30:54 #> 12 2021-03-03 14:22:00 2021-03-09 12:44:37 2021-03-03 14:22:28 #> 13 2021-03-05 14:24:00 2021-03-10 12:38:49 2021-03-05 14:24:34 #> 14 2021-03-05 14:19:00 2021-03-11 13:45:11 2021-03-05 14:19:21 #> 15 2021-03-15 14:51:00 2021-03-16 17:09:48 2021-03-15 14:52:09 #> 16 2021-04-05 16:08:00 2021-03-22 17:08:05 2021-04-05 16:09:32 #> 17 2021-04-06 14:41:00 2021-03-29 17:11:50 2021-04-06 14:41:19 #> 18 2021-04-14 14:11:00 2021-04-01 11:48:32 2021-04-14 14:11:13 #> 19 2021-05-06 13:54:00 2021-04-13 17:09:57 2021-05-06 13:54:11 #> 20 2021-05-06 13:54:00 2021-04-13 17:21:35 2021-05-06 13:54:43 #> 21 2021-05-07 15:16:00 2021-04-14 16:20:02 2021-05-07 15:17:17 #> 22 2021-04-29 15:46:00 2021-04-20 16:27:50 2021-04-29 15:46:19 #> 23 2021-04-29 15:45:00 2021-04-16 13:28:43 2021-04-29 15:45:29 #> 24 2021-04-26 15:15:00 2021-04-26 16:01:25 2021-04-26 15:16:50 #> 25 2021-04-29 15:55:00 2021-05-05 13:55:36 2021-04-29 15:55:23 #> 26 2021-05-07 15:17:00 2021-05-11 09:30:43 2021-05-07 15:17:50 #> 27 2021-05-20 15:17:00 2021-05-24 12:31:49 2021-05-20 15:17:31 #> 28 2021-05-21 15:16:00 2021-06-02 15:15:30 2021-05-21 15:16:17 #> 29 2021-05-21 15:13:00 2021-06-02 15:12:51 2021-05-21 15:13:44 #> 30 2021-05-21 15:09:00 2021-06-02 15:09:15 2021-05-21 15:10:04 #> 31 2021-05-21 15:12:00 2021-06-02 15:10:28 2021-05-21 15:12:28 #> 32 2021-05-21 15:14:00 2021-06-02 15:14:26 2021-05-21 15:15:06 #> 33 2021-05-25 14:27:00 2021-06-02 19:21:21 2021-05-25 14:27:10 #> 34 2021-05-25 14:26:00 2021-06-02 11:12:16 2021-05-25 14:26:36 #> 35 2021-06-02 14:32:00 2021-06-07 15:05:24 2021-06-02 14:32:43 #> 36 2021-06-02 14:43:00 2021-06-09 12:44:57 2021-06-02 14:43:22 #> 37 2021-06-14 15:10:00 2021-06-15 13:09:03 2021-06-14 15:10:39 #> 38 2021-06-23 13:56:00 2021-06-28 11:19:24 2021-06-23 13:56:54 #> 39 2021-06-30 14:51:00 2021-07-01 11:44:24 2021-06-30 14:54:57 #> 40 2021-06-22 15:21:00 2021-06-29 13:11:34 2021-06-22 15:22:04 #> 41 2021-07-08 14:51:00 2021-07-14 11:04:06 2021-07-08 14:51:55 #> 42 2021-07-06 15:32:00 2021-07-14 18:48:40 2021-07-06 15:33:18 #> 43 2021-07-20 14:16:00 2021-07-20 15:28:32 2021-07-20 14:16:23 #> 44 2021-07-27 15:15:00 2021-07-22 11:11:08 2021-07-27 15:15:48 #> 45 2021-07-27 15:16:00 2021-07-28 17:37:31 2021-07-27 15:16:17 #> 46 2021-08-16 15:11:00 2021-08-18 14:43:24 2021-08-16 15:11:59 #> 47 2021-09-02 15:04:00 2021-09-07 15:57:44 2021-09-02 15:04:23 #> 48 2021-09-11 14:13:00 2021-09-15 07:29:58 2021-09-11 14:13:39 #> 49 2021-09-15 15:07:00 2021-09-24 11:44:24 2021-09-15 15:07:56 #> 50 2021-09-29 14:47:00 2021-10-07 18:49:15 2021-09-29 14:48:09 #> 51 2021-10-12 14:48:00 2021-10-13 13:05:36 2021-10-12 14:48:50 #> 52 2021-10-20 15:15:00 2021-10-20 10:52:18 2021-10-20 15:15:41 #> 53 2021-10-12 14:45:00 2021-10-19 09:35:42 2021-10-12 14:45:52 #> 54 2021-09-22 14:59:00 2021-09-29 10:06:08 2021-09-22 14:59:40 #> 55 2021-09-24 15:00:00 2021-10-04 12:37:19 2021-09-24 15:01:03 #> 56 2021-09-21 14:25:00 2021-09-29 19:26:57 2021-09-21 14:26:12 #> 57 2021-09-25 15:52:00 2021-10-05 09:41:58 2021-09-25 15:52:18 #> 58 2021-09-24 15:02:00 2021-10-01 13:00:02 2021-09-24 15:03:13 #> 59 2021-09-24 15:03:00 2021-10-01 13:01:29 2021-09-24 15:03:45 #> 60 2021-09-24 15:01:00 2021-10-01 14:46:02 2021-09-24 15:01:42 #> 61 2021-11-02 14:43:00 2021-11-08 12:40:39 2021-11-02 14:44:25 #> 62 2021-11-05 13:51:00 2021-11-16 14:15:30 2021-11-05 13:51:16 #> 63 2021-11-10 14:45:00 2021-11-19 16:07:05 2021-11-10 14:45:23 #> 64 2021-11-18 14:44:00 2021-11-29 14:57:40 2021-11-18 14:45:16 #> 65 2021-11-23 15:12:00 2021-12-01 11:44:50 2021-11-23 15:12:28 #> 66 2021-12-04 07:25:00 2021-12-13 15:38:46 2021-12-04 07:25:39 #> 67 2021-12-06 15:01:00 2021-12-14 13:01:24 2021-12-06 15:01:36 #> 68 2021-12-09 14:36:00 2021-12-17 14:50:21 2021-12-09 14:40:52 #> 69 2021-12-09 14:20:00 2021-12-17 14:49:14 2021-12-09 14:40:59 #> 70 2021-12-10 15:15:00 2021-12-20 13:50:59 2021-12-10 15:15:19 #> 71 2021-12-13 14:33:00 2021-12-21 09:53:47 2021-12-13 14:33:56 #> 72 2021-12-13 14:34:00 2021-12-21 10:54:17 2021-12-13 14:34:42 #> 73 2021-12-21 14:44:00 2021-12-30 08:44:51 2021-12-21 14:48:59 #> 74 2021-12-23 15:09:00 2022-01-04 13:46:20 2021-12-23 15:09:37 #> 75 2020-01-11 16:35:38 2020-01-15 22:34:50 2020-01-11 16:35:39 #> 76 2020-01-31 13:45:21 2020-02-03 14:19:56 2020-01-31 13:45:22 #> 77 2020-03-02 15:28:45 2020-03-03 18:13:18 2020-03-02 15:27:47 #> 78 2020-03-13 14:18:42 2020-03-20 10:04:25 2020-03-13 14:18:44 #> 79 2020-03-17 15:52:04 2020-03-24 14:26:56 2020-03-17 15:52:05 #> 80 2020-05-07 15:12:57 2020-04-02 10:56:29 2020-05-07 15:12:58 #> 81 2020-06-03 15:18:37 2020-05-07 13:29:54 2020-06-03 15:18:39 #> 82 2020-05-12 14:40:51 2020-05-15 10:43:39 2020-05-12 14:40:52 #> 83 2020-05-12 14:42:03 2020-05-15 10:45:17 2020-05-12 14:42:04 #> 84 2020-05-12 14:39:54 2020-04-22 09:58:47 2020-05-12 14:39:56 #> 85 2020-07-06 14:30:11 2020-06-05 13:56:24 2020-07-06 14:30:12 #> 86 2020-07-09 14:26:35 2020-07-02 13:56:29 2020-07-09 14:26:37 #> 87 2020-07-22 14:04:10 2020-07-09 14:55:17 2020-07-22 14:04:12 #> 88 2020-07-28 15:20:13 2020-07-14 16:34:24 2020-07-28 15:20:14 #> 89 2020-07-06 08:33:14 2020-07-14 16:34:56 2020-07-06 08:33:15 #> 90 2020-07-21 14:34:42 2020-07-10 12:24:50 2020-07-21 14:34:43 #> 91 2020-07-22 14:06:08 2020-07-13 08:47:37 2020-07-22 14:06:10 #> 92 2020-08-17 14:33:21 2020-08-10 15:23:40 2020-08-17 14:33:22 #> 93 2020-08-07 15:06:28 2020-08-17 15:34:03 2020-08-07 15:06:29 #> 94 2020-10-07 15:54:42 2020-08-17 17:35:16 2020-10-07 15:54:44 #> 95 2020-10-05 14:32:42 2020-08-24 12:24:51 2020-10-05 14:32:44 #> 96 2020-10-08 15:38:37 2020-09-09 19:40:12 2020-10-08 15:38:39 #> 97 2020-10-22 13:55:40 2020-10-30 09:57:04 2020-10-22 13:55:42 #> 98 2020-11-04 15:30:19 2020-11-04 13:32:42 2020-11-04 15:30:20 #> 99 2020-10-26 14:29:58 2020-11-04 15:50:09 2020-10-26 14:30:00 #> 100 2020-10-05 14:33:16 2020-09-18 15:15:37 2020-10-05 14:33:18 #> 101 2020-10-08 15:39:19 2020-10-02 13:23:59 2020-10-08 15:39:20 #> 102 2020-10-07 14:40:03 2020-10-07 15:36:16 2020-10-07 14:40:05 #> 103 2020-10-08 15:30:36 2020-10-09 10:41:15 2020-10-08 15:30:37 #> 104 2020-10-29 14:20:42 2020-11-09 13:04:29 2020-10-29 14:20:44 #> 105 2020-10-29 14:11:41 2020-11-09 14:48:26 2020-10-29 14:11:43 #> 106 2020-11-17 14:02:48 2020-11-16 16:18:18 2020-11-17 14:02:51 #> 107 2020-11-17 14:04:08 2020-11-25 10:22:32 2020-11-17 14:04:10 #> 108 2020-11-19 14:46:23 2020-11-27 14:55:45 2020-11-19 14:46:24 #> 109 2020-11-24 14:38:59 2020-12-02 12:28:03 2020-11-24 14:39:01 #> 110 2020-11-27 15:09:02 2020-12-03 11:05:21 2020-11-27 15:09:04 #> 111 2020-11-27 15:09:40 2020-12-04 10:25:36 2020-11-27 15:09:41 #> 112 2020-12-04 14:43:37 2020-12-14 10:54:41 2020-12-04 14:43:39 #> 113 2020-12-08 15:46:44 2020-12-16 11:17:21 2020-12-08 15:46:45 #> 114 2020-12-15 14:40:24 2020-12-21 15:48:34 2020-12-15 14:40:25 #> 115 2020-12-15 15:33:32 2020-12-23 14:54:29 2020-12-15 15:33:34 #> 116 2020-12-15 15:34:17 2020-12-23 14:55:32 2020-12-15 15:34:19 #> 117 2020-12-15 15:32:30 2020-12-23 15:37:14 2020-12-15 15:32:31 #> 118 2020-12-18 14:44:44 2020-12-28 09:21:20 2020-12-18 14:44:46 #> agency last_activity #> 1 Solid Waste Service Response #> 2 Solid Waste Service Response #> 3 Solid Waste Service Response #> 4 Solid Waste Service Response #> 5 Solid Waste Service Response #> 6 Solid Waste Service Response #> 7 Solid Waste Service Response #> 8 Solid Waste Service Response #> 9 Solid Waste Service Response #> 10 Solid Waste Service Response #> 11 Solid Waste Service Response #> 12 Solid Waste Service Response #> 13 Solid Waste Service Response #> 14 Solid Waste Service Response #> 15 Solid Waste Service Response #> 16 Solid Waste Service Response #> 17 Solid Waste Service Response #> 18 Solid Waste Service Response #> 19 Solid Waste Service Response #> 20 Solid Waste Service Response #> 21 Solid Waste Service Response #> 22 Solid Waste Service Response #> 23 Solid Waste Service Response #> 24 Solid Waste Service Response #> 25 Solid Waste Service Response #> 26 Solid Waste Service Response #> 27 Solid Waste Service Response #> 28 Solid Waste Service Response #> 29 Solid Waste Service Response #> 30 Solid Waste Service Response #> 31 Solid Waste Service Response #> 32 Solid Waste Service Response #> 33 Solid Waste Service Response #> 34 Solid Waste Service Response #> 35 Solid Waste Service Response #> 36 Solid Waste Service Response #> 37 Solid Waste Service Response #> 38 Solid Waste Service Response #> 39 Solid Waste Service Response #> 40 Solid Waste Service Response #> 41 Solid Waste Service Response #> 42 Solid Waste Service Response #> 43 Solid Waste Service Response #> 44 Solid Waste Service Response #> 45 Solid Waste Service Response #> 46 Solid Waste Service Response #> 47 Solid Waste Service Response #> 48 Solid Waste Service Response #> 49 Solid Waste Service Response #> 50 Solid Waste Service Response #> 51 Solid Waste Service Response #> 52 Solid Waste Service Response #> 53 Solid Waste Service Response #> 54 Solid Waste Service Response #> 55 Solid Waste Service Response #> 56 Solid Waste Service Response #> 57 Solid Waste Service Response #> 58 Solid Waste Service Response #> 59 Solid Waste Service Response #> 60 Solid Waste Service Response #> 61 Solid Waste Service Response #> 62 Solid Waste Service Response #> 63 Solid Waste Service Response #> 64 Solid Waste Service Response #> 65 Solid Waste Service Response #> 66 Solid Waste Service Response #> 67 Solid Waste Service Response #> 68 Solid Waste Service Response #> 69 Solid Waste Service Response #> 70 Solid Waste Service Response #> 71 Solid Waste Service Response #> 72 Solid Waste Service Response #> 73 Solid Waste Service Response #> 74 Solid Waste Service Response #> 75 Solid Waste Service Response #> 76 Solid Waste Service Response #> 77 Solid Waste Service Response #> 78 Solid Waste Service Response #> 79 Solid Waste Service Response #> 80 Solid Waste Service Response #> 81 Solid Waste Service Response #> 82 Solid Waste Service Response #> 83 Solid Waste Service Response #> 84 Solid Waste Service Response #> 85 Solid Waste Service Response #> 86 Solid Waste Service Response #> 87 Solid Waste Service Response #> 88 Solid Waste Service Response #> 89 Solid Waste Service Response #> 90 Solid Waste Service Response #> 91 Solid Waste Service Response #> 92 Solid Waste Service Response #> 93 Solid Waste Service Response #> 94 Solid Waste Service Response #> 95 Solid Waste Service Response #> 96 Solid Waste Service Response #> 97 Solid Waste Service Response #> 98 Solid Waste Service Response #> 99 Solid Waste Service Response #> 100 Solid Waste Service Response #> 101 Solid Waste Service Response #> 102 Solid Waste Service Response #> 103 Solid Waste Service Response #> 104 Solid Waste Service Response #> 105 Solid Waste Service Response #> 106 Solid Waste Service Response #> 107 Solid Waste Service Response #> 108 Solid Waste Service Response #> 109 Solid Waste Service Response #> 110 Solid Waste Service Response #> 111 Solid Waste Service Response #> 112 Solid Waste Service Response #> 113 Solid Waste Service Response #> 114 Solid Waste Service Response #> 115 Solid Waste Service Response #> 116 Solid Waste Service Response #> 117 Solid Waste Service Response #> 118 Solid Waste Service Response #> last_activity_date outcome #> 1 2021-01-29 15:01:00 Work completed #> 2 2021-02-03 14:12:00 Work completed #> 3 2021-01-22 14:34:00 Work completed #> 4 2021-02-23 14:24:00 SR assessed and no cause for action determined #> 5 2021-02-16 15:24:00 SR assessed and no cause for action determined #> 6 2021-02-23 14:26:00 SR assessed and no cause for action determined #> 7 2021-03-04 15:18:00 Work completed #> 8 2021-01-25 15:55:00 Work completed #> 9 2021-03-03 14:21:00 SR assessed and no cause for action determined #> 10 2021-02-04 15:51:00 Work completed #> 11 2021-02-23 14:30:00 SR assessed and no cause for action determined #> 12 2021-03-03 14:22:00 Work completed #> 13 2021-03-05 14:24:00 SR assessed and no cause for action determined #> 14 2021-03-05 14:19:00 Work completed #> 15 2021-03-15 14:51:00 Work completed #> 16 2021-04-05 16:08:00 Work completed #> 17 2021-04-06 14:41:00 Work completed #> 18 2021-04-14 14:11:00 Work completed #> 19 2021-05-06 13:54:00 Work completed #> 20 2021-05-06 13:54:00 Work completed #> 21 2021-05-07 15:16:00 SR assessed and no cause for action determined #> 22 2021-04-29 15:46:00 SR assessed and no cause for action determined #> 23 2021-04-29 15:45:00 SR assessed and no cause for action determined #> 24 2021-04-26 15:15:00 Work completed #> 25 2021-04-29 15:55:00 Work completed #> 26 2021-05-07 15:17:00 Work completed #> 27 2021-05-20 15:17:00 Work completed #> 28 2021-05-21 15:16:00 Work completed #> 29 2021-05-21 15:13:00 Work completed #> 30 2021-05-21 15:09:00 Work completed #> 31 2021-05-21 15:12:00 Work completed #> 32 2021-05-21 15:14:00 Work completed #> 33 2021-05-25 14:27:00 Work completed #> 34 2021-05-25 14:26:00 Work completed #> 35 2021-06-02 14:32:00 Work completed #> 36 2021-06-02 14:43:00 Work completed #> 37 2021-06-14 15:10:00 SR assessed and no cause for action determined #> 38 2021-06-23 13:56:00 Work completed #> 39 2021-06-30 14:51:00 SR assessed and no cause for action determined #> 40 2021-06-22 15:21:00 Work completed #> 41 2021-07-08 14:51:00 Work completed #> 42 2021-07-06 15:32:00 SR assessed and no cause for action determined #> 43 2021-07-20 14:16:00 Work completed #> 44 2021-07-27 15:15:00 Work completed #> 45 2021-07-27 15:16:00 Work completed #> 46 2021-08-16 15:11:00 Work completed #> 47 2021-09-02 15:04:00 Work completed #> 48 2021-09-11 14:13:00 Work completed #> 49 2021-09-15 15:07:00 Work completed #> 50 2021-09-29 14:47:00 Work completed #> 51 2021-10-12 14:48:00 Work completed #> 52 2021-10-20 15:15:00 Work completed #> 53 2021-10-12 14:45:00 Work completed #> 54 2021-09-22 14:59:00 SR assessed and no cause for action determined #> 55 2021-09-24 15:00:00 Work completed #> 56 2021-09-21 14:25:00 Work completed #> 57 2021-09-25 15:52:00 SR assessed and no cause for action determined #> 58 2021-09-24 15:02:00 SR assessed and no cause for action determined #> 59 2021-09-24 15:03:00 Work completed #> 60 2021-09-24 15:01:00 Work completed #> 61 2021-11-02 14:43:00 Work completed #> 62 2021-11-05 13:51:00 Work completed #> 63 2021-11-10 14:45:00 Work completed #> 64 2021-11-18 14:44:00 SR assessed and no cause for action determined #> 65 2021-11-23 15:12:00 Work completed #> 66 2021-12-04 07:25:00 SR assessed and no cause for action determined #> 67 2021-12-06 15:01:00 Work completed #> 68 2021-12-09 14:36:00 Work completed #> 69 2021-12-09 14:20:00 Work completed #> 70 2021-12-10 15:15:00 Work completed #> 71 2021-12-13 14:33:00 SR assessed and no cause for action determined #> 72 2021-12-13 14:34:00 SR assessed and no cause for action determined #> 73 2021-12-21 14:44:00 SR assessed and no cause for action determined #> 74 2021-12-23 15:09:00 Work completed #> 75 2020-01-11 16:34:00 Work completed #> 76 2020-01-31 13:44:00 Work completed #> 77 2020-03-02 15:27:00 SR assessed and no cause for action determined #> 78 2020-03-13 14:18:00 Work completed #> 79 2020-03-17 15:51:00 Work completed #> 80 2020-05-07 15:12:00 Work completed #> 81 2020-06-03 15:18:00 Work completed #> 82 2020-05-12 14:40:00 Work completed #> 83 2020-05-12 14:41:00 Work completed #> 84 2020-05-12 14:39:00 Work completed #> 85 2020-07-06 14:29:00 SR assessed and no cause for action determined #> 86 2020-07-09 14:26:00 Work completed #> 87 2020-07-22 14:01:00 Work completed #> 88 2020-07-28 15:19:00 Work completed #> 89 2020-07-06 08:32:00 Work completed #> 90 2020-07-21 14:33:00 Work completed #> 91 2020-07-22 14:05:00 Work completed #> 92 2020-08-17 14:33:00 Work completed #> 93 2020-08-07 15:03:00 SR assessed and no cause for action determined #> 94 2020-10-07 15:54:00 Work completed #> 95 2020-10-05 14:32:00 SR assessed and no cause for action determined #> 96 2020-10-08 15:38:00 Work completed #> 97 2020-10-22 13:55:00 Work completed #> 98 2020-11-04 15:30:00 Work completed #> 99 2020-10-26 14:29:00 Work completed #> 100 2020-10-05 14:33:00 SR assessed and no cause for action determined #> 101 2020-10-08 15:39:00 Work completed #> 102 2020-10-07 14:39:00 Work completed #> 103 2020-10-08 15:30:00 Work completed #> 104 2020-10-29 14:20:00 SR assessed and no cause for action determined #> 105 2020-10-29 14:11:00 Work completed #> 106 2020-11-17 14:02:00 Work completed #> 107 2020-11-17 14:03:00 SR assessed and no cause for action determined #> 108 2020-11-19 14:46:00 Work completed #> 109 2020-11-24 14:38:00 Work completed #> 110 2020-11-27 15:08:00 Work completed #> 111 2020-11-27 15:09:00 Work completed #> 112 2020-12-04 14:43:00 Work completed #> 113 2020-12-08 15:46:00 SR assessed and no cause for action determined #> 114 2020-12-15 14:40:00 Work completed #> 115 2020-12-15 15:33:00 Work completed #> 116 2020-12-15 15:34:00 Work completed #> 117 2020-12-15 15:32:00 Work completed #> 118 2020-12-18 14:44:00 SR assessed and no cause for action determined #> days_to_close address zip_code neighborhood #> 1 7.29 800 WILDWOOD PKWY 21229 Edmondson Village #> 2 9.89 826 N WOODINGTON RD 21229 Rognel Heights #> 3 1.04 905 MOUNT HOLLY ST 21229 Edgewood #> 4 11.23 4000 COLBORNE RD 21229 Edmondson Village #> 5 3.19 3801 ROKEBY RD 21229 Edmondson Village #> 6 8.11 4009 COLBORNE RD 21229 Edmondson Village #> 7 8.03 631 N WOODINGTON RD 21229 Edmondson Village #> 8 0.00 704 MOUNT HOLLY ST 21229 Edmondson Village #> 9 7.68 4010 GELSTON DR 21229 Edmondson Village #> 10 7.08 3909 COLBORNE RD 21229 Edmondson Village #> 11 13.27 901 MOUNT HOLLY ST 21229 Edgewood #> 12 3.07 3909 COLBORNE RD 21229 Edmondson Village #> 13 4.07 731 MOUNT HOLLY ST 21229 Edgewood #> 14 3.02 1105 LYNDHURST ST 21229 Edmondson Village #> 15 7.95 3909 COLBORNE RD 21229 Edmondson Village #> 16 25.00 800 N WOODINGTON RD 21229 Rognel Heights #> 17 18.90 3900 ROKEBY RD 21229 Edmondson Village #> 18 22.10 725 MOUNT HOLLY ST 21229 Edgewood #> 19 32.86 3908 WOODRIDGE RD 21229 Edmondson Village #> 20 32.86 3901 COLBORNE RD 21229 Edmondson Village #> 21 31.96 608 N WOODINGTON RD 21229 Rognel Heights #> 22 19.97 800 KEVIN RD 21229 Rognel Heights #> 23 22.09 816 WILDWOOD PKWY 21229 Edmondson Village #> 24 10.97 4006 WOODRIDGE RD 21229 Edmondson Village #> 25 3.08 801 KEVIN RD 21229 Rognel Heights #> 26 6.24 829 N AUGUSTA AVE 21229 Edmondson Village #> 27 7.12 3924 CRANSTON AVE 21229 Edmondson Village #> 28 0.00 3909 ROKEBY RD 21229 Edmondson Village #> 29 0.00 1008 LYNDHURST ST 21229 Edmondson Village #> 30 0.00 1100 WILDWOOD PKWY 21229 Edmondson Village #> 31 0.00 1206 WILDWOOD PKWY 21229 Edmondson Village #> 32 0.00 3902 FLOWERTON RD 21229 Edmondson Village #> 33 3.80 4000 COLBORNE RD 21229 Edmondson Village #> 34 4.13 3916 GELSTON DR 21229 Edmondson Village #> 35 6.98 1200 BLK N AUGUSTA-MOUNTWOOD 21229 Edmondson Village #> 36 3.08 1000 N WOODINGTON RD 21229 Rognel Heights #> 37 8.08 1248 N AUGUSTA AVE 21229 Edmondson Village #> 38 6.11 3801 STOKES DR 21229 Edmondson Village #> 39 8.13 3810 GELSTON DR 21229 Edmondson Village #> 40 4.09 4022 CRANSTON AVE 21229 Edmondson Village #> 41 6.16 FLOWERTON RD & N WOODINGTON RD 21229 Rognel Heights #> 42 3.86 3810 GELSTON DR 21229 Edmondson Village #> 43 10.95 813 N AUGUSTA AVE 21229 Edmondson Village #> 44 14.17 3814 GELCRAN LN 21229 Edmondson Village #> 45 7.90 4021 CRANSTON AVE 21229 Edmondson Village #> 46 7.02 3809 STOKES DR 21229 Edmondson Village #> 47 6.96 901 N WOODINGTON RD 21229 Edmondson Village #> 48 5.28 3902 WOODRIDGE RD 21229 Edmondson Village #> 49 0.14 3919 FLOWERTON RD 21229 Edmondson Village #> 50 0.83 600 WILDWOOD PKWY 21229 Edmondson Village #> 51 11.07 3900 EDMONDSON AVE 21229 Edmondson Village #> 52 9.18 3819 CRANSTON AVE 21229 Edmondson Village #> 53 5.22 3900 EDMONDSON AVE 21229 Edmondson Village #> 54 2.20 1252 N AUGUSTA AVE 21229 Edmondson Village #> 55 1.10 600 N AUGUSTA AVE 21229 Edmondson Village #> 56 0.79 601 N LOUDON AVE 21229 Edmondson Village #> 57 1.26 3800 GELSTON DR 21229 Edmondson Village #> 58 2.09 3901 FLOWERTON RD 21229 Edmondson Village #> 59 2.08 3900 FLOWERTON RD 21229 Edmondson Village #> 60 2.01 711 LYNDHURST ST 21229 Edmondson Village #> 61 5.04 3909 COLBORNE RD 21229 Edmondson Village #> 62 0.94 3807 STOKES DR 21229 Edmondson Village #> 63 0.94 1106 LYNDHURST ST 21229 Edmondson Village #> 64 0.99 4100 GLEN HUNT RD 21229 Edmondson Village #> 65 3.14 4100 GLEN HUNT RD 21229 Edmondson Village #> 66 1.66 3900 EDMONDSON AVE 21229 Edmondson Village #> 67 2.08 4201 GELSTON DR 21229 Rognel Heights #> 68 0.99 700 BLK LYNDHURST ST 21229 Edmondson Village #> 69 0.99 3814 CRANSTON AVE 21229 Edmondson Village #> 70 1.06 700 WICKLOW RD 21229 Rognel Heights #> 71 2.19 913 LYNDHURST ST 21229 Edmondson Village #> 72 2.15 3900 EDMONDSON AVE 21229 Edmondson Village #> 73 1.25 913 LYNDHURST ST 21229 Edmondson Village #> 74 1.06 3807 STOKES DR 21229 Edmondson Village #> 75 4.75 3909 COLBORNE RD 21229 Edmondson Village #> 76 7.98 3909 COLBORNE RD 21229 Edmondson Village #> 77 7.89 4225 COLBORNE RD 21229 Rognel Heights #> 78 2.18 712 WICKLOW RD 21229 Rognel Heights #> 79 4.06 600 BLK WICKLOW RD 21229 Rognel Heights #> 80 44.18 600 BLK WICKLOW RD 21229 Rognel Heights #> 81 36.08 4102 WOODRIDGE RD 21229 Edmondson Village #> 82 6.16 3900 FLOWERTON RD 21229 Edmondson Village #> 83 6.16 3900 ROKEBY RD 21229 Edmondson Village #> 84 29.20 723 MOUNT HOLLY ST 21229 Edgewood #> 85 41.02 1008 WILDWOOD PKWY 21229 Edmondson Village #> 86 16.02 4105 FLOWERTON RD 21229 Edmondson Village #> 87 22.96 601 N WOODINGTON RD 21229 Edmondson Village #> 88 24.97 1100 LYNDHURST ST 21229 Edmondson Village #> 89 2.69 1100 LYNDHURST ST 21229 Edmondson Village #> 90 21.09 4003 COLBORNE RD 21229 Edmondson Village #> 91 21.22 622 WICKLOW RD 21229 Rognel Heights #> 92 17.97 4029 CRANSTON AVE 21229 Edmondson Village #> 93 0.98 622 WICKLOW RD 21229 Rognel Heights #> 94 61.93 4100 MOUNTWOOD RD 21229 Edmondson Village #> 95 53.09 4200 FLOWERTON RD 21229 Rognel Heights #> 96 40.83 4000 WOODRIDGE RD 21229 Edmondson Village #> 97 1.17 1102 MOUNT HOLLY ST 21229 Edmondson Village #> 98 12.04 1000 MOUNT HOLLY ST 21229 Edmondson Village #> 99 2.90 4200 EDMONDSON AVE 21229 Rognel Heights #> 100 25.97 700 WILDWOOD PKWY 21229 Edmondson Village #> 101 15.09 3930 ROKEBY RD 21229 Edmondson Village #> 102 8.96 3901 COLBORNE RD 21229 Edmondson Village #> 103 8.20 3815 HARLEM AVE 21229 Edmondson Village #> 104 1.01 718 LYNDHURST ST 21229 Edmondson Village #> 105 0.93 1011 MOUNT HOLLY ST 21229 Edgewood #> 106 12.91 3901 COLBORNE RD 21229 Edmondson Village #> 107 4.15 600 MOUNT HOLLY ST 21229 Edmondson Village #> 108 1.99 3901 COLBORNE RD 21229 Edmondson Village #> 109 1.09 3901 COLBORNE RD 21229 Edmondson Village #> 110 3.17 718 LYNDHURST ST 21229 Edmondson Village #> 111 2.20 4009 COLBORNE RD 21229 Edmondson Village #> 112 1.16 618 WICKLOW RD 21229 Rognel Heights #> 113 1.19 3901 WOODRIDGE RD 21229 Edmondson Village #> 114 4.95 3901 COLBORNE RD 21229 Edmondson Village #> 115 1.03 4105 MOUNTWOOD RD 21229 Edmondson Village #> 116 1.03 4107 MOUNTWOOD RD 21229 Edmondson Village #> 117 1.00 602 N WOODINGTON RD 21229 Rognel Heights #> 118 2.22 4009 COLBORNE RD 21229 Edmondson Village #> council_district police_district latitude longitude #> 1 8 Southwestern 39.29641 -76.68416 #> 2 8 Southwestern 39.29722 -76.68637 #> 3 8 Southwestern 39.29815 -76.67980 #> 4 8 Southwestern 39.29801 -76.68264 #> 5 8 Southwestern 39.29923 -76.68060 #> 6 8 Southwestern 39.29766 -76.68282 #> 7 8 Southwestern 39.29505 -76.68574 #> 8 8 Southwestern 39.29535 -76.67989 #> 9 8 Southwestern 39.29579 -76.68288 #> 10 8 Southwestern 39.29768 -76.68213 #> 11 8 Southwestern 39.29804 -76.67980 #> 12 8 Southwestern 39.29768 -76.68213 #> 13 8 Southwestern 39.29581 -76.67985 #> 14 8 Southwestern 39.29963 -76.68127 #> 15 8 Southwestern 39.29768 -76.68213 #> 16 8 Southwestern 39.29633 -76.68635 #> 17 8 Southwestern 39.29954 -76.68205 #> 18 8 Southwestern 39.29576 -76.67985 #> 19 8 Southwestern 39.29729 -76.68211 #> 20 8 Southwestern 39.29769 -76.68193 #> 21 8 Southwestern 39.29437 -76.68622 #> 22 8 Southwestern 39.29634 -76.68734 #> 23 8 Southwestern 39.29686 -76.68412 #> 24 8 Southwestern 39.29727 -76.68279 #> 25 8 Southwestern 39.29661 -76.68706 #> 26 8 Southwestern 39.29729 -76.68491 #> 27 8 Southwestern 39.29656 -76.68246 #> 28 8 Southwestern 39.29918 -76.68228 #> 29 8 Southwestern 39.29893 -76.68169 #> 30 8 Southwestern 39.29944 -76.68407 #> 31 8 Southwestern 39.30028 -76.68406 #> 32 8 Southwestern 39.29877 -76.68205 #> 33 8 Southwestern 39.29801 -76.68264 #> 34 8 Southwestern 39.29581 -76.68224 #> 35 8 Southwestern 39.30085 -76.68512 #> 36 8 Southwestern 39.29855 -76.68644 #> 37 8 Southwestern 39.30055 -76.68549 #> 38 8 Southwestern 39.29983 -76.68057 #> 39 8 Southwestern 39.29578 -76.68062 #> 40 8 Southwestern 39.29653 -76.68315 #> 41 8 Southwestern 39.29846 -76.68619 #> 42 8 Southwestern 39.29578 -76.68062 #> 43 8 Southwestern 39.29670 -76.68488 #> 44 8 Southwestern 39.29601 -76.68068 #> 45 8 Southwestern 39.29618 -76.68309 #> 46 8 Southwestern 39.29997 -76.68081 #> 47 8 Southwestern 39.29782 -76.68590 #> 48 8 Southwestern 39.29729 -76.68196 #> 49 8 Southwestern 39.29842 -76.68258 #> 50 8 Southwestern 39.29419 -76.68428 #> 51 8 Southwestern 39.29410 -76.68137 #> 52 8 Southwestern 39.29626 -76.68085 #> 53 8 Southwestern 39.29410 -76.68137 #> 54 8 Southwestern 39.30104 -76.68600 #> 55 8 Southwestern 39.29416 -76.68524 #> 56 8 Southwestern 39.29425 -76.68232 #> 57 8 Southwestern 39.29575 -76.68034 #> 58 8 Southwestern 39.29844 -76.68198 #> 59 8 Southwestern 39.29877 -76.68199 #> 60 8 Southwestern 39.29550 -76.68104 #> 61 8 Southwestern 39.29768 -76.68213 #> 62 8 Southwestern 39.29999 -76.68051 #> 63 8 Southwestern 39.29968 -76.68173 #> 64 8 Southwestern 39.30014 -76.68434 #> 65 8 Southwestern 39.30014 -76.68434 #> 66 8 Southwestern 39.29410 -76.68137 #> 67 8 Southwestern 39.29477 -76.68687 #> 68 8 Southwestern 39.29604 -76.68132 #> 69 8 Southwestern 39.29659 -76.68076 #> 70 8 Southwestern 39.29515 -76.68702 #> 71 8 Southwestern 39.29831 -76.68122 #> 72 8 Southwestern 39.29410 -76.68137 #> 73 8 Southwestern 39.29831 -76.68122 #> 74 8 Southwestern 39.29993 -76.68075 #> 75 8 Southwestern 39.29768 -76.68213 #> 76 8 Southwestern 39.29768 -76.68213 #> 77 8 Southwestern 39.29725 -76.68752 #> 78 8 Southwestern 39.29538 -76.68736 #> 79 8 Southwestern 39.29495 -76.68636 #> 80 8 Southwestern 39.29495 -76.68636 #> 81 8 Southwestern 39.29721 -76.68452 #> 82 8 Southwestern 39.29877 -76.68199 #> 83 8 Southwestern 39.29954 -76.68205 #> 84 8 Southwestern 39.29574 -76.67985 #> 85 8 Southwestern 39.29867 -76.68399 #> 86 8 Southwestern 39.29835 -76.68462 #> 87 8 Southwestern 39.29415 -76.68569 #> 88 8 Southwestern 39.29953 -76.68172 #> 89 8 Southwestern 39.29953 -76.68172 #> 90 8 Southwestern 39.29767 -76.68266 #> 91 8 Southwestern 39.29476 -76.68641 #> 92 8 Southwestern 39.29618 -76.68330 #> 93 8 Southwestern 39.29476 -76.68641 #> 94 8 Southwestern 39.30083 -76.68448 #> 95 8 Southwestern 39.29860 -76.68678 #> 96 8 Southwestern 39.29727 -76.68265 #> 97 8 Southwestern 39.29962 -76.68033 #> 98 8 Southwestern 39.29877 -76.68025 #> 99 8 Southwestern 39.29392 -76.68610 #> 100 8 Southwestern 39.29565 -76.68413 #> 101 8 Southwestern 39.29951 -76.68297 #> 102 8 Southwestern 39.29769 -76.68193 #> 103 8 Southwestern 39.29495 -76.68078 #> 104 8 Southwestern 39.29589 -76.68154 #> 105 8 Southwestern 39.29905 -76.67984 #> 106 8 Southwestern 39.29769 -76.68193 #> 107 8 Southwestern 39.29400 -76.67982 #> 108 8 Southwestern 39.29769 -76.68193 #> 109 8 Southwestern 39.29769 -76.68193 #> 110 8 Southwestern 39.29578 -76.68135 #> 111 8 Southwestern 39.29766 -76.68282 #> 112 8 Southwestern 39.29482 -76.68621 #> 113 8 Southwestern 39.29695 -76.68188 #> 114 8 Southwestern 39.29769 -76.68193 #> 115 8 Southwestern 39.30048 -76.68449 #> 116 8 Southwestern 39.30049 -76.68454 #> 117 8 Southwestern 39.29419 -76.68622 #> 118 8 Southwestern 39.29766 -76.68282 #> geometry objectid #> 1 POINT (427245.1 180958.8) NA #> 2 POINT (427053.6 181048.6) NA #> 3 POINT (427619.9 181153.5) NA #> 4 POINT (427375.7 181136.8) NA #> 5 POINT (427550.9 181273.1) NA #> 6 POINT (427359.6 181098.7) NA #> 7 POINT (427109.2 180807.5) NA #> 8 POINT (427613.6 180842.2) NA #> 9 POINT (427355.8 180890.3) NA #> 10 POINT (427419.8 181100.8) NA #> 11 POINT (427620.4 181141.4) NA #> 12 POINT (427419.8 181100.8) NA #> 13 POINT (427616.5 180893.3) NA #> 14 POINT (427493.3 181317) NA #> 15 POINT (427419.8 181100.8) NA #> 16 POINT (427056.3 180949.5) NA #> 17 POINT (427425.9 181306.9) NA #> 18 POINT (427616.8 180887.9) NA #> 19 POINT (427421.5 181057.2) NA #> 20 POINT (427437.1 181101.5) NA #> 21 POINT (427067.6 180731.8) NA #> 22 POINT (426970.8 180950.9) NA #> 23 POINT (427248.6 181008.8) NA #> 24 POINT (427362.4 181054.9) NA #> 25 POINT (426994.6 180980.5) NA #> 26 POINT (427179.6 181056.1) NA #> 27 POINT (427391.4 180976.1) NA #> 28 POINT (427405.9 181266.7) NA #> 29 POINT (427457.2 181240) NA #> 30 POINT (427251.2 181295.3) NA #> 31 POINT (427252 181388.9) NA #> 32 POINT (427426.1 181222) NA #> 33 POINT (427375.7 181136.8) NA #> 34 POINT (427411 180892.5) NA #> 35 POINT (427160.6 181451.5) NA #> 36 POINT (427047.2 181195.5) NA #> 37 POINT (427128.4 181418.1) NA #> 38 POINT (427553.2 181340) NA #> 39 POINT (427550.7 180890.4) NA #> 40 POINT (427331.8 180972.6) NA #> 41 POINT (427068.6 181185.9) NA #> 42 POINT (427550.7 180890.4) NA #> 43 POINT (427182.9 180991.1) NA #> 44 POINT (427544.8 180915.6) NA #> 45 POINT (427337.4 180933.7) NA #> 46 POINT (427532.3 181355) NA #> 47 POINT (427094.2 181115.1) NA #> 48 POINT (427434.3 181057.3) NA #> 49 POINT (427380.3 181183) NA #> 50 POINT (427235.8 180713) NA #> 51 POINT (427486.6 180703.4) NA #> 52 POINT (427530.3 180943.6) NA #> 53 POINT (427486.6 180703.4) NA #> 54 POINT (427084.4 181472.1) NA #> 55 POINT (427152.9 180709.2) NA #> 56 POINT (427404.1 180720.3) NA #> 57 POINT (427574.4 180887.4) NA #> 58 POINT (427431.9 181185.4) NA #> 59 POINT (427431.1 181221.7) NA #> 60 POINT (427514.3 180859) NA #> 61 POINT (427419.8 181100.8) NA #> 62 POINT (427558.7 181357.8) NA #> 63 POINT (427453.5 181323.1) NA #> 64 POINT (427227.7 181372.6) NA #> 65 POINT (427227.7 181372.6) NA #> 66 POINT (427486.6 180703.4) NA #> 67 POINT (427012.1 180776.6) NA #> 68 POINT (427489.8 180918.3) NA #> 69 POINT (427538.5 180980) NA #> 70 POINT (426998.5 180818.3) NA #> 71 POINT (427498.1 181171.3) NA #> 72 POINT (427486.6 180703.4) NA #> 73 POINT (427498.1 181171.3) NA #> 74 POINT (427537.9 181350.9) NA #> 75 POINT (427419.9 181100) 9952 #> 76 POINT (427419.9 181100) 35902 #> 77 POINT (426955 181050.2) 107675 #> 78 POINT (426969.6 180842.9) 137896 #> 79 POINT (427055.6 180795.5) 146984 #> 80 POINT (427055.6 180795.5) 164251 #> 81 POINT (427213.4 181046.9) 181572 #> 82 POINT (427431.3 181220.8) 202607 #> 83 POINT (427426.1 181306.1) 202612 #> 84 POINT (427617.1 180885.2) 249419 #> 85 POINT (427259 181209.2) 273594 #> 86 POINT (427204.7 181173.5) 342477 #> 87 POINT (427114.2 180707.1) 371806 #> 88 POINT (427454.6 181305.5) 374388 #> 89 POINT (427454.6 181305.5) 374485 #> 90 POINT (427373.7 181099) 377533 #> 91 POINT (427051.6 180774.8) 383053 #> 92 POINT (427319.1 180932.5) 464217 #> 93 POINT (427051.6 180774.8) 493103 #> 94 POINT (427215.9 181448.5) 494091 #> 95 POINT (427017.8 181200.3) 511162 #> 96 POINT (427375.1 181054.4) 576920 #> 97 POINT (427574.1 181316.1) 597230 #> 98 POINT (427581 181221.2) 604355 #> 99 POINT (427078.5 180681.6) 604893 #> 100 POINT (427248 180873.6) 618416 #> 101 POINT (427346.5 181302.6) 634455 #> 102 POINT (427437.3 181100.6) 656551 #> 103 POINT (427537.2 180797.2) 663950 #> 104 POINT (427471.6 180901.2) 718545 #> 105 POINT (427616.3 181252.9) 719722 #> 106 POINT (427437.3 181100.6) 728477 #> 107 POINT (427620.5 180691.4) 744847 #> 108 POINT (427437.3 181100.6) 758450 #> 109 POINT (427437.3 181100.6) 761652 #> 110 POINT (427488 180888.9) 767254 #> 111 POINT (427359.8 181097.9) 772820 #> 112 POINT (427068.9 180780.6) 784068 #> 113 POINT (427441.6 181019.1) 798397 #> 114 POINT (427437.3 181100.6) 809360 #> 115 POINT (427215.4 181409.8) 816919 #> 116 POINT (427210.5 181411.1) 816923 #> 117 POINT (427068.5 180710.7) 817134 #> 118 POINT (427359.8 181097.9) 826458"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Get selected area streets — get_area_streets","title":"Get selected area streets — get_area_streets","text":"Get streets within area areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get selected area streets — get_area_streets","text":"","code":"get_area_streets( area = NULL, street_type = NULL, sha_class = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, trim = FALSE, msa = FALSE, union = TRUE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get selected area streets — get_area_streets","text":"area sf object area streets return. street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\") sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") bbox bbox object defining area used filter data. area provided, bounding box ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim Logical. Default FALSE. Trim streets area using sf::st_intersection(). msa Logical. Default FALSE. Get streets cached baltimore_msa_streets.gpkg file using cachedata parameter get_area_data function. union Logical. Default TRUE. Union geometry based fullname streets.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":null,"dir":"Reference","previous_headings":"","what":"Get vacant building notices — get_area_vacants","title":"Get vacant building notices — get_area_vacants","text":"Parcel boundaries properties active vacant building notice. building unoccupied unsafe unfit people live work inside building, two code violations fixed, six code violations past year, building may receive vacant building notice Baltimore City.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get vacant building notices — get_area_vacants","text":"","code":"get_area_vacants( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, crop = TRUE, trim = FALSE, rehabbed = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get vacant building notices — get_area_vacants","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. rehabbed TRUE, return building permits pulled properties vacant building notices. Default FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_vacants.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get vacant building notices — get_area_vacants","text":"rehabbed parameter TRUE, returned data use occupancy permits pulled properties vacant building notices. DHCD uses data proxy vacant building rehabs.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":null,"dir":"Reference","previous_headings":"","what":"Get zoning data for an area — get_area_zoning","title":"Get zoning data for an area — get_area_zoning","text":"Get zoning codes area within provided sf bbox object.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get zoning data for an area — get_area_zoning","text":"","code":"get_area_zoning( area = NULL, bbox = NULL, category = c(\"all\", \"residential\", \"commercial\", \"industrial\"), diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = NULL, union = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get zoning data for an area — get_area_zoning","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). bbox bbox object defining area used filter data. area provided, bounding box ignored. category Zoning category return. \"\", \"residential\", \"commercial\", \"industrial\" diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter. union Logical. Default FALSE. true, group zoning label combine geometry sf::st_union().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get zoning data for an area — get_area_zoning","text":"sf object zoning overlay data area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_area_zoning.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get zoning data for an area — get_area_zoning","text":"2017 zoning data include exemptions granted Baltimore City BMZA (Board Municipal Zoning Appeals).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Get Baltimore data — get_baltimore_esri_data","title":"Get Baltimore data — get_baltimore_esri_data","text":"wrapper getdata::get_esri_data()","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Baltimore data — get_baltimore_esri_data","text":"","code":"get_baltimore_esri_data(area = NULL, nm = NULL, type = NULL, crs = NULL, ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Baltimore data — get_baltimore_esri_data","text":"area Area (passed location), Default: NULL nm nm (match single value baltimore_gis_index$nm), Default: NULL type Type used alias nm value, Default: NULL crs Coordinate reference system, Default: NULL ... Arguments passed getdata::get_esri_data url FeatureServer MapServer url retrieve data . Passed url parameter esri2sf::esri2sf() esri2sf::esri2df() functions. get_esri_layers(), optional url must service url base url one layer urls. location sf, sfc, bbox object (object convertible as_bbox(). Optional. dist buffer distance units. Optional. diag_ratio ratio diagonal distance area's bounding box used buffer distance. e.g. diagonal distance 3000 meters \"diag_ratio = 0.1\" 300 meter used. Ignored dist provided. unit Units buffer. Supported options include \"meter\", \"foot\", \"kilometer\", \"mile\", \"nautical mile\" Common abbreviations (e.g. \"km\" instead \"kilometer\") also supported. Distance units converted units matching GDAL units x; defaults \"meter\" asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). numeric, get_asp() returns value without modification. query string passed esri2sf, Default: NULL name,name_col Name value name column found ArcGIS FeatureServer MapServer data. coords Coordinate columns input data.frame output sf object (geometry 'centroid' 'point') Default: c(\"lon\", \"lat\"). from_crs df_to_sf(), coordinate reference system used coordinates well known text data frame. clean_names TRUE, set .name_repair janitor::make_clean_names() Ignored get_esri_metadata() returning data.frame, e.g. meta = \"id\". token string authentication token. defaults NULL. progress Show progress bar cli::cli_progress_along() TRUE. Default FALSE. quiet TRUE, use suppressMessages() prevent printing messages requested layer. Defaults FALSE. .name_repair Defaults \"check_unique\"","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_esri_data.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Baltimore data — get_baltimore_esri_data","text":"dataframe simple feature object","code":""},{"path":[]},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"","code":"get_baltimore_worker_flows( area, tracts = baltimore_tracts, min_estimate = 10, geometry = TRUE, crs = 2804 )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"area sf sfc object intersects tracts. tracts Data tigris::tracts() one county Balitmore metro area. Defaults baltimore_tracts. min_estimate Minimum number workers residents tract must include results. Tracts fewer min_estimate values filtered results. Defaults 10. geometry TRUE, return list sf objects. FALSE, return list data.frame objects. Defaults TRUE. crs Coordinate reference system use returned data geometry = TRUE. Defaults 2804.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"list two data.frames sf objects named \"\" \"\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_baltimore_worker_flows.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get Baltimore metro area worker flows from the Census Transportation Planning data (2012-2016 ACS) — get_baltimore_worker_flows","text":"Use FeatureLayers provided Baltimore Metropolitan Council. Deprecated 2024-10-28 discovering BMC removed required source layers.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":null,"dir":"Reference","previous_headings":"","what":"Batch load or save data for an area, street, or intersection — get_batch","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"batch loading/saving function less flexible get_area_data() can reduce need repetitive calls get_area_data() gathering area-level data mapping. get_data_batch() calls get_area_data(). get_area_batch() calls get_area() using provided area location parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"","code":"get_data_batch( get = NULL, area = NULL, label = get, adj = list(dist = 15, diag_ratio = NULL, asp = \"6:4\"), fn = NULL, batch = NULL, crop = TRUE, trim = FALSE, load = TRUE, cache = FALSE, save = FALSE, filetype = \"geojson\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... ) get_area_batch( get = NULL, area = NULL, label = get, adj = list(dist = 15, diag_ratio = NULL, asp = \"6:4\"), fn = NULL, batch = c(\"neighborhood\", \"council district\", \"csa\", \"tract\"), trim = FALSE, load = TRUE, save = FALSE, cache = FALSE, filetype = \"geojson\", crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"get Type geography use setting area data load save. Supported values area \"area\", \"street\", \"intersection\". Default: NULL area sf object use instead getting area, street, intersection. used get NULL. label Label use loaded objects saved files, Defaults get parameter. adj Named list parameters used adjust_bbox() create bounding box area, street, intersection. Set NULL use area (use another sf object other_area parameter) Default: list(dist = 15, diag_ratio = NULL, asp = \"6:4\"). fn Function apply area returning . Useful applying buffer street creating walking distance isochrone use bounding box intersection. batch character string named list. using get_area_batch(), batch must character vector list type(s) area supported get_area(). area intersecting area adjusted area returned. Default: \"neighborhood\", \"council district\", \"csa\", \"tract\" using get_data_batch(), batch must character vector matching one spatial datasets included mapbaltimore package cached advance. \"osm_buildings\" special supported parameter calls get_area_osm_buildings() return building footprints bounding box. Default: c(\"streets\", \"parks\", \"zoning\", \"hmt_2017\", \"mta_bus_lines\", \"mta_bus_stops\", \"trees\", \"vegetated_area\", \"unimproved_property\"). named list list items sf objects, supported character strings, valid URLs ArcGIS FeatureServer MapServer layers also supported. Default: NULL crop FALSE, return data intersects bounding box area, street, intersection crop bounding box. parameter supported get_area_batch(). Default: TRUE. trim TRUE (adj NULL), trim data area, street, intersection. Default: FALSE. load TRUE, load datasets global environment, Default: TRUE cache TRUE, cache datasets package cache folder cache_baltimore_data(). Default FALSE. save TRUE, save selected areas datasets locally file (using filetype parameter file extension)., Default: FALSE filetype File extension supported sf::write_sf(), Default: 'geojson' crs Coordinate reference system ... Parameters passed get_area(), get_streets(), get_intersection() depending value get parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_batch.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Batch load or save data for an area, street, or intersection — get_batch","text":"","code":"if (FALSE) { # \\dontrun{ if (interactive()) { # Load streets and cached edge of pavement data for the Harwood neighborhood get_data_batch( get = \"area\", label = \"harwood\", type = \"neighborhood\", area_name = \"Harwood\", batch = c(\"streets\", \"edge_of_pavement\"), load = TRUE, save = FALSE ) # Save parks, trees, and vegetated area w/in 800 meters # of the intersection of E. Pratt and Light Sts. to GeoJSON files get_data_batch( get = \"intersection\", street_names = \"E PRATT ST & LIGHT ST\", adj = list(dist = 0, diag_ratio = NULL, asp = \"1:1\"), dist = 800, batch = c(\"parks\", \"trees\", \"vegetated_area\") ) } } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":null,"dir":"Reference","previous_headings":"","what":"Get intersections — get_intersection","title":"Get intersections — get_intersection","text":"Get intersections name id option apply buffer return streets edgement pavement instead intersection.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get intersections — get_intersection","text":"","code":"get_intersection( street_names = NULL, id = NULL, dist = 25, type = c(\"area\", \"edge_of_pavement\", \"streets\"), trim = TRUE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get intersections — get_intersection","text":"street_names street names matching one names named_intersections data. id id values corresponding one id values named_intersections data. dist buffer distance meters. Optional. type Type data return. \"area\" returns intersection center dist 0 circle centered intersection center positive dist value. \"edge_of_pavement\" \"streets\" return either cached edge pavement data street center line data. trim type \"edge_of_pavement\" \"streets\" trim TRUE return data trimmed buffered intersection, otherwise return data within bounding box, Default: TRUE","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get intersections — get_intersection","text":"Intersection center point, buffered area around intersection center, streets, edge pavement data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_intersection.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get intersections — get_intersection","text":"","code":"get_intersection(street_names = \"Overton St & S Chapelgate Lane\", dist = 30) #> Simple feature collection with 1 feature and 2 fields #> Geometry type: POLYGON #> Dimension: XY #> Bounding box: xmin: 425908.6 ymin: 178921.1 xmax: 425968.6 ymax: 178981.1 #> Projected CRS: NAD83(HARN) / Maryland #> id name geometry #> 1 74958 OVERTON ST & S CHAPELGATE LANE POLYGON ((425968.6 178951.1... get_intersection(id = \"41758\", dist = 425, type = \"streets\", trim = FALSE) #> Simple feature collection with 24 features and 1 field #> Geometry type: GEOMETRY #> Dimension: XY #> Bounding box: xmin: -8536815 ymin: 4767901 xmax: -8535714 ymax: 4769007 #> Projected CRS: WGS 84 / Pseudo-Mercator #> # A tibble: 24 × 2 #> fullname geometry #> #> 1 AYRDALE AVE MULTILINESTRING ((-8536096 4768614, -8536071 4768680, -85360… #> 2 BERWYN AVE MULTILINESTRING ((-8536330 4768609, -8536335 4768620, -85363… #> 3 BONNER ROAD MULTILINESTRING ((-8536101 4768098, -8536161 4768074), (-853… #> 4 CALLAWAY AVE MULTILINESTRING ((-8535905 4768392, -8535879 4768460), (-853… #> 5 CARSDALE AVE MULTILINESTRING ((-8536561 4768793, -8536559 4768801, -85365… #> 6 CHATHAM ROAD LINESTRING (-8535714 4768930, -8535773 4768954, -8535897 476… #> 7 CHELSEA TERR MULTILINESTRING ((-8536258 4767966, -8536265 4767981), (-853… #> 8 COPLEY ROAD MULTILINESTRING ((-8535725 4768467, -8535717 4768482), (-853… #> 9 DORCHESTER ROAD MULTILINESTRING ((-8536246 4768984, -8536290 4768984, -85363… #> 10 EGERTON ROAD MULTILINESTRING ((-8535797 4768658, -8535809 4768663), (-853… #> # ℹ 14 more rows"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":null,"dir":"Reference","previous_headings":"","what":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"function deprecated functionality now available mapmaryland::get_md_open_data() wraps general getdata::get_open_data() function. Get selected dataset using Socrata Query Language (SoQL) parameters tibble sf object. Details SoQL queries found Socrata API documentation https://dev.socrata.com/docs/queries/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"","code":"get_maryland_open_resource( resource = NULL, select = NULL, where = NULL, query = NULL, geometry = FALSE, area = NULL, bbox = NULL, longitude = \"longitude\", latitude = \"latitude\", trim = FALSE, key = Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\"), crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"resource Socrata dataset identifier selected dataset Maryland's Open Data portal select SODA $select parameter. Set columns returned, similar SELECT SQL. https://dev.socrata.com/docs/queries/select.html SODA $parameter. Filters rows returned, similar . https://dev.socrata.com/docs/queries/.html query SODA $query parameter. full SoQL query string, one parameter. https://dev.socrata.com/docs/queries/query.html geometry TRUE latitude/longitude columns available, return sf() object. Default FALSE. area sf object used generate bbox (used bbox NULL). Required use trim parameter. Default NULL. bbox bbox object generate query non-spatial resources latitude longitude columns. Default NULL. longitude Name column containing longitude data, Default: 'longitude' latitude Name column containing latitude data, Default: 'latitude' trim area provided, trim data area boundary rather bounding box, Default: FALSE. area must provided TRUE. crs Coordinate reference system return.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_maryland_open_resource.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get dataset from Maryland Open Data portal with optional SoQL parameters — get_maryland_open_resource","text":"","code":"if (FALSE) { # \\dontrun{ ## Get Q2 2020 vehicle crash data for Cecil County, Maryland get_maryland_open_resource( resource = \"65du-s3qu\", where = \"(year = '2020') AND (quarter = 'Q2') AND county_desc like 'Cecil'\" ) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_nearby_areas.html","id":null,"dir":"Reference","previous_headings":"","what":"Get nearby areas — get_nearby_areas","title":"Get nearby areas — get_nearby_areas","text":"Return areas selected type within set distance another area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_nearby_areas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get nearby areas — get_nearby_areas","text":"","code":"get_nearby_areas( area, type = c(\"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\"), dist = 1, exclude_area = TRUE, residential = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_nearby_areas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get nearby areas — get_nearby_areas","text":"area sf object. Must name column exclude_area work. type Required. Supported values include \"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\", \"park district\". type may different type area provided. dist Distance meters matching nearby areas. Default 1 meter. exclude_area Logical. Default TRUE. FALSE, include areas provided area (assuming areas provide type parameter provided get_nearby_areas). residential Logical. Default FALSE. type neighborhood, set TRUE return residential neighborhoods (excluding industrial areas, business parks, parks/reservoirs).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Get streets — get_streets","title":"Get streets — get_streets","text":"Get streets Baltimore City name option exclude streets name, crop bounding box, filter selected street types functional classifications.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get streets — get_streets","text":"","code":"get_streets( street_name, exclude_name = NULL, street_type = NULL, sha_class = NULL, block_num = NULL, bbox = NULL, union = TRUE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get streets — get_streets","text":"street_name Street names return. Required. exclude_name Street names exclude street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\"). supported sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") block_num Integer vector block number, e.g. 300, range block numbers (e.g. c(100, 500)) filter streets. bbox bbox crop returned streets. Optional. union Logical. TRUE, use st_union combine geometry fullname streets.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get streets — get_streets","text":"OUTPUT_DESCRIPTION","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Get streets — get_streets","text":"DETAILS","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/get_streets.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get streets — get_streets","text":"","code":"get_streets(street_name = \"UNIVERSITY PKWY\") #> Simple feature collection with 2 features and 1 field #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 431490.7 ymin: 184537.1 xmax: 433526.9 ymax: 186030.6 #> Projected CRS: NAD83(HARN) / Maryland #> # A tibble: 2 × 2 #> fullname geometry #> #> 1 E UNIVERSITY PKWY ((433012.2 184928.3, 433040.2 184906.5, 433058.1 184891.7, … #> 2 W UNIVERSITY PKWY ((431490.7 186021.5, 431503.9 186030.6), (432938.4 185006.9… get_streets(street_name = c(\"E FAYETTE\", \"ORLEANS\"), block_num = c(1700, 3600)) #> Warning: attribute variables are assumed to be spatially constant throughout all geometries #> Simple feature collection with 2 features and 1 field #> Geometry type: MULTILINESTRING #> Dimension: XY #> Bounding box: xmin: 435026.7 ymin: 180717.9 xmax: 437393.1 ymax: 180941.1 #> Projected CRS: NAD83(HARN) / Maryland #> # A tibble: 2 × 2 #> fullname geometry #> #> 1 E FAYETTE ST ((436092.7 180775.4, 436117.4 180777), (435315.1 180732.7, 43537… #> 2 ORLEANS ST ((435026.7 180867.6, 435088.5 180870.3, 435123.3 180872.4, 43513…"},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":null,"dir":"Reference","previous_headings":"","what":"Housing Market Typology 2017 — hmt_2017","title":"Housing Market Typology 2017 — hmt_2017","text":"2017 update City’s Housing Market Typology jointly developed Baltimore City Planning Department, Department Housing & Community Development, Reinvestment Fund.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Housing Market Typology 2017 — hmt_2017","text":"","code":"hmt_2017"},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Housing Market Typology 2017 — hmt_2017","text":"data frame 663 rows 15 variables: geoid U.S. Census Block Group GeoID geoid_part Identifier U.S. Census Block Group GeoID including part identifier part Part identifier cluster Housing market cluster cluster_group Housing market cluster median_sales_price Median sales price, Q3 2015 - Q2 2017 sales_price_variation Sales price variation, Q3 2015 - Q2 2017 num_sales Number residential sales, Q3 2015 - Q2 2017 num_foreclosure_filings Number foreclosure filings, Q3 2015 - Q2 2017 perc_foreclosure_sales Percent sales foreclosure, Q3 2015 - Q2 2017 perc_homeowners Percent owner occupied, July 2017 perc_permits_over10k Percent residential building permits $10,000, Q3 2015 - Q2 2017 vacant_lots_bldgs_per_acre_res Vacant lots buildings per residential acre, July 2017 units_per_acre_res Housing units per residential acre, July 2017 geometry MULTIPOLYGON geometry matching Census blocks groups parts block groups","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/hmt_2017.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Housing Market Typology 2017 — hmt_2017","text":"https://opendata.baltimorecity.gov/egis/rest/services/Hosted/Housing_Market_Typology_2017/FeatureServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":null,"dir":"Reference","previous_headings":"","what":"INSPIRE Plans — inspire_plans","title":"INSPIRE Plans — inspire_plans","text":"Data frame boundary geometry INSPIRE Plans adopted progress.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"INSPIRE Plans — inspire_plans","text":"","code":"inspire_plans"},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"INSPIRE Plans — inspire_plans","text":"data frame 24 rows 23 variables: plan_name Plan name plan_name_short Plan name (short) overall_status Overall status inspire_lead_planner Lead INSPIRE Planner plan_url Baltimore City Department Planning plan webpage url year_launched Year launched year_adopted Year adopted Planning Commission adoption_status Planning Commission adoption status adoption_date Planning Commission adoption data document_url Adopted plan PDF url recommendation_report_status Recommendation report status recommendation_report_url Draft recommendation report PDF url kick_off_presentation_date Kick-presentation date launch_date_target Target launch date walking_route_id_target_date Primary walking route identification date recommendations_date_target Target draft recommendation report publication date commission_review_date_target Target Planning Commission review date implementation_status Plan implementation status program_numbers School program numbers planning_districts Planning Districts neighborhoods Neighborhoods council_districts Baltimore City Council Districts geometry MULTIPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/inspire_plans.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"INSPIRE Plans — inspire_plans","text":"Last updated: 2024-03-29","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":null,"dir":"Reference","previous_headings":"","what":"Layer for area data — layer_area_data","title":"Layer for area data — layer_area_data","text":"function deprecated functionality incorporated improved maplayer::layer_location_data() function uses similar set parameters. Layer ggplot show data area area bbox. Combines get_area_data geom_sf single call. Inherits data ggplot() data, extdata, cachedata left NULL. Set asis TRUE keep data crop area modified area. Optionally can combine data layer mask layer, area layer, additional number layers three. appearance area layer can modified fixed aesthetics using area_aes parameter. Fixed aesthetics data layer can added additional parameters.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Layer for area data — layer_area_data","text":"","code":"layer_area_data( area = NULL, bbox = NULL, data = NULL, extdata = NULL, cachedata = NULL, path = NULL, url = NULL, fn = NULL, asis = FALSE, diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), mapping = ggplot2::aes(), inherit.aes = TRUE, show_mask = FALSE, show_area = FALSE, area_aes = list(color = \"gray30\"), layer_after = NULL, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Layer for area data — layer_area_data","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. data sf object including data area extdata Character. Name external geopackage (.gpkg) file included package selected data available. Available data includes \"trees\", \"unimproved_property\", \"vegetated_area\" cachedata Character. Name cached geopackage (.gpkg) file selected data available. Running cache_mapbaltimore_data() caches data \"real_property\", \"baltimore_msa_streets\", \"edge_of_pavement\" path Character. Path local remote spatial data file supported sf::st_read() url Character. URL FeatureServer MapServer layer pass get_area_esri_data. fn Function apply area data returning. asis Logical. Default FALSE. TRUE, use inherited data without cropping area. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter. show_mask Logical. Default FALSE. TRUE, add mask using layer_area_mask show_area Logical. Default FALSE. TRUE, add outline area layer. area_aes List fixed aesthetics area layer. Default list(color = \"gray30\", fill = NA). Supported aesthetics include color, fill, linetype, alpha, size. Defaults color = \"gray30\", fill = NA, size = 0.75, alpha = 1, linetype = 0. Default aesthetics geom_sf ignored. layer_after ggplot objects append end data, mask, area layer list. intended used append scales, guides, labels related data layer. ... Arguments passed ggplot2::geom_sf, ggplot2::geom_sf mapping Set aesthetic mappings created aes(). specified inherit.aes = TRUE (default), combined default mapping top level plot. must supply mapping plot mapping. inherit.aes FALSE, overrides default aesthetics, rather combining . useful helper functions define data aesthetics inherit behaviour default plot specification, e.g. borders().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_data.html","id":"predefined-layers","dir":"Reference","previous_headings":"","what":"Predefined layers","title":"Layer for area data — layer_area_data","text":"NA","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":null,"dir":"Reference","previous_headings":"","what":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"function deprecated functionality incorporated improved maplayer::layer_mask() function uses similar set parameters. Returns mask area areas sf object. function can called function uses logical mask parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"","code":"layer_area_mask( area = NULL, diag_ratio = NULL, dist = NULL, asp = NULL, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), mask_bbox = NULL, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"area sf object. Required. multiple areas provided, areas combined single geometry sf::st_union() diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate reference system bounding box return mask_bbox bbox object define edge mask. diag_ratio, dist, asp parameters ignored mask_bbox provided. ... Additional parameters pass ggplot2::geom_sf()","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_mask.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add an area mask to a ggplot2 map as a layer — layer_area_mask","text":"ggplot2::geom_sf() function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"Real property parcel data Maryland State Department Assessment Taxation may include outdated inaccurate information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"","code":"layer_area_property( area = NULL, bbox = NULL, data = NULL, type = c(\"improved\", \"vacant\", \"principal residence\", \"use\", \"building type\", \"value\"), asis = FALSE, diag_ratio = NULL, dist = NULL, asp = NULL, crop = TRUE, trim = FALSE, show_area = FALSE, show_mask = FALSE, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"area sf object. multiple areas provided, unioned single sf object using sf::st_union() bbox bbox object defining area used filter data. area provided, bounding box ignored. data sf object including data area type Real property variable map. Options include c(\"improved\", \"vacant\", \"principal residence\", \"value\"). Currently supports one variable time. asis Logical. Default FALSE. TRUE, use inherited data without cropping area. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. dist buffer distance meters. Optional. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crop TRUE, data cropped area bounding box sf::st_crop() adjusted dist, diag_ratio, asp parameters provided. Default TRUE. trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. show_area Logical. Default FALSE. TRUE, add outline area layer. show_mask Logical. Default FALSE. TRUE, add mask using layer_area_mask crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter. ... passed ggplot2::geom_sf() data layer.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_property.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a layer to a gpplot2 map with area property categorized by type — layer_area_property","text":"","code":"if (FALSE) { # \\dontrun{ area <- get_area(\"neighborhood\", \"West Forest Park\") property <- get_area_property(area = area) ggplot2::ggplot() + layer_area_property(area = area, data = property, type = \"principal residence\") } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","title":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","text":"Add layer gpplot2 map area streets, street names, .","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","text":"","code":"layer_area_streets( area = NULL, street_type = NULL, sha_class = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, trim = FALSE, msa = FALSE, show_streets = TRUE, show_names = FALSE, name_location = NULL, edge_dist = 10, color = \"gray40\", size = 1, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/layer_area_streets.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a layer to a gpplot2 map with area streets, street names, or both — layer_area_streets","text":"area sf object. Returns streets within area (adjustment dist, diag_ratio, asp parameters) street_type selected street subtypes include. default, returned data includes subtypes except alleys (\"STRALY\"). Options include c(\"STRALY\", \"STRPRD\", \"STRR\", \"STREX\", \"STRFIC\", \"STRNDR\", \"STRURD\", \"STCLN\", \"STRTN\") sha_class selected SHA classifications include. \"\" selects streets assigned SHA classification (around one-quarter street segments). Additional options include c(\"COLL\", \"LOC\", \"MART\", \"PART\", \"FWY\", \"INT\") dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim Logical. Default FALSE. Trim streets area using sf::st_intersection(). msa Logical. Default FALSE. Get streets cached baltimore_msa_streets.gpkg file using cachedata parameter get_area_data function. show_streets Logical. Default TRUE. FALSE, hides street center lines. show_names Logical. Default FALSE. TRUE, shows street names. name_location Options include c(\"area\", \"edge\", \"top\", \"left\", \"bottom\", \"right\", \"topleft\", \"topright\", \"bottomleft\", \"bottomright\"). Defaults NULL. edge_dist Distance buffer use placing street names. color Color streets /text street name labels. size Size streets /street name labels. ... parameters pass along ggplot2::geom_sf() maps streets.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"subset Maryland legislative districts Maryland iMap.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"","code":"legislative_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"data frame 6 rows 4 variables: name District name id District number label District label geometry MULTIPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Legislative Districts for Baltimore City (2022) — legislative_districts","text":"https://geodata.md.gov/imap/rest/services/Boundaries/MD_ElectionBoundaries_2022/FeatureServer/1","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"subset Maryland legislative districts Maryland iMap.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"","code":"legislative_districts_2012"},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"data frame 6 rows 4 variables: name District name id District number label District label geometry MULTIPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/legislative_districts_2012.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Legislative Districts for Baltimore City (2012) — legislative_districts_2012","text":"https://geodata.md.gov/imap/rest/services/Boundaries/MD_ElectionBoundaries/FeatureServer/1","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Main Streets — main_streets","title":"Baltimore City Main Streets — main_streets","text":"Boundaries Baltimore City Main Street programs, including two programs currently funded formerly participated program.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Main Streets — main_streets","text":"","code":"main_streets"},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Main Streets — main_streets","text":"data frame 10 rows 7 variables: id Main Street ID source FeatureLayer name Main Street name name_abb Name abbreviation url Main Street partner organization URL funding_status Funding status (active inactive) name_short Short name geometry sfc list column MULTIPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/main_streets.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Main Streets — main_streets","text":"https://services1.arcgis.com/43Lm3JYE3nM91DAF/arcgis/rest/services/MainStreets/FeatureServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":null,"dir":"Reference","previous_headings":"","what":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"Map showing BCPS school zones overlap provided area areas. area sf tibble includes multiple areas, separate map created area provided.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"","code":"map_area_bcps_programs(area)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"area sf object","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_bcps_programs.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Map BCPS programs and attendance zones for a local area — map_area_bcps_programs","text":"","code":"if (FALSE) { # \\dontrun{ ## Map school attendance boundary zones for the Madison Park neighborhood madisonpark <- get_area( area_type = \"neighborhood\", area_name = \"Madison Park\" ) map_area_bcps_programs(area = madisonpark) } # } if (FALSE) { # \\dontrun{ ## Map school attendance boundary zones for City Council District 2 district9 <- get_area( type = \"council district\", area_name = \"9\" ) map_area_bcps_programs(area = district9) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_highlighted.html","id":null,"dir":"Reference","previous_headings":"","what":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","title":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","text":"Map highlighting location area context multiple areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_highlighted.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","text":"","code":"map_area_highlighted(area, highlight_name = \"all\")"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_highlighted.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Maps a highlighted area within the context of multiple areas — map_area_highlighted","text":"area Required sf object 'name' column. highlight_name Character vector. Required. Use \"\" create grid maps highlighting area provided sf object provide name one areas highlight.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_areas.html","id":null,"dir":"Reference","previous_headings":"","what":"Map area within selected overlapping areas — map_area_in_areas","title":"Map area within selected overlapping areas — map_area_in_areas","text":"Map area areas within selected overlapping areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_areas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map area within selected overlapping areas — map_area_in_areas","text":"","code":"map_area_in_areas( area, type = c(\"neighborhood\", \"council district\", \"legislative district\", \"congressional district\", \"planning district\", \"police district\", \"csa\"), show_area = TRUE, show_label = FALSE, background = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_areas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map area within selected overlapping areas — map_area_in_areas","text":"area sf object. Required type Type area map. Supports types get_area function. show_area Logical. Default TRUE. show_label Logical. Default FALSE. TRUE, label areas ggplot2::geom_sf_label() background ggplot layer. Default NULL. Passing ggplot2 layer may necessary appropriate background congressional district maps.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":null,"dir":"Reference","previous_headings":"","what":"Map area in the context of city boundaries — map_area_in_city","title":"Map area in the context of city boundaries — map_area_in_city","text":"Map showing location area within city.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map area in the context of city boundaries — map_area_in_city","text":"","code":"map_area_in_city(area, area_label = NULL)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map area in the context of city boundaries — map_area_in_city","text":"area sf object 'name' column. Required. area_label area label replace area name. Optional.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_in_city.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Map area in the context of city boundaries — map_area_in_city","text":"","code":"if (FALSE) { # \\dontrun{ ## Area with a defined label district2 <- get_area( type = \"council district\", area_id = \"2\" ) map_area_in_city( area = district2, area_label = \"Baltimore's Second Council District\" ) } # } if (FALSE) { # \\dontrun{ ## Multiple areas in a single map selected_se_neighborhoods <- get_area( type = \"neighborhood\", area_name = c(\"Upper Fells Point\", \"Fells Point\", \"Canton\") ) map_area_in_city( area = selected_se_neighborhoods, area_label = \"Southeast Baltimore neighborhoods\" ) } # } if (FALSE) { # \\dontrun{ ## Area with a defined map title canton_industrial <- get_area( type = \"neighborhood\", area_name = \"Canton Industrial Area\" ) map_area_in_city(area = canton_industrial) } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_mta_services.html","id":null,"dir":"Reference","previous_headings":"","what":"Map MTA services — map_area_mta_services","title":"Map MTA services — map_area_mta_services","text":"Map MTA services. MTA bus lines currently supported service.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_mta_services.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map MTA services — map_area_mta_services","text":"","code":"map_area_mta_services( area, mta_services = \"bus_lines\", diag_ratio = 0.166, asp = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_mta_services.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map MTA services — map_area_mta_services","text":"area sf object. Required. mta_services Character vector. Default \"bus_lines\" use mta_bus_lines data. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\").","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_parks.html","id":null,"dir":"Reference","previous_headings":"","what":"Map area parks and open spaces — map_area_parks","title":"Map area parks and open spaces — map_area_parks","text":"Return ggplot map showing parks around selected area.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_parks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map area parks and open spaces — map_area_parks","text":"","code":"map_area_parks( area, type = c(\"parks\", \"vacant lots\"), label = c(\"parks\"), dist = NULL, diag_ratio = 0.125, asp = NULL )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_parks.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map area parks and open spaces — map_area_parks","text":"area sf object. Required. type layers show map (\"parks\" \"vacant lots\"). Defaults . label layers label. \"parks\" supported. Use value exclude labels. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\").","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_property.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Real property or parcel data is from the Maryland State Department of Assessment and Taxation and may include outdated or inaccurate information. — map_area_property","text":"","code":"map_area_property( area, property = c(\"improved\", \"vacant\", \"principal residence\", \"use\", \"building type\", \"value\"), dist = NULL, diag_ratio = 0.1, asp = NULL, trim = FALSE, show_mask = FALSE )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_property.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Real property or parcel data is from the Maryland State Department of Assessment and Taxation and may include outdated or inaccurate information. — map_area_property","text":"area Simple features object. Function currently supports single area time. property Real property variable map. Options include c(\"improved\", \"vacant\", \"principal residence\", \"value\"). Currently supports one variable time. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). trim TRUE, data trimmed area sf::st_intersection(). option supported adjusted areas use dist, diag_ratio, asp parameters. Default FALSE. show_mask TRUE, apply white, 0.6 alpha mask property located outside provided area. Default FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_zoning.html","id":null,"dir":"Reference","previous_headings":"","what":"Map zoning for an area (not working) — map_area_zoning","title":"Map zoning for an area (not working) — map_area_zoning","text":"Map zoning/zoning overlay codes area within city. 2017 zoning data include exemptions granted BMZA (Board Municipal Zoning Appeals).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_zoning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Map zoning for an area (not working) — map_area_zoning","text":"","code":"map_area_zoning( area, category = c(\"all\", \"residential\", \"commercial\", \"industrial\"), diag_ratio = 0.125, asp = NULL, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804) )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/map_area_zoning.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Map zoning for an area (not working) — map_area_zoning","text":"area sf, sfc, bbox object. multiple areas provided, unioned single sf object using sf::st_union(). category Zoning category return. \"\", \"residential\", \"commercial\", \"industrial\" diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate Reference System (CRS) use returned data. CRS provided data bounding box area must match one another required match CRS provided parameter.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mapbaltimore-package.html","id":null,"dir":"Reference","previous_headings":"","what":"mapbaltimore: Make maps for Baltimore City with open data — mapbaltimore-package","title":"mapbaltimore: Make maps for Baltimore City with open data — mapbaltimore-package","text":"package provides data Baltimore City, state Maryland, sources, functions access additional data, function create modify simple maps Baltimore neighborhoods using sf ggplot2.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/reference/mapbaltimore-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"mapbaltimore: Make maps for Baltimore City with open data — mapbaltimore-package","text":"Maintainer: Eli Pousson eli.pousson@gmail.com (ORCID) [copyright holder]","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":null,"dir":"Reference","previous_headings":"","what":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"function add Maryland Open Data Portal API key .Renviron file can called securely without stored code. installed key, can called time typing Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\") can used package functions simply typing MARYLAND_OPEN_DATA_API_KEY .Renviron file, function create . already .Renviron file, function append key existing file, making backup original file disaster recovery purposes.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"","code":"maryland_open_data_api_key(key, overwrite = FALSE, install = FALSE)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"key API key provided Maryland Open Data Portal formatted quotes. key created signing https://imap.maryland.gov/Pages/open-data-portal-signup.aspx overwrite set TRUE, overwrite existing MARYLAND_OPEN_DATA_API_KEY already .Renviron file. install TRUE, install key .Renviron file use future sessions. Defaults FALSE.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/maryland_open_data_api_key.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Install a Maryland Open Data Portal API Key in Your .Renviron File for Repeated Use — maryland_open_data_api_key","text":"","code":"if (FALSE) { # \\dontrun{ MARYLAND_OPEN_DATA_API_KEY(\"111111abc\", install = TRUE) # First time, reload your environment so you can use the key without restarting R. readRenviron(\"~/.Renviron\") # You can check it with: Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\") } # } if (FALSE) { # \\dontrun{ # If you need to overwrite an existing key: MARYLAND_OPEN_DATA_API_KEY(\"111111abc\", overwrite = TRUE, install = TRUE) # First time, relead your environment so you can use the key without restarting R. readRenviron(\"~/.Renviron\") # You can check it with: Sys.getenv(\"MARYLAND_OPEN_DATA_API_KEY\") } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"Maryland Department Transportation's Maryland Transit Administration Summer 2022 Bus Routes including CityLink, LocalLink, Express BusLink Commuter Bus services reflects bus route changes June 19, 2022. full details service change visit: https://www.mta.maryland.gov/servicechanges/summer2022","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"","code":"mta_bus_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"data frame 103 rows 4 variables: route_name Bus route name route_type Route type (CityLink, LocalLink, Commuter Bus) route_number Unique route number color identifier route_abb Route abbreviation (different route_number color CityLink routes) frequent Logical indicator route inclusion MTA BaltimoreLink's Frequent Transit Network. school Indicator school routes geometry MULTILINESTRING bus route geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Bus Routes (2022) — mta_bus_lines","text":"Maryland Transit - MTA Bus Lines (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"Maryland Department Transportation's Maryland Transit Administration Bus Stops including CityLink, LocalLink, Express BusLink, Commuter Bus. data based Winter 2023 schedule reflects bus stop changes February 5, 2023 Ridership data based Automatic Passenger Counting (APC) system average daily weekday bus stop ridership (boarding, alighting, total) Fall 2022 period exclude outliers. full details service change visit: https://www.mta.maryland.gov/servicechanges/winter2023","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"","code":"mta_bus_stops"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"data frame 4536 rows 14 variables: stop_id Stop identification number stop_name Stop name rider_on Average daily weekday count riders boarding transit stop rider_off Average daily weekday count riders alighting transit stop rider_total Average daily weekday count total riders served stop stop_ridership_rank Stop rank ridership routes_served Routes served stop mode Mode served stop shelter Logical indicator bus shelter availability county County stop located direction Route direction stop_location Stop location frequent Indicator stop serving frequent transit network geometry POINT stop location geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"Maryland Transit - MTA Bus Stops (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_bus_stops.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Maryland Transit Administration (MTA) Bus Stops (2023) — mta_bus_stops","text":"Last updated Maryland iMap Source August 23, 2023.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"Location MTA Light Rail Stations.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"","code":"mta_light_rail_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"data frame 84 rows 8 variables: id Feature ID rail_name Line name (Light Rail Line) mode Facility mode (Light Rail) tunnel Tunnel indicator direction Travel direction miles Section mileage status Section status geometry LINESTRING line geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_lines","text":"Maryland Transit - Light Rail Lines (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"Locations stations Baltimore Light RailLink (Baltimore Light Rail) line operated Maryland Transit Administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"","code":"mta_light_rail_stations"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"data frame 33 rows 11 variables: id Feature ID name Station name address Station address city City state State zipcode Zipcode mode Facility mode (Light Rail) avg_wkdy Average weekday passengers avg_wknd Average weekend passengers facility_type Facility type geometry POINT geometry station locations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_light_rail_stations.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) Light RailLink Stations — mta_light_rail_stations","text":"Maryland Transit - Light RailLink Stations (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"MARC (Maryland Area Regional Commuter) Rail system lines operated Maryland Transit Administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"","code":"mta_marc_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"data frame 162 rows 8 variables: id Feature ID rail_name Rail line name mode Facility mode line name (MARC) tunnel Tunnel indicator direction Travel direction miles Section mileage status Section status geometry LINESTRING geometry rail lines","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) MARC Train Lines — mta_marc_lines","text":"Maryland Transit - MARC Train Lines (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"Locations MARC (Maryland Area Regional Commuter) Rail stations operated Maryland Transit Administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"","code":"mta_marc_stations"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"data frame 44 rows 12 variables: id Feature ID name Station name address Station address city City state State zipcode Zipcode line_name Line name mode Facility mode line name (MARC) avg_wkdy Average weekday passengers avg_wknd Average weekend passengers facility_type Facility type (Station) geometry POINT geometry station location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_marc_stations.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) MARC Train Stations — mta_marc_stations","text":"Maryland Transit - MARC Trains Stations (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"Route MTA SubwayLink Metro Line.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"","code":"mta_subway_lines"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"data frame 34 rows 8 variables: id Feature id number integer rail_name Subway line name (Metro Line) mode Travel mode (Metro) tunnel Section tunnel indicator direction Travel direction miles Section mileage status Section status geometry MULTILINESTRING geometry lines","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_lines.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) SubwayLink Metro Lines — mta_subway_lines","text":"Baltimore Metro Subway Line","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":null,"dir":"Reference","previous_headings":"","what":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"Location MTA SubwayLink Metro Stations.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"","code":"mta_subway_stations"},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"data frame 14 rows 10 variables: id Station identification number integer name Station name address Station street address city City state State mode Travel mode (Metro) avg_wkdy Average weekday passengers avg_wknd Average weekend passengers facility_type Facility type (Station) geometry POINT station location geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/mta_subway_stations.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Maryland Transit Administration (MTA) SubwayLink Metro Stations — mta_subway_stations","text":"Baltimore Metro SubwayLink Stations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/named_intersections.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Street Intersection Names — named_intersections","title":"Baltimore City Street Intersection Names — named_intersections","text":"Index Baltimore City intersections using names street centerlines within 20 meters intersection boundaries. Data supports get_intersection() function. Updated 2022 October 13.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/named_intersections.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Street Intersection Names — named_intersections","text":"","code":"named_intersections"},{"path":"https://elipousson.github.io/mapbaltimore/reference/named_intersections.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Street Intersection Names — named_intersections","text":"data frame 11506 rows 3 variables: id Intersection identifier matching id edge_of_pavement data name Intersection name geometry POINT geometry intersection center","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":null,"dir":"Reference","previous_headings":"","what":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"Baltimore City neighborhoods (officially known Neighborhood Statistical Areas) established Baltimore City Department Planning based 2010 U.S. Decennial Census. Note boundaries may may used local community neighborhood associations area responsibility membership recruitment.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"","code":"neighborhoods"},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"data frame 278 rows 6 variables: name Neighborhood name type Type area, options including residential, industrial area, park/open space, institutionl area business park) acres Area neighborhood (acres) osm_id Open Street Map (OSM) relation identifier wikidata Wikidata entity identifier geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Neighborhood Boundaries for Baltimore City (2010) — neighborhoods","text":"Maryland Baltimore City Neighborhoods (MD iMap)","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":null,"dir":"Reference","previous_headings":"","what":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"Baltimore City neighborhoods (officially known Neighborhood Statistical Areas) established Baltimore City Department Planning based 2020 U.S. Decennial Census. updated version 2010 Neighborhood Statistical Areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"","code":"neighborhoods_2020"},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"data frame 279 rows 8 variables: name Neighborhood name name_alt 2010 neighborhood name type Type area, options including residential, industrial area, park/open space, institutionl area business park) acres Area neighborhood (acres) osm_id Open Street Map (OSM) relation identifier wikidata Wikidata entity identifier color_id Color identifier geometry MULITPOLYGON boundary geometry","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/neighborhoods_2020.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Neighborhood Boundaries for Baltimore City (2020) — neighborhoods_2020","text":"NSA_Feb2023_service","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/park_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore Park Districts — park_districts","title":"Baltimore Park Districts — park_districts","text":"Park districts Baltimore City Department Recreation Parks. District boundaries used park maintenance administration.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/park_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore Park Districts — park_districts","text":"","code":"park_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/park_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore Park Districts — park_districts","text":"data frame 5 rows 2 variables: name Park district name geometry MULTIPOLYGON geometry park district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Parks — parks","title":"Baltimore City Parks — parks","text":"Spatial data parks public recreation centers Baltimore City Baltimore City Department Recreation Parks. names updated use common names recent new official names package version may match city data cases. parks matched corresponding entities OpenStreetMap indicated osm_id column.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Parks — parks","text":"","code":"parks"},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Parks — parks","text":"data frame 321 rows 9 variables: name Park name id Identification number city data address Primary street address name_alt Alternate name num_parcels Number parcels park/open space operator Park operator, Baltimore City Department Recreation Parks (BCRP) management Park management/owner name (column name may change) class Park classification park_district Park maintenance district BCRP acres Area park property (acres) osm_id OpenStreetMap ID (node, way, relation) geometry MULTIPOLYGON geometry park edges","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Parks — parks","text":"https://services1.arcgis.com/UWYHeuuJISiGmgXx/arcgis/rest/services/Map_WFL1/FeatureServer/16","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/parks.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Baltimore City Parks — parks","text":"Updated 2023-10-16 change recently updated city FeatureLayer source geometry.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::[\\%>\\%][magrittr::pipe] details.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Planning Districts — planning_districts","title":"Baltimore City Planning Districts — planning_districts","text":"Administrative boundaries set Baltimore City Department Planning. District planning staff assigned planning districts.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Planning Districts — planning_districts","text":"","code":"planning_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Planning Districts — planning_districts","text":"data frame 11 rows 4 variables: id Planning district area identifier name Full name planning district abb Planning district area abbreviation geometry MULTIPOLYGON geometry planning district","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/planning_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Planning Districts — planning_districts","text":"https://geodata.baltimorecity.gov/egis/rest/services/CityView/PlanningDistricts/MapServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Police Districts (1959-2022) — police_districts","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"Baltimore City Police Districts established 1959 used 2022. Note data moved separate object historic district boundaries 2023.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"","code":"police_districts"},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"data frame 9 rows 3 variables: number Police district number name Police district name geometry MULITPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Police Districts (1959-2022) — police_districts","text":"https://geodata.baltimorecity.gov/egis/rest/services/Planning/Boundaries/MapServer/7","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Police Districts (2023-Current) — police_districts_2023","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"Baltimore City Police Districts boundaries updated 2023.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"","code":"police_districts_2023"},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"data frame 9 rows 4 variables: id Police district number name Police district name name_abb District name abbreviation geometry MULTIPOLYGON geometry district boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/police_districts_2023.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Police Districts (2023-Current) — police_districts_2023","text":"https://services1.arcgis.com/UWYHeuuJISiGmgXx/arcgis/rest/services/Police_District/FeatureServer/0","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/public_art.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore public art works and monuments — public_art","title":"Baltimore public art works and monuments — public_art","text":"Data created Eli Pousson C. Ryan Patterson contributions staff volunteers Baltimore City Commission Historical Architectural Preservation, Baltimore Heritage, Baltimore Office Promotion Arts. Updated January 18, 2023. See https://publicartbaltimore.github.io/inventory/ information.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/public_art.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore public art works and monuments — public_art","text":"","code":"public_art"},{"path":"https://elipousson.github.io/mapbaltimore/reference/public_art.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore public art works and monuments — public_art","text":"data frame 1140 rows 35 variables: id incomplete unique id column osm_id OpenStreetMap identifier title Artwork title location Location name type Artwork type medium Artwork medium status Artwork status year Artwork status year_accuracy Artwork status creation_dedication_date Creation/dedication date primary_artist Primary artist primary_artist_gender Primary artist gender (based name biographical information available) street_address Street address city City state State zipcode Zipcode dimensions Artwork dimensions program Commissioning program funding Primary funding source artist_assistants Artist assistants architect Architect fabricator Fabricator neighborhood Neighborhood csa Community Statistical Area council_district Baltimore City Council District legislative_district character Maryland State Legislative District location_desc character Location description indoor_outdoor_access Indoor/outdoor accessible subject_person Subject artworks (work depicts person) related_property Related property name property_ownership Related property ownership agency_or_insitution Agency/institution responsible wikipedia_url Wikipedia URL geometry POINT location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Recreation Centers — rec_centers","title":"Baltimore City Recreation Centers — rec_centers","text":"Currently includes publicly operated (BCRP) rec centers. Expect add private operator facilities. Added 2023-10-19.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Recreation Centers — rec_centers","text":"","code":"rec_centers"},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Recreation Centers — rec_centers","text":"data frame 48 rows 18 variables: id ID name Center name name_short Short name street_address Street address address Full address center_amenities Center amenities center_assets Center facility assets center_category Center category center_type Center type school_name School name (school-based centers ) operator Operator (BCRP ) recreation_district BCRP Recreation district park_district BCRP Park Maintenance District council_district City Council district legislative_district Maryland legislative district police_district BPD Police district (maybe outdated) notes Notes geometry POINT geometry center location","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/rec_centers.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Recreation Centers — rec_centers","text":"https://services1.arcgis.com/UWYHeuuJISiGmgXx/arcgis/rest/services/recreationCenter2023/FeatureServer","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":null,"dir":"Reference","previous_headings":"","what":"311 Service Request Types for Baltimore City — request_types","title":"311 Service Request Types for Baltimore City — request_types","text":"list request types based unique request types used January 2019 October 2020.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"311 Service Request Types for Baltimore City — request_types","text":"","code":"request_types"},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"311 Service Request Types for Baltimore City — request_types","text":"data frame 320 rows 1 variable: request_type Service request type","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/request_types.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"311 Service Request Types for Baltimore City — request_types","text":"https://data.baltimorecity.gov/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"reference table responsible agency codes appearing Baltimore City real property data used get_area_property(). Updated 2023 March 29.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"","code":"respagency_codes"},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"data frame 37 rows 7 variables: name Responsible agency name code Responsible agency code agency_name Baltimore City agency/commission name agency_abb Baltimore City agency/commission abbreviation division_name Agency division name active_code Active code indicator (FALSE codes appear data) notes Notes code/agency","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/respagency_codes.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Real Property Responsible Agency Codes — respagency_codes","text":"https://docs.google.com/spreadsheets/d/1Dnyp4-AZxvFPpt5Vci4NRWR9tGP99R8RaHuPCbzcGCA/edit?usp=sharing","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":null,"dir":"Reference","previous_headings":"","what":"Scales for Baltimore data — scale_mapbaltimore","title":"Scales for Baltimore data — scale_mapbaltimore","text":"Custom palettes two package datasets: mta_bus_lines hmt_2017 (cluster cluster group).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scales for Baltimore data — scale_mapbaltimore","text":"","code":"scale_mapbaltimore( palette = NULL, values = NULL, na.value = \"grey50\", aesthetics = c(\"color\", \"fill\"), error_call = caller_env(), ... ) scale_color_mapbaltimore(palette = NULL, na.value = \"grey50\", ...) scale_fill_mapbaltimore(palette = NULL, na.value = \"grey50\", ...)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scales for Baltimore data — scale_mapbaltimore","text":"palette Options include \"mta_bus\", \"hmt_2017\", \"hmt_cluster\", \"cluster\", \"hmt_cluster_group\", \"cluster_group\", Default: NULL values set aesthetic values map data values . values matched order (usually alphabetical) limits scale, breaks provided. named vector, values matched based names instead. Data values match given na.value. na.value Defaults \"grey50\" aesthetics Character string vector character strings listing name(s) aesthetic(s) scale works . can useful, example, apply colour settings colour fill aesthetics time, via aesthetics = c(\"colour\", \"fill\"). error_call execution environment currently running function, e.g. caller_env(). function mentioned error messages source error. See call argument abort() information. ... Arguments passed discrete_scale limits One : NULL use default scale values character vector defines possible values scale order function accepts existing (automatic) values returns new ones. Also accepts rlang lambda function notation. drop unused factor levels omitted scale? default, TRUE, uses levels appear data; FALSE includes levels factor. Please note display every level legend, layer use show.legend = TRUE. na.translate Unlike continuous scales, discrete scales can easily show missing values, default. want remove missing values discrete scale, specify na.translate = FALSE. name name scale. Used axis legend title. waiver(), default, name scale taken first mapping used aesthetic. NULL, legend title omitted. labels One : NULL labels waiver() default labels computed transformation object character vector giving labels (must length breaks) expression vector (must length breaks). See ?plotmath details. function takes breaks input returns labels output. Also accepts rlang lambda function notation. guide function used create guide name. See guides() information. call call used construct scale reporting messages. super super class use constructed scale","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/scale_mapbaltimore.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Scales for Baltimore data — scale_mapbaltimore","text":"","code":"if (FALSE) { # \\dontrun{ if (interactive()) { library(ggplot2) ggplot(data = dplyr::filter(mta_bus_lines, frequent)) + geom_sf(aes(color = route_abb), alpha = 0.5, size = 2) + scale_mapbaltimore(palette = \"bus\") + theme_minimal() ggplot(data = hmt_2017) + geom_sf(aes(fill = cluster_group, color = cluster_group)) + scale_mapbaltimore(palette = \"cluster_group\") + theme_minimal() } } # }"},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore 21st Century Schools — schools_21stc","title":"Baltimore 21st Century Schools — schools_21stc","text":"Schools buildings 21st Century Schools Program. Updated 2022 October 13. data may contain -dated inaccurate information. See buildings_21stc building-level information (including accurate locations).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore 21st Century Schools — schools_21stc","text":"","code":"schools_21stc"},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore 21st Century Schools — schools_21stc","text":"data frame 29 rows 24 variables: school_name School name school_number School number nces_number NCES number grade_band Grade bane url School website URL year 21st Century School renovation/replacement complete type 21st Century School project type bldg_budget_approx Approximate building budget status_21c 21st Century School project status status_inspire INSPRE Plan status inspire_plan Related INSPIRE Plan occupancy_month Building occupancy month occupancy_year Building occupancy year address Street address city City state State zip Zipcode phone School phone number alt_school_name Alternate school name bldg_name Building name (applicable) alt_name Alternate/former names (applicable) lon Longitude lat Latitude geometry POINT geometry school locations","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/schools_21stc.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Baltimore 21st Century Schools — schools_21stc","text":"https://baltimore21stcenturyschools.org/school-projects","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":null,"dir":"Reference","previous_headings":"","what":"Set map limits to area — set_map_limits","title":"Set map limits to area — set_map_limits","text":"function deprecated functionality incorporated improved maplayer::layer_neatline() function uses similar set parameters. Set limits map bounding box area using coord_sf(). Optionally, adjust area size applying buffer /adjust aspect ratio limiting bounding box match set aspect ratio.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set map limits to area — set_map_limits","text":"","code":"set_map_limits( area = NULL, bbox = NULL, dist = NULL, diag_ratio = NULL, asp = NULL, crs = pkgconfig::get_config(\"mapbaltimore.crs\", 2804), expand = FALSE, ... )"},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set map limits to area — set_map_limits","text":"area sf object buffer /adjust. bbox bbox object buffer /adjust. area provided, bbox ignored. dist buffer distance meters. Optional. diag_ratio ratio set map extent based diagonal distance area's bounding box. Ignored dist provided. asp Aspect ratio width height numeric value (e.g. 0.33) character (e.g. \"1:3\"). crs Coordinate reference system use coord_sf(). Default pkgconfig::get_config(\"mapbaltimore.crs\", 2804) expand Default FALSE. TRUE, use scale_y_continuous scale_x_continuous expand map extent provided parameters. ... Additional parameters pass coord_sf().","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set map limits to area — set_map_limits","text":"ggplot2::coord_sf() function xlim ylim parameters","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Set map limits to area — set_map_limits","text":"Set map limits area optional buffer aspect ratio adjustment","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_limits.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Set map limits to area — set_map_limits","text":"","code":"# Show detailed city boundary with map focused on area of Fell's Point (with 50m buffer) library(ggplot2) ggplot() + geom_sf(data = baltimore_city_detailed) + set_map_limits(area = get_area(\"neighborhood\", \"Fells Point\"), dist = 50) #> Warning: `set_map_limits()` was deprecated in mapbaltimore 0.1.2. #> ℹ Please use `maplayer::layer_neatline()` instead. #> Warning: `adjust_bbox()` was deprecated in mapbaltimore 0.1.2. #> ℹ Please use `sfext::st_bbox_ext()` instead. #> ℹ The deprecated feature was likely used in the mapbaltimore package. #> Please report the issue at #> ."},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_theme.html","id":null,"dir":"Reference","previous_headings":"","what":"Set default map theme — set_map_theme","title":"Set default map theme — set_map_theme","text":"Set map theme using ggplot2::theme_set() default geom_label using ggplot2::update_geom_defaults(). Optionally hides axis text labels.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_theme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set default map theme — set_map_theme","text":"","code":"set_map_theme(map_theme = NULL, show_axis = FALSE)"},{"path":"https://elipousson.github.io/mapbaltimore/reference/set_map_theme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set default map theme — set_map_theme","text":"map_theme ggplot2 theme. Optional. Defaults ggplot2::theme_minimal() show_axis Logical. TRUE, keep theme axis formatting. FALSE, hide panel grid, axis title, axis text.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Street Center Lines — streets","title":"Baltimore City Street Center Lines — streets","text":"Street center line data public streets Baltimore City, Maryland. Data used get_streets() function.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Street Center Lines — streets","text":"","code":"streets"},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Street Center Lines — streets","text":"Simple feature collection 48,473 features 23 fields. type ... subtype ... subtype_label ... dirpre ... feanme ... featype ... dirsuf ... fraddl ... toaddl ... fraddr ... toaddr ... fraddla ... toaddla ... fraddra ... toaddra ... leftzip ... rightzip ... fullname ... sha_class ... sha_class_label ... blocktext ... block_num ... geometry ...","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/streets.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Street Center Lines — streets","text":"https://dotgis.baltimorecity.gov/arcgis/rest/services/DOT_Map_Services/DOT_Basemap/MapServer/7","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":null,"dir":"Reference","previous_headings":"","what":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"Historic ward boundary data 1797 1918. Derived KML data provided Baltimore City Archives.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"","code":"wards_1797_1918"},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"data frame 245 rows 4 variables: year Earliest effective year ward boundary name Ward name number Ward number geometry MULTIPOLYGON geometry ward boundary","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/wards_1797_1918.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Historic Ward Boundaries, 1797-1918 for Baltimore City — wards_1797_1918","text":"https://msa.maryland.gov/bca/wards/index.html","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_block2tract.html","id":null,"dir":"Reference","previous_headings":"","what":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","title":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","text":"crosswalk file used generate xwalk_neighborhood2tract.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_block2tract.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","text":"","code":"xwalk_block2tract"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_block2tract.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"U.S. Census Block-to-Tract Crosswalk with 2010 Block Household Population — xwalk_block2tract","text":"data frame 13598 rows 3 variables: block Block GeoID tract Tract GeoID households Block household population","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":null,"dir":"Reference","previous_headings":"","what":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"crosswalk match Community Statistical Areas Neighborhood Statistical Areas. Neighborhood Statistical Area name neighborhood name provided, NSA name matching crosswalk file provided BNIA-JFI neighborhood name matching neighborhoods data included mapbaltimore package. NSA boundaries may overlap several CSAs. 50% NSA falls within particular community assigned community. NSAs files assigned one community.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"","code":"xwalk_csa2nsa"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"data frame 278 rows 4 variables: id Community Statistical Area id number csa Community Statistical Area name nsa Neighborhood Statistical Area name neighborhood Neighborhood name","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_csa2nsa.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Community Statistical Area (CSA)-to-Neighborhood Statistical Area (NSA) Crosswalk — xwalk_csa2nsa","text":"https://bniajfi.org/mapping-resources/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_neighborhood2tract.html","id":null,"dir":"Reference","previous_headings":"","what":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","title":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","text":"Share total households based proportion U.S. Census tract population within named neighborhood based overlapping U.S. Census Block groups.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_neighborhood2tract.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","text":"","code":"xwalk_neighborhood2tract"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_neighborhood2tract.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Neighborhood-to-U.S. Census Tract Crosswalk — xwalk_neighborhood2tract","text":"data frame 551 rows 4 variables: name Neighborhood name geoid GeoID U.S. Census tract tract Tract number weight_households Share total households neighborhood U.S. Census tract (based 2010 decennial Census). Variable code \"H013001\". weight_units Share occupied housing units neighborhood U.S. Census tract (based 2020 decennial Census PL-94171 redistricting data). Variable code \"H1_002N\".","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":null,"dir":"Reference","previous_headings":"","what":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"crosswalk match zipcodes Community Statistical Areas.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"","code":"xwalk_zip2csa"},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"data frame 119 rows 3 variables: zip Zipcode csa Community Statistical Area name id Community Statistical Area id number","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/xwalk_zip2csa.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Zipcode-to-Community Statistical Area (NSA) Crosswalk — xwalk_zip2csa","text":"https://bniajfi.org/mapping-resources/","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":null,"dir":"Reference","previous_headings":"","what":"Baltimore City Zoning Code — zoning","title":"Baltimore City Zoning Code — zoning","text":"Baltimore City Zoning Code administered Baltimore City Department Housing Community Development (HCD) Office Zoning Administrator. office supports Board Municipal Zoning Appeals (BMZA).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Baltimore City Zoning Code — zoning","text":"","code":"zoning"},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Baltimore City Zoning Code — zoning","text":"data frame 2,406 rows 4 variables: zoning Zoning designation code overlay Overlay zone designation label Label combining zoning overlay zoning codes category_zoning Zoning code category name_zoning Zoning code name category_overlay Overlay code category name_overlay Overlay zoning name geometry MULTIPOLYGON geometry zoning areas","code":""},{"path":"https://elipousson.github.io/mapbaltimore/reference/zoning.html","id":"source","dir":"Reference","previous_headings":"","what":"Source","title":"Baltimore City Zoning Code — zoning","text":"https://geodata.baltimorecity.gov/egis/rest/services/Planning/Boundaries_and_Plans/MapServer/20","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-data-development-version","dir":"Changelog","previous_headings":"","what":"New data","title":"mapbaltimore (development version)","text":"Added buildings_21stc (2023-04-28), main_streets (2023-10-16), rec_centers (2023-10-19), neighborhoods_2020 (2023-11-06), police_districts_2023 (2023-11-10) spatial data. Added baltimore_area_xwalk (2023-11-06) reference data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"updated-data-development-version","dir":"Changelog","previous_headings":"","what":"Updated data","title":"mapbaltimore (development version)","text":"Update adopted_plans data (2023-10-19) reflect new source (adds 1 new plan 2023). Update baltimore_gis_index data (2023-05-26) reflect currently available layers update date. Update parks data use new BCRP layer includes community green spaces non-city owned open spaces (2023-10-16). Update mta_bus_stops use current winter 2023 service data correct issue frequency variable stops frequent service identified . Update baltimore_water data (2023-11-08) add acres column fill name column based intersections mapmaryland::md_water data. Update inspire_plans add program_numbers column (2024-03-29). Update chap_districts (2024-09-21) addition Sarah Ann CHAP District. Update baltimore_mihp (2024-10-28).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-or-modified-functions-development-version","dir":"Changelog","previous_headings":"","what":"New or modified functions","title":"mapbaltimore (development version)","text":"Add get_neighborhood() refactor get_baltimore_area() consistency getdata parameter names (2023-05-26).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"other-development-version","dir":"Changelog","previous_headings":"","what":"Other","title":"mapbaltimore (development version)","text":"Update package logo switch pkgdown site rendering GitHub actions (2023-06-13) Flag map_ functions deprecated (2024-10-28).","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-data-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"New data","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Add new chap_districts spatial data (2023-02-10). Add new version legislative_districts data rename prior version legislative_districts_2012. Add new baltimore_gis_index (2022-10-20) respagency_codes (2023-03-29) reference data.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"updated-data-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"Updated data","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Update baltimore_mihp explore_baltimore spatial data (2023-03-29).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-or-modified-functions-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"New or modified functions","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Add get_baltimore_worker_flows() (2023-03-31) get_baltimore_esri_data() function. Deprecate get_area_data() function (2023-03-31).","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"other-0-1-1-9000","dir":"Changelog","previous_headings":"","what":"Other","title":"mapbaltimore 0.1.1.9000 (2023-03-31)","text":"Move forcats, ggrepel, ggplot2 maplayer, naniar, progress, readr Imports Suggests. Remove baltimorecensus Imports.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"mapbaltimore-011-2022-10-13","dir":"Changelog","previous_headings":"","what":"mapbaltimore 0.1.1 (2022-10-13)","title":"mapbaltimore 0.1.1 (2022-10-13)","text":"haven’t consistent updating versions patch update preparation address issue (#3) version control package data starting deprecation process general utility functions (#4). Key changes since version 0.1.0.9001 include removing dependency {overedge}, adding new datasets (inspire_plans schools_21stc) updates column names attributes parks, bcps_programs, bcps_zones, public_art, surely others ’m missing.","code":""},{"path":[]},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"updated-data-0-1-0-9001","dir":"Changelog","previous_headings":"","what":"Updated data","title":"mapbaltimore 0.1.0.9001 (2022-01-10)","text":"Update neighborhoods include osm_id column + use “Institutional area” type value.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"new-or-modified-functions-0-1-0-9001","dir":"Changelog","previous_headings":"","what":"New or modified functions","title":"mapbaltimore 0.1.0.9001 (2022-01-10)","text":"Replace hard-coded CRS map_area_zoning() Update get_area_requests() support 2022 requests work w/ modified column names.","code":""},{"path":"https://elipousson.github.io/mapbaltimore/news/index.html","id":"mapbaltimore-0109000-2022-01-10","dir":"Changelog","previous_headings":"","what":"mapbaltimore 0.1.0.9000 (2022-01-10)","title":"mapbaltimore 0.1.0.9000 (2022-01-10)","text":"Initial release!","code":""}]