mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 02:44:02 +00:00
address review findings on voice outlines
- remove the unused Nominatim reserve(); spacing tests now measure the actual transport start across processes - start each queued building's 2 s ground-sampling budget when it reaches the head of the queue, and request a frame on promotion - accept Nominatim and grounds outlines that cross the antimeridian - let an unnamed school, university, hospital, cemetery, stadium or zoo area answer a grounds ask whose head noun names that kind, using only the part that holds the point; compare grounds names symmetrically - charge shared OpenFreeMap consumers their own slice and keep the charged budget at the previous 64 MiB - share one place-name fold, point-in-polygon, line stitching and nextTask helper instead of duplicates - exclude Who's On First sources licensed only as "CC BY (equivalent)" or "CC0 (equivalent)"; rebuild the pack from the pinned archives - whole-word neighbourhood alias guard; correct the outline size-limit comment - restore DATA_SOURCES.md table formatting, keeping only real edits - test behaviour instead of private engine fields
This commit is contained in:
1 parent
5a1cfa6800
commit
2e82425d62
37 files changed
+921
-481
No files matched your search
@@ -1 +1 @@
|
||||
{"tile":"213","features":[[85798825,"Ajuda","PT","neighbourhood",[-9.20765,38.70695,-9.19281,38.71981],["Ажуда","אג'ודה","أجودا","აჟუდა","アジュダ"],"quattroshapes",[["f_cw@{{hkF?}Pha@??lLrZ?bAk@nJvMoBjLqS??lLeP??vYia@?eDsEv@wEw@wE_KcD?y\\"]],[-9.20009,38.71445]],[85798831,"Alcantara","PT","neighbourhood",[-9.18457,38.68684,-9.16809,38.71552],["Alcántara","Alcântara","Алкантара","Алькантара","אלקנטרה","আলকান্টারা","アルカンタラ","알칸타라"],"quattroshapes",[["hm~v@kfhkFpGsB?_Hja@??|PbPjF?f[qG??vEhI?v@tEoBlC?|GdP??dg@uL?oBlC?nIcPlF?lCsG??tEqG??tEmB?w@rEgDxE}F`DeHaDoL?mImL?qt@dP??yYpG??uEpG??kLqG??wEqG??kLeP??yYvL?lBkC"]],[-9.1777,38.70052]],[85798847,"Alfama","PT","neighbourhood",[-9.14062,38.68623,-9.1129,38.71445],["Αλφάμα","Алфама","الفاما","ალფამა","アルファマ","阿尔法玛","알파마"],"quattroshapes",[["niuv@ilhkFpG??lLrG??tEpG??jLbP??jBrG??kBpG??pDbA\\?pBcA??vOjI?pAc@dC`@@lLbP??xY{E?mBfLyEvG?vCiQ|m@yB^gKd@cPuAePtAeKe@wJqBwIwDoHyF}GuJ}NiFmHwF}GsJ|b@_m@?yYlZ?nBkLw@wEdDeA?mCpG?"]],[-9.1288,38.70052]],[85798859,"Alto do Pina","PT","neighbourhood",[-9.13788,38.72838,-9.12332,38.7498],["Алту-ду-Пина","Алту-ду-Піна","التو دو پینا"],"quattroshapes",[["fcvv@kckkFeP??kLcP??kLeDsEv@wEw@wEdDuE?cg@bP??kLdP??yYha@??dg@dP??bg@eP??xYcP??jLeP?"]],[-9.13101,38.74016]],[85798867,"Bairro Lopes","PT","neighbourhood",[-9.12964,38.71766,-9.11591,38.72838],["B. Lopes"],"quattroshapes",[["lmsv@}ujkFha@??mLnr@??rt@eP??jLia@??kLeP??mLcP?"]],[-9.12277,38.72409]],[85798871,"Madre de Deus","PT","neighbourhood",[-9.12689,38.72623,-9.11041,38.74016],["Bairro da Madre de Deus"],"quattroshapes",[["f|rv@_glkF@_QjGcA|L{PvE?dDtE?jLja@??vb@lBlCtL??jLuL?mBlCsGsBqGrB?~Gia@??mLeP??kLeP??{M"]],[-9.11797,38.73349]],[85798877,"Alvalade","PT","neighbourhood",[-9.1497,38.7498,-9.12415,38.77336],["Bairro de Alvalade","Алваладе"],"quattroshapes",[["nlwv@coskFlIkLzg@?nBjL|E??xYbP??jLfDtEgDtE?jLwHlJ}BhNv@vEeDtEeP??jLeP??jLia@??}P{EyGw|@??qt@jZ?|E{G?uk@"]],[-9.1365,38.76158]],[85798887,"Bairro do Alto da Ajuda","PT","neighbourhood",[-9.19556,38.70052,-9.18182,38.71338],[],"quattroshapes",[["bw`w@sehkF|u@??lLdP??dg@eP??jLeP??jLia@??kLeP??av@~JcD"]],[-9.18869,38.70802]],[85798893,"Boavista","PT","neighbourhood",[-9.21204,38.71766,-9.19445,38.74552],["Bairro da Boa Vista","Bairro da Boavista","Bairro do Alto da Boavista"],"quattroshapes",[["jpcw@usmkF?kLdP??mLtcA??|dCmZ?}EzG?|PkBhCe@tFcAj@a^?mBkLmZ??qfA}EyG|EwY?yY"]],[-9.20352,38.73196]],[85798901,"Baixa","PT","neighbourhood",[-9.14749,38.7107,-9.13513,38.72088],["Baixa Pombalina"],"quattroshapes",[["pewv@ilhkF?aSvL?lBmC?}Gz]?v@wEfI??jBjDnAEdCfC?ZjBzE??tEqG??tEsG??tEmE??pBcAZ?|GqG??jBsG??jByE?DhD}@tCmH?g@u@eD?g@s@sG??mLhC??uE"]],[-9.13993,38.71606]],[85798907,"Beato","PT","neighbourhood",[-9.11316,38.71623,-9.07295,38.73909],["Beato António","Беату"],"quattroshapes",[["bxlv@oklkF~d@cUrBuCba@?nIjLzlB??xYeP??jLcP??jLgv@?kLrGmEdQ_CfEsGrCaJjBqJpOoHvFyIxDuJnBeKf@eKg@wJoByIyDmHwFyFoHwDyIqBuJe@eKd@eKpBwJvDyIxFmHlHyF~Aq@"]],[-9.08534,38.72759]],[85798913,"Belem","PT","neighbourhood",[-9.20984,38.68838,-9.20036,38.70122],["Belemo","Belém","Santa Maria de Belém","Санта-Мария-де-Белен","Санта-Марыя-дэ-Белен","Санта-Марія-де-Белен","Բելեմ","בלן","بلم","サンタマリア・デ・ベレン","贝伦区","산타마리아드벨렝"],"quattroshapes",[["zcew@onekF?cJrGrB?nFfI?v@tEi@jGcAxA?pNv@vEw@tE?|MePhF{XaJkGbAkCwOhCqD?yPhC??aF~Ai@?kBpAiB~Ah@hC{@fCz@hC{@?mC"]],[-9.20517,38.69516]],[85798919,"Benfica","PT","neighbourhood",[-9.20765,38.7441,-9.19556,38.7555],[],"quattroshapes",[["jpcw@qepkFdPiFdPhFbPiF?rb@dDrEw@vEnBjL}EzGcPiF_KbDmIkLuE?gDuEcP??wYbP?"]],[-9.20105,38.75087]],[85798939,"Braço de Prata","PT","neighbourhood",[-9.09943,38.74766,-9.03999,38.78764],["Braco de Prata","Fábrica de Braço de Prata"],"quattroshapes",[["d~gv@_qvkFtJqBdKe@`OfApc@v|AkGtIoHvFyIxDuJpBgKd@}EU}BrNyDxIwFnHoHvFyIvDuJpBeKf@eKg@wJqByIwDmHwFyFoHwDyIqBuJe@eKd@gKpBuJvDyIxFoHlHwFxIwDvJqBdKe@|ET~BuNvDyIvFmHnHwF"],["|`kv@}frkFd@eKpBwJvDyIxFmH`UwFjQvJzSxYja@??jL~J?p@kBzF??jBzK??dApAb@[jBv@tEvL??pt@ka@?eDtEsS?uGtEqE?{SvY}}@?aDqMe@eKp@kLq@mLp@kLq@kLp@kL"]],[-9.05501,38.77377]],[85798949,"Calhariz","PT","neighbourhood",[-9.20188,38.73981,-9.19006,38.74766],["Calharis"],"quattroshapes",[["`nbw@onnkF?kLha@?fDtEtE?lIjLw@vEsS??zMcPjF}E{GmZ??yY"]],[-9.1959,38.74391]],[85798957,"Campanhã","PT","neighbourhood",[-8.5938,41.1415,-8.55261,41.17915],["Campanha","Кампаньян","坎帕尼扬"],"whosonfirst",[["`dls@gubzF|BnCcHuF}AQmb@[m@pAoMH{QrHyBgDaCvBaFyDvGuGsIe@}EoB}BEIoBuEgKgABgAxByDKwBv@Sv@mFo@i@u@~AcAoKlCyF{I[oHwCg@mDp@uEqCqDc@oKyK{CcAeEMg@s@KuFgAcBhB{MyA}CeJS~BaCXoFnGvApQtHfDnEb@pDnl@w_@gAkCRgLz@aHbDqFnIaCpHAzBmAoAeL}PmF_AgAtCuMkJyJtRcNtOwDr@hDbJrCvJkAhPOzFdFrL`G|IdHbDo@~\\z}@|MxPxKtUiOrCE~TxBzCwCl@iB`Dg@hJyLtBfEtLaFtBuB|Line truncated
|
||||
{"tile":"213","features":[[85798825,"Ajuda","PT","neighbourhood",[-9.20765,38.70695,-9.19281,38.71981],["Ажуда","אג'ודה","أجودا","აჟუდა","アジュダ"],"quattroshapes",[["f_cw@{{hkF?}Pha@??lLrZ?bAk@nJvMoBjLqS??lLeP??vYia@?eDsEv@wEw@wE_KcD?y\\"]],[-9.20009,38.71445]],[85798831,"Alcantara","PT","neighbourhood",[-9.18457,38.68684,-9.16809,38.71552],["Alcántara","Alcântara","Алкантара","Алькантара","אלקנטרה","আলকান্টারা","アルカンタラ","알칸타라"],"quattroshapes",[["hm~v@kfhkFpGsB?_Hja@??|PbPjF?f[qG??vEhI?v@tEoBlC?|GdP??dg@uL?oBlC?nIcPlF?lCsG??tEqG??tEmB?w@rEgDxE}F`DeHaDoL?mImL?qt@dP??yYpG??uEpG??kLqG??wEqG??kLeP??yYvL?lBkC"]],[-9.1777,38.70052]],[85798847,"Alfama","PT","neighbourhood",[-9.14062,38.68623,-9.1129,38.71445],["Αλφάμα","Алфама","الفاما","ალფამა","アルファマ","阿尔法玛","알파마"],"quattroshapes",[["niuv@ilhkFpG??lLrG??tEpG??jLbP??jBrG??kBpG??pDbA\\?pBcA??vOjI?pAc@dC`@@lLbP??xY{E?mBfLyEvG?vCiQ|m@yB^gKd@cPuAePtAeKe@wJqBwIwDoHyF}GuJ}NiFmHwF}GsJ|b@_m@?yYlZ?nBkLw@wEdDeA?mCpG?"]],[-9.1288,38.70052]],[85798859,"Alto do Pina","PT","neighbourhood",[-9.13788,38.72838,-9.12332,38.7498],["Алту-ду-Пина","Алту-ду-Піна","التو دو پینا"],"quattroshapes",[["fcvv@kckkFeP??kLcP??kLeDsEv@wEw@wEdDuE?cg@bP??kLdP??yYha@??dg@dP??bg@eP??xYcP??jLeP?"]],[-9.13101,38.74016]],[85798867,"Bairro Lopes","PT","neighbourhood",[-9.12964,38.71766,-9.11591,38.72838],["B. Lopes"],"quattroshapes",[["lmsv@}ujkFha@??mLnr@??rt@eP??jLia@??kLeP??mLcP?"]],[-9.12277,38.72409]],[85798871,"Madre de Deus","PT","neighbourhood",[-9.12689,38.72623,-9.11041,38.74016],["Bairro da Madre de Deus"],"quattroshapes",[["f|rv@_glkF@_QjGcA|L{PvE?dDtE?jLja@??vb@lBlCtL??jLuL?mBlCsGsBqGrB?~Gia@??mLeP??kLeP??{M"]],[-9.11797,38.73349]],[85798877,"Alvalade","PT","neighbourhood",[-9.1497,38.7498,-9.12415,38.77336],["Bairro de Alvalade","Алваладе"],"quattroshapes",[["nlwv@coskFlIkLzg@?nBjL|E??xYbP??jLfDtEgDtE?jLwHlJ}BhNv@vEeDtEeP??jLeP??jLia@??}P{EyGw|@??qt@jZ?|E{G?uk@"]],[-9.1365,38.76158]],[85798887,"Bairro do Alto da Ajuda","PT","neighbourhood",[-9.19556,38.70052,-9.18182,38.71338],[],"quattroshapes",[["bw`w@sehkF|u@??lLdP??dg@eP??jLeP??jLia@??kLeP??av@~JcD"]],[-9.18869,38.70802]],[85798893,"Boavista","PT","neighbourhood",[-9.21204,38.71766,-9.19445,38.74552],["Bairro da Boa Vista","Bairro da Boavista","Bairro do Alto da Boavista"],"quattroshapes",[["jpcw@usmkF?kLdP??mLtcA??|dCmZ?}EzG?|PkBhCe@tFcAj@a^?mBkLmZ??qfA}EyG|EwY?yY"]],[-9.20352,38.73196]],[85798901,"Baixa","PT","neighbourhood",[-9.14749,38.7107,-9.13513,38.72088],["Baixa Pombalina"],"quattroshapes",[["pewv@ilhkF?aSvL?lBmC?}Gz]?v@wEfI??jBjDnAEdCfC?ZjBzE??tEqG??tEsG??tEmE??pBcAZ?|GqG??jBsG??jByE?DhD}@tCmH?g@u@eD?g@s@sG??mLhC??uE"]],[-9.13993,38.71606]],[85798907,"Beato","PT","neighbourhood",[-9.11316,38.71623,-9.07295,38.73909],["Beato António","Беату"],"quattroshapes",[["bxlv@oklkF~d@cUrBuCba@?nIjLzlB??xYeP??jLcP??jLgv@?kLrGmEdQ_CfEsGrCaJjBqJpOoHvFyIxDuJnBeKf@eKg@wJoByIyDmHwFyFoHwDyIqBuJe@eKd@eKpBwJvDyIxFmHlHyF~Aq@"]],[-9.08534,38.72759]],[85798913,"Belem","PT","neighbourhood",[-9.20984,38.68838,-9.20036,38.70122],["Belemo","Belém","Santa Maria de Belém","Санта-Мария-де-Белен","Санта-Марыя-дэ-Белен","Санта-Марія-де-Белен","Բելեմ","בלן","بلم","サンタマリア・デ・ベレン","贝伦区","산타마리아드벨렝"],"quattroshapes",[["zcew@onekF?cJrGrB?nFfI?v@tEi@jGcAxA?pNv@vEw@tE?|MePhF{XaJkGbAkCwOhCqD?yPhC??aF~Ai@?kBpAiB~Ah@hC{@fCz@hC{@?mC"]],[-9.20517,38.69516]],[85798919,"Benfica","PT","neighbourhood",[-9.20765,38.7441,-9.19556,38.7555],[],"quattroshapes",[["jpcw@qepkFdPiFdPhFbPiF?rb@dDrEw@vEnBjL}EzGcPiF_KbDmIkLuE?gDuEcP??wYbP?"]],[-9.20105,38.75087]],[85798939,"Braço de Prata","PT","neighbourhood",[-9.09943,38.74766,-9.03999,38.78764],["Braco de Prata","Fábrica de Braço de Prata"],"quattroshapes",[["d~gv@_qvkFtJqBdKe@`OfApc@v|AkGtIoHvFyIxDuJpBgKd@}EU}BrNyDxIwFnHoHvFyIvDuJpBeKf@eKg@wJqByIwDmHwFyFoHwDyIqBuJe@eKd@gKpBuJvDyIxFoHlHwFxIwDvJqBdKe@|ET~BuNvDyIvFmHnHwF"],["|`kv@}frkFd@eKpBwJvDyIxFmH`UwFjQvJzSxYja@??jL~J?p@kBzF??jBzK??dApAb@[jBv@tEvL??pt@ka@?eDtEsS?uGtEqE?{SvY}}@?aDqMe@eKp@kLq@mLp@kLq@kLp@kL"]],[-9.05501,38.77377]],[85798949,"Calhariz","PT","neighbourhood",[-9.20188,38.73981,-9.19006,38.74766],["Calharis"],"quattroshapes",[["`nbw@onnkF?kLha@?fDtEtE?lIjLw@vEsS??zMcPjF}E{GmZ??yY"]],[-9.1959,38.74391]],[85798957,"Campanhã","PT","neighbourhood",[-8.5938,41.1415,-8.55261,41.17915],["Campanha","Кампаньян","坎帕尼扬"],"whosonfirst",[["`dls@gubzF|BnCcHuF}AQmb@[m@pAoMH{QrHyBgDaCvBaFyDvGuGsIe@}EoB}BEIoBuEgKgABgAxByDKwBv@Sv@mFo@i@u@~AcAoKlCyF{I[oHwCg@mDp@uEqCqDc@oKyK{CcAeEMg@s@KuFgAcBhB{MyA}CeJS~BaCXoFnGvApQtHfDnEb@pDnl@w_@gAkCRgLz@aHbDqFnIaCpHAzBmAoAeL}PmF_AgAtCuMkJyJtRcNtOwDr@hDbJrCvJkAhPOzFdFrL`G|IdHbDo@~\\z}@|MxPxKtUiOrCE~TxBzCwCl@iB`Dg@hJyLtBfEtLaFtBuB|Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
{"tile":"230010","features":[[85784689,"Carp","CA","neighbourhood",[-76.234,45.27179,-75.92221,45.38403],["Карп"],"quattroshapes",[["f{moMi_}sGdqA{`A|zCp}AtqAk_AjvC`}AxjBb_Al{@ze@tFnHkx@tg@nbGnqCa~@lo@cz@|n@}SmKowBd}Aw~A`oAwcB{~@iBIoBjAeB?y{@ud@yKmGgCqIijAom@yL}J}{Aqy@mdBqu@ibJbbAcR~DwJ`E_pAr}@ieAld@mKfG{{BjbBoP`HsN~Ce}@jGuXs@kNyBoL}DszCw`Bhm@}c@{hA_m@tB{Ao@_@i@^yDsBxLwIuo@}\\al@pPkWaN|ZBpHe@tv@uTh\\aOhYwPjOoNjFuHlCaPUq^iEcN_C{Bo_Awg@lqAw_Ar]`R~VcOfj@`Vbh@k\\mj@id@`b@eYrInEl]yNzd@xVbrAe{@n]zOnIAdt@~c@{[rSvkAbt@l`BwiAlOlJlLdD`d@vSbT{OrGeCjHa@lo@h@rP{EvNiGva@uJti@gTfM}@fUoHx[mNvSiSbFuArQg@"]],[-76.08177,45.32803]],[85784827,"Orléans","CA","neighbourhood",[-75.55983,45.41982,-75.44106,45.51061],["Orleans","Орлеан","אורלינס","اورلئانز","奧爾良"],"quattroshapes",[["nh~kMucttGmRVeEy@sCLaBw@mChAkFgAmGHjFq@o@q@eDX|Bg@fJMnZpAlWpCpBnAnAOz[jI|LrHvLfDzd@pQh_@dJ|QnHjh@hOgy@rkBlI`Bap@dwAcOrb@uVoH}w@~yBuf@cBg^JarErSpfAu|B}r@{MvAyCas@sMmHlOgeB{^oPiUvIuTemAsUfi@ijAwq@uLgZwDqCoFhHsEl]{EdDmDj^oItDC`OoEpT{CvEqEtPkKzNq@jFqDbA`@nIB~BmUs@mKxE{E{CiAx@iAlHoBoCeF~JiB|OmYeOoZnFaIhMlDlBhDfJtBtLtSbJbEfAOjDsF`@f@sBpFtEXn@v@pOdBxKoDgCsCyESwA_AuLyB{IHwI{B}E{DmE_IzA_@wEsCkH}Jfc@bY~D`BlDR~GfEhJ~AzMpGu@dInA~DfDvDvBj@lGw@N|ArED`AhA^wAnAKz@^aAhAz@l@`Ew@pDjAlCw@zCdCvC?bChAiAjChC|AlHBvHsBhDpAlGh@b^QKi@kF}AqGIb@kAhYzFjOjAqAPsNwAWZhRlE`IDfFyA}@e@oLg@jVd@hQhIbElDzPdGjFuDvDAzBiArHcAnBsBYo@yU}EiLBjN_AeAe@"],["jzvkMmzvtGgJuLg_@sJsFqCjFj@hYbIrQbHfJxBXkCtHpGha@fSzC`GnHx@pDjGnU~FtBbFpCv@hAeAwDqA`@k@|L|EgCpA~AN`BeAZvAj@q@xh@hMeGZmLiA|Ax@q@Xeu@aOsFmBjL`B}o@}P{MuI~BGbHtCz@Y]m@cGmCsK_@sA{@}@qHy@w@{@h@GbEgBnAkJt@aPMqVkJ}NoJPu@fBZxLtI~SjGXu@yD}AOq@|BMrAgBbDsAyEyAFu@jIXzNtDhBJ~A{@w@_BmD`@"],["t~wkMeuutGaC]C_BqHkDP}@|El@tG|Ei@|@jQjGc@r@rMlBFa@aCq@bBJtChCgKw@_a@gIuN}EgBuCf@S|HdCpAdAGjAnMlC"],["bhzkM}qttGgk@yHu^wKbtAjW|I`CInAg@\\"],["rqukMydwtG`DeDrCVbA~B{A`BiGCiE}@"],["t_|kMalttGoPgDVe@nLdBhICg@w@h@CnBr@{HvDyCWbDK"],["nwvkMibvtGnA`AeGc@q@e@"],["t`wkM_avtGKp@u@QF{@"]],[-75.50233,45.46587]],[85784831,"Outremont","CA","neighbourhood",[-73.62699,45.50406,-73.59021,45.52778],["Утремон","Утрмон","Օտրեմոն","מונטריאול/אוטרמונט","أترمون","ウトルモン","欧特蒙地区"],"quattroshapes",[["phd`MqqxtGwE}E|gDcjAfl@lr@tNrSaAgA_x@nXtFhGyJlDhEdFqJhDdQ~RmCpA{_@ic@ih@~Qq@|B_OfFwEcFgR~G{Bk@yRvH}XaX`PwIgCsCfSwEf@{G|Aa@fHP{E_FsC}@q_@L"]],[-73.60803,45.51601]],[85784837,"Pointe-aux-Trembles","CA","neighbourhood",[-73.54462,45.63287,-73.4762,45.7038],[],"quattroshapes",[["l|v_MmwtuGlgCtaAwoCbaA{wD~\\_DuDlBwCkFkEaBwFgKoKyC?j@e@c@mCbDuINaRaEsQA_HaDy@pAmCvByRy@sAnC}ApCqJXsHxCgBZeBYk@mAFg@gBvBE|BwBOoCxEiOo@E`BmBUwCtAwBX{D}AyCAsc@w@}JmAuBFcGaC}JDmOmBaQsFmPuHiIsG_Bp@iAoNsLmIwJ_EkJ}CkPqEqH_@wFmBs@mBgDBwAaAr@iD}FpA?tAtC_@yBhB@~FzAvEB~KjCtGFpH|AbDE`FlAjGJ|k@nOjDJpYjFjFFrBu@LyBdC_EzBRxCjBnAdCi@}B}DaCiDm@gAoAj@a@`Mk@fXnBd@lQpD|Orx@`~Bj@pMmGdm@v@pP"],["f}p_Msg}uGWyD`CiAlCFpLvDjTbB~@dBjC`AyAbBlAlFuJbAyCm@cDyAm@cEgApA_HoEcIoC"],["|}r_Msp|uGmBtHoAl@eM_A`IuArB_HtCC"],["tro_Mq`ruGyEkEqBwJa@kGrAoBz@pL`F|L"],["dvo_MezquG_C{A`@gAhB_@`AlC"],["|po_MwzquGY_A`ADjCfD"],["fno_My|quG{@@Ho@Y}@"]],[-73.50516,45.66877]],[85784995,"Richmond","CA","neighbourhood",[-75.97996,45.15017,-75.72446,45.29069],["Ρίτσμοντ","Ричмонд","Річмонд","ריצ'מונד","رچمنڈ","ریچموند","रिचमंड","রিচমন্ড","リッチモンド","리치먼드"],"quattroshapes",[["bzdnMeblsG`b@GbHkAxPgM|LwEfaAhi@spAzbAbhAtl@uS|O|P|Ib@]~Ax@tNwMhOfIkbAxv@kFqCwBbBvAr@cXtS`hAtk@|OyL[`XjIA`[wF|JqCtBwArBfArqCawBvwBbjAvKtBnSYxDtN`JjMfMpJz]`Se}EdnDgfAbz@qK~FohC|rBc@tBwHbGsv@rl@iEhBqbAfw@kvArbAoJvCeLRcF}GmBc@qHa@{D}AyIEg@fAiA_AcHq@BcFuAu@}LGoK|CaG}@mC~BgFcC{EQqIjDmU?}D}Bj@cB[yG}Jw@hA`ByGwAiHOiC]wDcCGmMq@eAUt@w@C]iErIqHPwAkC_IkECsCXt@fAi@ZsIb@w@]uAl@cAbDaDvBwE@qDeAsFj@s|@tn@tAdAaRlQxExDwA~B{ChA}kB}`AsCyCaFiAwc@eUqTmDwyBgp@oE@uaCyt@oKyEy}Bqr@sFMwBsKrtBwnC`tA}iCi@KpHoJlNgJlJqDzOiCtt@aF`U{D|M_GxKsIdy@{_B~uAmdB`CsIVyJaBuJ}DwHtvBtn@bEaKneAv[{A`D|fBlh@vt@pGjIo@zIoC~i@}_@|FkB`SqClG}B"]],[-75.85788,45.22831]],[85785125,"Anjou","CA","neighbourhood",[-73.60308,45.5903,-73.53589,45.6342],["Anchú","Andegawenia","Angeow","Angiò","Anjau","Anjev","Anju","Anĵuo","Anžu","Ducado de Anjou","Ανζού","Анжу","אנז'ו","آنژو","أنجو","اونژو","อ็องฌู","ანჟუ","アンジュー","安茹","앙주"],"quattroshapes",[["vry_MotiuGViBk@FbCmKzBe@m@qApXsIsCuDrCaA_BeGdY_GkD{GbJkBeE_HsFoDue@hFkCoKdAe@IoB{HkUziEmvAnhDzqB|QzI`WhHgChCxGtCeaDpeA~@~AmIn@ge@|No@oBa_Cxi@_NqVtIwB_DsDmHrB}KgRbAWz@qF`A_@cA}EhBmAs@oDcXvFiE_F`SyGwCiE"]],[-73.57365,45.61239]],[85785137,"Greely","CA","neighbourhood",[-75.69564,45.18762,-75.51753,45.31002],["格里利"],"quattroshapes",[["xwflMcujsGdmBo|Df|@|WyDvIpy@zVtEs@v_@l@wN~YjcAsW``Bpf@iOx[trAla@~g@nm@h\\rXzP~PzW`SvOhJlmDxgAyJfQqEcAaBjCubEkrAoQiAqlAs^mWrk@sc@f|@{dAm]q{AfsC}|CvsGcDnAqFmGqScImpBym@mQmIm|FklBjpB{hE|AwDc@}BpEcErLoUzE_Fg@oAbgBcpD"]],[-75.57292,45.24081]],[85864423,"Fabreville","CA","Line truncated
|
||||
@@ -1 +0,0 @@
|
||||
{"tile":"2300100","features":[[85784689,"Carp","CA","neighbourhood",[-76.234,45.27179,-75.92221,45.38403],["Карп"],"quattroshapes",[["f{moMi_}sGdqA{`A|zCp}AtqAk_AjvC`}AxjBb_Al{@ze@tFnHkx@tg@nbGnqCa~@lo@cz@|n@}SmKowBd}Aw~A`oAwcB{~@iBIoBjAeB?y{@ud@yKmGgCqIijAom@yL}J}{Aqy@mdBqu@ibJbbAcR~DwJ`E_pAr}@ieAld@mKfG{{BjbBoP`HsN~Ce}@jGuXs@kNyBoL}DszCw`Bhm@}c@{hA_m@tB{Ao@_@i@^yDsBxLwIuo@}\\al@pPkWaN|ZBpHe@tv@uTh\\aOhYwPjOoNjFuHlCaPUq^iEcN_C{Bo_Awg@lqAw_Ar]`R~VcOfj@`Vbh@k\\mj@id@`b@eYrInEl]yNzd@xVbrAe{@n]zOnIAdt@~c@{[rSvkAbt@l`BwiAlOlJlLdD`d@vSbT{OrGeCjHa@lo@h@rP{EvNiGva@uJti@gTfM}@fUoHx[mNvSiSbFuArQg@"]],[-76.08177,45.32803]],[85864481,"Corkery","CA","neighbourhood",[-76.1765,45.17292,-75.96985,45.3213],["Huntley"],"quattroshapes",[["fkynMgzisGx{BkbBlKgGheAmd@~oAs}@vJaEbR_EhbJcbAldBpu@|{Apy@xL|JhjAnm@fCpIxKlGx{@td@dB?nBkAhBHvcBz~@oeEfhDkbEj{C_w@jn@qoAl}@{tFxhEwDkByJgBcDwA{FeK_BeH{K}pBeH_UsLmOoJaIiyCm_Be_B_t@y]sQm[oM}bBcaAaJwImIwPcBuMP{JrWekBw@oMzNt@jPWvi@iDfOmBfJ}B"]],[-76.05726,45.24658]],[85864667,"Constance Bay","CA","neighbourhood",[-76.11378,45.4716,-76.06675,45.51143],[],"quattroshapes",[["nfioM_zstGfHqRnA{N_@_OoB}GiE{FlHwAlJEfGuBhToDbH{GfFyLhSqCxDuBvEwFxMoDfDsEzPp@fMhC~e@bDr[bH~GLxGnBhH`H_@zAe\\pRcW`R}VrLcDfFuB`@eQxJ_@`D_GaAgCpEmDdCcAxCcEh@kBdAeAjH}CsDoRmJqbApp@zp@b_@m}@fk@qr@ub@xCg@pGyDbN_c@pAeS"]],[-76.081,45.49142]],[85864673,"Dunrobin","CA","neighbourhood",[-76.11528,45.34631,-75.91448,45.49113],["Данробин"],"quattroshapes",[["nedoM{ystGhFbD~Ca@`CuB_BmCv@MlAjAA|AuB~CdDn@@f@gBhDsInCg@bDzD~CdB\\~BQnC{DfEhBEf@{BP}B~CjGvGeGhTdB|BnP`Hxf@xLzBSvAiBnB\\vDsBjF`BbEyApM|FkHxDu@lDmIrIS|AfLkIvC_GfE}@RqDbf@zYbd@r[sc@d[puAns@`kCh`BrWvHegAnv@iRhHy`B`lAcUxM}cCtaBenAou@enC`jBanBloAarAb~@gs@xc@{d@yVm]xNsIoEab@dYlj@hd@ch@j\\gj@aVgW`OytAyt@kRsDwQyGbFqDct@u`@gNtJg[eQjqCoqBo{CmcBOw@mAByHvEmIeCaJc@{CyBfFoDzNsDbCiBhc@ij@vWiWre@{o@pKmKAiAvAM~OaQ`MwJdJyOzAMVwGpB{Ev[sYzG{CxHoI`@oCzB{BM_AcDm@}DpCqCKlHqCx@oCcAg@JaBlC}AnCWrBqEdHqFt@gEpDoH|BkBl@mI|AoBhPcO|F{AxBkFrD}DtPkMxC{DhHeAfW}SvIiDfDaDdQwIbCwCzr@e`@jf@wNoFaDf@YpChCnAw@uCqBq@Nx@e@bDxBt@e@qCcCpH`F`AMRyArF}CpL]Q}@lJiElDGnE}BlDe@jFCtQzBdRlFbNiD|Ts@vPwH|JaHl@qBtKt@xH[xReJpDg@bEsDhEm@x@yAvReEpGsCvV{@xBrDtGbAnFsBpF}EnDc@tFcD"]],[-76.01077,45.41797]],[85864683,"Munster","CA","neighbourhood",[-76.05229,45.08001,-75.87256,45.23957],["Манстер"],"quattroshapes",[["p{onMck}rGd}EenDl`Adj@pW`Kx]rQd_B~s@hyCl_BnJ`IrLlOdH~TzK|pB~AdHzFdKbDvAxJfBvDjBomH~yFy}D`{C{p@fj@gFpBkB`DwcAxx@sgA~~@gfD_vAkd@mTsdC_eA{xA}rGjvAsbApbAgw@hEiBj`Awt@b@uBnhC}rBpK_G"]],[-75.957,45.15812]],[1125137919,"Fitzroy Harbour","CA","microhood",[-76.22124,45.45898,-76.20039,45.4779],[],"mz",[["z~dpM{kqtGz]vQkKbJe@jDaEn@gDvB{DfE[xBrBnFPaAhGrBeHtFSpB`AdAnFjAdJ_Bws@xl@kdAaj@tC{J|@{@nHmBtKaKrNiEzIi@bByEvEqDfBaHp\\qJ"]],[-76.21025,45.46849]],[1125223987,"Morgan's Grant","CA","neighbourhood",[-75.95165,45.3401,-75.92488,45.35835],[],"mz",[["zsmnMwoysGjV}OvQxGbPjCtx@`c@mqAx_A{sAyv@"]],[-75.93825,45.34975]],[1125978557,"West Carleton","CA","macrohood",[-76.35392,45.17293,-75.91448,45.51661],[],"mz",[["lnlpM_sgtGuMpDoAi@kB`CjEp@bBlArCvFu@~@_FxAu@zBmEvBa@vAsCbAmAjCh@~CxLjClH~GmAhWeDnNeJlTCpD`D~DLrGcAlGeElJ`AhLmAxDAlEhKhLfKbEtFxDlAnC^~FiCjL?rItJjOfp@th@`TxZlHbRrDnBjYnFnKpGg@dCcI|F{PtGaItEo@bGhDzO}FbPtFvHFrE`GnFdHxC~XvBdKfBijC|gB}qEraDcz@|n@}SmKowBd}AyzGvoFo|ErpDig@ta@qoAl}@grFvfEsA`AwEwByI{AqGkEkEyL}LwtB{CmMyK}QsOgNomBidAqx@eb@mqA}k@y]sQqWaKyiBgfAaGaGwE{H}C}JaAwMjX}rBw@oMkNyBoL}DszCu`Bhm@_d@{hA_m@tB{Ao@_@i@^yDsBxLwIuo@}\\al@pPkWaN|ZBpHe@l~@cXzn@k]tSsS`BqClCaPJaUa@oHiEcN_C{Bo_Aug@lqAy_Aux@ac@cPkCwQyGbFoDct@w`@gNtJg[eQjqCoqBo{CmcBOw@mABwHvEoIeCaJc@{CyBfFoDzNsDbCiBhc@ij@vWiWre@{o@pKmKAiAvAM~OaQ`MwJdJyOzAMVwGpB{Ev[sYzG{CzHoI^oCzB{BM_AcDk@}DnCqCKlHqCx@oCcAg@JaBlC}AnCWrBqEdHqFt@gEpDoH|BkBl@mI|AoBhPcO|F{AxBkFrD}DtPkMxC{DhHeAfW}SvIiDfDaDdQwIbCwCzr@e`@jf@wNoFaDf@YpChCpAw@wCqBq@Nx@e@bDxBt@c@qCeCpH`F`AMRyArF}CpL]Q}@lJiElDGnE}BlDe@jFCtQzBdRlFbNgD|Tu@vPwH|JaHl@oBtKr@xH[xReJpDg@dEsDfEm@x@yAvReEpGsCvV{@xBrDtGbAnFsBpF}EnDc@vFcDdLe@rATpCnCbDc@`CuBcAaDhBpAA|AuB~CdDn@@f@gBhDuGjBoBzAp@zCxFlC~BQnC{DfEhBEf@{BR{B|ChGvGuDbKaArIfSpJxf@xLzBSvAiBnB\\vDsBjF`BbEyApM|FkHxDu@lDmIrIF|AjKkIvC_GfE}@RqDmKyGxCg@pGyDbN_c@pAeSfNqQdHgRpAeO_@_OoB}G}DeG`HmAlJEfGuBhToDbH{GfFyLhSqCxDuBvEwFxMoDfDsEzPp@fMhC~e@bDdL`DlN`C~GLxGnB|F~El@zBg]rSg[~TyRtIcDfFuB`@eQxJ_@`D_GaAgCpEmDdCcAxCcEh@kBdAeAjHhDbB|CMtC}BcAuAv@i@~HEtFuB`VsQvTiMxLcKx\\wP|MiIhFeF|XsNnIaIdl@yVvUoGvKmEba@eJhFFfOfClKI|OlH`IKzPhD`Kf@r^_@vPsAlS`@n^sDjR~EzCFtGuFfZrFvEQ~KeD}Cg@sNpBg@g@zB{ArO_EbQExF{CtKmBzEwBhF?zZtCbJi@dGaBtHUlLz@fD|ArWGfQjB~J?fTtQnL[`IzAjZdAxl@pWr@v@gAxGzMrJx@zDkSdZnBpFoHrGIzG|A|FdBlAcCB_CxDgDjTf@~HxBrFjBFQnCaJrE{@fC}FzD_Cb@mNMiF|CwCjJoBIoAdAcM`AyFxEVVlHoElIa@xGsAnAqGzFqFxNR~JuCnFnAoCLwBxG{Ad@m@rF{A~BfArAyBCwIzEA~AwAPaAhBr@~AeDhC{F`AeBhAyGtGe@jDaEn@cJ~HUnEbAh@DrA|@XG_AjG`CgHfFSpB~@dApFjAdJ_B}Ai@wEx@}CEuAgAz@yC~J_Bp@VxIq@hJcEjQyDaA[Nu@bOqDpGaF\\RfEaBzF?bFmEvBHjCw@dCV{@oCnE}Az@aDdB`@q@zAtJ[TdAoHZwYb`@iNlKfEl[jZrN|o@`DXmA`FXzDkAnAM`@j@nCy@tB`BpCHn@i@PxAvDnAvDeAoBg@dAMi@oBvIaBAcAkAa@hAeBrA?\\mA`E@`@xBlBo@Line truncated
|
||||
@@ -1 +0,0 @@
|
||||
{"tile":"2300101","features":[[85784827,"Orléans","CA","neighbourhood",[-75.55983,45.41982,-75.44106,45.51061],["Orleans","Орлеан","אורלינס","اورلئانز","奧爾良"],"quattroshapes",[["nh~kMucttGmRVeEy@sCLaBw@mChAkFgAmGHjFq@o@q@eDX|Bg@fJMnZpAlWpCpBnAnAOz[jI|LrHvLfDzd@pQh_@dJ|QnHjh@hOgy@rkBlI`Bap@dwAcOrb@uVoH}w@~yBuf@cBg^JarErSpfAu|B}r@{MvAyCas@sMmHlOgeB{^oPiUvIuTemAsUfi@ijAwq@uLgZwDqCoFhHsEl]{EdDmDj^oItDC`OoEpT{CvEqEtPkKzNq@jFqDbA`@nIB~BmUs@mKxE{E{CiAx@iAlHoBoCeF~JiB|OmYeOoZnFaIhMlDlBhDfJtBtLtSbJbEfAOjDsF`@f@sBpFtEXn@v@pOdBxKoDgCsCyESwA_AuLyB{IHwI{B}E{DmE_IzA_@wEsCkH}Jfc@bY~D`BlDR~GfEhJ~AzMpGu@dInA~DfDvDvBj@lGw@N|ArED`AhA^wAnAKz@^aAhAz@l@`Ew@pDjAlCw@zCdCvC?bChAiAjChC|AlHBvHsBhDpAlGh@b^QKi@kF}AqGIb@kAhYzFjOjAqAPsNwAWZhRlE`IDfFyA}@e@oLg@jVd@hQhIbElDzPdGjFuDvDAzBiArHcAnBsBYo@yU}EiLBjN_AeAe@"],["jzvkMmzvtGgJuLg_@sJsFqCjFj@hYbIrQbHfJxBXkCtHpGha@fSzC`GnHx@pDjGnU~FtBbFpCv@hAeAwDqA`@k@|L|EgCpA~AN`BeAZvAj@q@xh@hMeGZmLiA|Ax@q@Xeu@aOsFmBjL`B}o@}P{MuI~BGbHtCz@Y]m@cGmCsK_@sA{@}@qHy@w@{@h@GbEgBnAkJt@aPMqVkJ}NoJPu@fBZxLtI~SjGXu@yD}AOq@|BMrAgBbDsAyEyAFu@jIXzNtDhBJ~A{@w@_BmD`@"],["t~wkMeuutGaC]C_BqHkDP}@|El@tG|Ei@|@jQjGc@r@rMlBFa@aCq@bBJtChCgKw@_a@gIuN}EgBuCf@S|HdCpAdAGjAnMlC"],["bhzkM}qttGgk@yHu^wKbtAjW|I`CInAg@\\"],["rqukMydwtG`DeDrCVbA~B{A`BiGCiE}@"],["t_|kMalttGoPgDVe@nLdBhICg@w@h@CnBr@{HvDyCWbDK"],["nwvkMibvtGnA`AeGc@q@e@"],["t`wkM_avtGKp@u@QF{@"]],[-75.50233,45.46587]],[85784831,"Outremont","CA","neighbourhood",[-73.62699,45.50406,-73.59021,45.52778],["Утремон","Утрмон","Օտրեմոն","מונטריאול/אוטרמונט","أترمون","ウトルモン","欧特蒙地区"],"quattroshapes",[["phd`MqqxtGwE}E|gDcjAfl@lr@tNrSaAgA_x@nXtFhGyJlDhEdFqJhDdQ~RmCpA{_@ic@ih@~Qq@|B_OfFwEcFgR~G{Bk@yRvH}XaX`PwIgCsCfSwEf@{G|Aa@fHP{E_FsC}@q_@L"]],[-73.60803,45.51601]],[85784837,"Pointe-aux-Trembles","CA","neighbourhood",[-73.54462,45.63287,-73.4762,45.7038],[],"quattroshapes",[["l|v_MmwtuGlgCtaAwoCbaA{wD~\\_DuDlBwCkFkEaBwFgKoKyC?j@e@c@mCbDuINaRaEsQA_HaDy@pAmCvByRy@sAnC}ApCqJXsHxCgBZeBYk@mAFg@gBvBE|BwBOoCxEiOo@E`BmBUwCtAwBX{D}AyCAsc@w@}JmAuBFcGaC}JDmOmBaQsFmPuHiIsG_Bp@iAoNsLmIwJ_EkJ}CkPqEqH_@wFmBs@mBgDBwAaAr@iD}FpA?tAtC_@yBhB@~FzAvEB~KjCtGFpH|AbDE`FlAjGJ|k@nOjDJpYjFjFFrBu@LyBdC_EzBRxCjBnAdCi@}B}DaCiDm@gAoAj@a@`Mk@fXnBd@lQpD|Orx@`~Bj@pMmGdm@v@pP"],["f}p_Msg}uGWyD`CiAlCFpLvDjTbB~@dBjC`AyAbBlAlFuJbAyCm@cDyAm@cEgApA_HoEcIoC"],["|}r_Msp|uGmBtHoAl@eM_A`IuArB_HtCC"],["tro_Mq`ruGyEkEqBwJa@kGrAoBz@pL`F|L"],["dvo_MezquG_C{A`@gAhB_@`AlC"],["|po_MwzquGY_A`ADjCfD"],["fno_My|quG{@@Ho@Y}@"]],[-73.50516,45.66877]],[85784995,"Richmond","CA","neighbourhood",[-75.97996,45.15017,-75.72446,45.29069],["Ρίτσμοντ","Ричмонд","Річмонд","ריצ'מונד","رچمنڈ","ریچموند","रिचमंड","রিচমন্ড","リッチモンド","리치먼드"],"quattroshapes",[["bzdnMeblsG`b@GbHkAxPgM|LwEfaAhi@spAzbAbhAtl@uS|O|P|Ib@]~Ax@tNwMhOfIkbAxv@kFqCwBbBvAr@cXtS`hAtk@|OyL[`XjIA`[wF|JqCtBwArBfArqCawBvwBbjAvKtBnSYxDtN`JjMfMpJz]`Se}EdnDgfAbz@qK~FohC|rBc@tBwHbGsv@rl@iEhBqbAfw@kvArbAoJvCeLRcF}GmBc@qHa@{D}AyIEg@fAiA_AcHq@BcFuAu@}LGoK|CaG}@mC~BgFcC{EQqIjDmU?}D}Bj@cB[yG}Jw@hA`ByGwAiHOiC]wDcCGmMq@eAUt@w@C]iErIqHPwAkC_IkECsCXt@fAi@ZsIb@w@]uAl@cAbDaDvBwE@qDeAsFj@s|@tn@tAdAaRlQxExDwA~B{ChA}kB}`AsCyCaFiAwc@eUqTmDwyBgp@oE@uaCyt@oKyEy}Bqr@sFMwBsKrtBwnC`tA}iCi@KpHoJlNgJlJqDzOiCtt@aF`U{D|M_GxKsIdy@{_B~uAmdB`CsIVyJaBuJ}DwHtvBtn@bEaKneAv[{A`D|fBlh@vt@pGjIo@zIoC~i@}_@|FkB`SqClG}B"]],[-75.85788,45.22831]],[85785125,"Anjou","CA","neighbourhood",[-73.60308,45.5903,-73.53589,45.6342],["Anchú","Andegawenia","Angeow","Angiò","Anjau","Anjev","Anju","Anĵuo","Anžu","Ducado de Anjou","Ανζού","Анжу","אנז'ו","آنژو","أنجو","اونژو","อ็องฌู","ანჟუ","アンジュー","安茹","앙주"],"quattroshapes",[["vry_MotiuGViBk@FbCmKzBe@m@qApXsIsCuDrCaA_BeGdY_GkD{GbJkBeE_HsFoDue@hFkCoKdAe@IoB{HkUziEmvAnhDzqB|QzI`WhHgChCxGtCeaDpeA~@~AmIn@ge@|No@oBa_Cxi@_NqVtIwB_DsDmHrB}KgRbAWz@qF`A_@cA}EhBmAs@oDcXvFiE_F`SyGwCiE"]],[-73.57365,45.61239]],[85785137,"Greely","CA","neighbourhood",[-75.69564,45.18762,-75.51753,45.31002],["格里利"],"quattroshapes",[["xwflMcujsGdmBo|Df|@|WyDvIpy@zVtEs@v_@l@wN~YjcAsW``Bpf@iOx[trAla@~g@nm@h\\rXzP~PzW`SvOhJlmDxgAyJfQqEcAaBjCubEkrAoQiAqlAs^mWrk@sc@f|@{dAm]q{AfsC}|CvsGcDnAqFmGqScImpBym@mQmIm|FklBjpB{hE|AwDc@}BpEcErLoUzE_Fg@oAbgBcpD"]],[-75.57292,45.24081]],[85864423,"Fabreville","CA","neighbourhood",[-73.87252,45.54957,-73.769,45.61083],[],"can-lvlsu",[["h`naM}wjuGtDaOxKcAxKAzI|DvXzGzKxEhHDnRsFtDBxCdA`HnGdB`FuBfX~AvLxBpEzOzIbGzFnG`KjAfRqAnMr@jEfClCfNlFhDxCfBxDtA|JfFrGfKjE`q@lH`GbCxOjMjShJb^`HxGpFlE~PlB|C|UzLd`@tL_jAffAkCs@sBlBcKcHeDk@y@t@aCqCeLlKkEeA}FlFgUaIkJtImTgTcL}BkBlBaEyA{KU{F_N~CqCmBs@rBiBiBaA\\cA`FkFaFwAyY|WyMYaRd@i]wCam@b@gFOqD{AeFc@ipA_h@dP{O{BqDn@iF{JwFcGe@_DjDiYiDg`@gT_W}IiTa@aGwBgPJcTyJ}EeK}IkC~HHpQqAtKaCld@yNbEqEhCeGpJoDzBuMfDT`StF`GJnq@_TpIsEvHaKjEuTkCeJ`BcJnGuCzCaObKeO_EsB"]],[-73.80453,45.58019]],[85864453,"Navan","CA","neighbourhood",[-75.49517,45.41Line truncated
|
||||
@@ -19,7 +19,6 @@ Neighborhood boundaries from [Who's On First](https://whosonfirst.org/docs/licen
|
||||
| Zolk Chicago Neighborhoods Map (`zolk`) | 207 | CC BY 3.0 US | [terms](http://chicagomap.zolk.com/about.html) |
|
||||
| Azavea, Inc. (`azavea`) | 157 | CC BY 3.0 US | [terms](https://www.opendataphilly.org/dataset/philadelphia-neighborhoods) |
|
||||
| City of Calgary, Corporate Analytics and Innovation (`can-calcai`) | 151 | Open Government Licence - City of Calgary | [terms](https://data.calgary.ca/stories/s/u45n-7awa) |
|
||||
| Portal de datos abiertos del Ayuntamiento de Madrid (`esp-aytomad`) | 150 | CC0 (equivalent) | [terms](http://datos.madrid.es/egob/catalogo/aviso-legal) |
|
||||
| City of Winnipeg Department of Planning, Property, and Development (`can-wpgppd`) | 132 | Open Government License - Winnipeg | [terms](https://data.winnipeg.ca/open-data-licence) |
|
||||
| Atlanta Department of Planning and Community Development (`atldpcd`) | 130 | CC BY 4.0 | [terms](https://www.arcgis.com/home/item.html?id=716f417a1990446389ef7fd2c381d09f) |
|
||||
| Turku City Government (`tkugov`) | 129 | CC BY 4.0 | [terms](http://www.lounaistieto.fi/blog/2015/08/18/turun-palvelualuejakotilastoalueet/) |
|
||||
@@ -32,7 +31,6 @@ Neighborhood boundaries from [Who's On First](https://whosonfirst.org/docs/licen
|
||||
| CartoBCN (`esp-cartobcn`) | 83 | CC BY | [terms](http://w133.bcn.cat/geoportal/descargas/en_gb_cond_us_carto.pdf) |
|
||||
| Toronto Social Development, Finance & Administration Department (`torsdfa`) | 83 | Open Government Licence - Ontario, v1.0 | [terms](http://www1.toronto.ca/wps/portal/contentonly?vgnextoid=4a37e03bb8d1e310VgnVCM10000071d60f89RCRD) |
|
||||
| Denver Department of Community Planning and Development (`denvercpd`) | 77 | CC BY 3.0 | [terms](https://www.denvergov.org/opendata/termsofuse) |
|
||||
| Gatineau Service de l'urbanisme et du developpement durable (SUDD) (`can-gatsudd`) | 74 | CC BY (equivalent) | [terms](http://www3.gatineau.ca/Infoterritoire/WebInterface/help/fr/Content/1_About/1_About_FR.htm) |
|
||||
| City of New Orleans, Office of Information Technology and Innovation, Enterprise Information Team (`nolagis`) | 71 | CC0 | [terms](https://data.nola.gov/Geographic-Base-Layers/Neighborhoods/92zg-wzkq) |
|
||||
| Ciudad Autonoma de Buenos Aires, Iniciativa de Datos Publicos y Transparencia (`arg-caba`) | 48 | CC BY | [terms](https://data.buenosaires.gob.ar/tyc) |
|
||||
| Montreal Service de la Mise en Valeur du Territoire (`can-mtlsmvt`) | 48 | CC BY 4.0 | [terms](https://creativecommons.org/licenses/by/4.0/) |
|
||||
@@ -265,4 +263,4 @@ Neighborhood boundaries from [Who's On First](https://whosonfirst.org/docs/licen
|
||||
|
||||
## Source-specific exclusions
|
||||
|
||||
This derived pack excludes 36 `can-ons` records, 54 `can-saskodp` records. Original source-specific redistribution terms have not been established for these records in this derived pack. Original upstream notices remain unchanged.
|
||||
Sources whose pinned registry licence is only an "equivalent" designation (for example "CC BY (equivalent)" or "CC0 (equivalent)"), including can-ons, can-saskodp, can-gatsudd and esp-aytomad, are not admitted: their redistribution terms have not been established for this derived pack. Original upstream notices remain unchanged.
|
||||
@@ -12,7 +12,7 @@ DataSF pack in `../neighborhoods/` is used first inside San Francisco.
|
||||
| `files.js` | every file's URL, so bundlers emit them (generated) |
|
||||
| `whosonfirst-LICENSE.md`, `quattroshapes-LICENSE.md` | upstream notices, unchanged |
|
||||
|
||||
61,665 named neighbourhood, macrohood and microhood polygons in 218 tiles.
|
||||
61,441 named neighbourhood, macrohood and microhood polygons in 217 tiles.
|
||||
|
||||
**Source:** [Who's On First](https://whosonfirst.org/) and contributors:
|
||||
`whosonfirst-data-{neighbourhood,macrohood,microhood}-latest.tar.bz2` from
|
||||
@@ -46,10 +46,13 @@ a `[lon, lat]` point inside the largest polygon. A ring is an encoded
|
||||
polyline string: longitude then latitude at 10^-5 degrees, zigzag varint
|
||||
deltas, 5-bit groups offset by 63.
|
||||
|
||||
**Source-specific exclusions:** This derived pack excludes 36 `can-ons` records, 54 `can-saskodp` records. Original source-specific redistribution terms have not been established for these records in this derived pack. Original upstream notices remain unchanged.
|
||||
|
||||
The original pinned records are partitioned first; exact source/ID exclusions
|
||||
are then applied within those tiles, preserving every remaining tile path.
|
||||
**Licence exclusions:** only sources whose exact registry licence is on the
|
||||
reviewed allowlist in `scripts/wof-open-licenses.json` are admitted. A licence
|
||||
listed only as an "equivalent" of an open licence ("CC BY (equivalent)",
|
||||
"CC0 (equivalent)") is not admitted, so `can-ons`, `can-saskodp`,
|
||||
`can-gatsudd` and `esp-aytomad` records are not in this pack: their
|
||||
redistribution terms have not been established for this derived pack.
|
||||
Original upstream notices remain unchanged.
|
||||
|
||||
**Curation:** current, non-deprecated, named polygon records; simplified to
|
||||
about 15 m, snapped to 5 decimals and kept valid under GEOS (checked on the
|
||||
|
||||
@@ -48,8 +48,7 @@ export const TILE_URLS = {
|
||||
t221031: () => new URL('./221031.json', import.meta.url),
|
||||
t221033: () => new URL('./221033.json', import.meta.url),
|
||||
t2211: () => new URL('./2211.json', import.meta.url),
|
||||
t2300100: () => new URL('./2300100.json', import.meta.url),
|
||||
t2300101: () => new URL('./2300101.json', import.meta.url),
|
||||
t230010: () => new URL('./230010.json', import.meta.url),
|
||||
t230011: () => new URL('./230011.json', import.meta.url),
|
||||
t23111: () => new URL('./23111.json', import.meta.url),
|
||||
t231130: () => new URL('./231130.json', import.meta.url),
|
||||
|
||||
@@ -19,11 +19,8 @@
|
||||
"url": "https://raw.githubusercontent.com/whosonfirst/whosonfirst-sources/e17af153c144fe6e08aa8db2607b4bf8aecd448d/data/sources-spec-latest.json",
|
||||
"sha256": "d8a5dd873d26eee11583de4438185c046dec33848d5bde27047ca4bff44d9c39"
|
||||
},
|
||||
"recordExclusions": {
|
||||
"can-ons": 36,
|
||||
"can-saskodp": 54
|
||||
},
|
||||
"recordExclusionReason": "Original source-specific redistribution terms have not been established for these records in this derived pack.",
|
||||
"recordExclusions": {},
|
||||
"recordExclusionReason": "Sources whose pinned registry licence is only an \"equivalent\" designation (for example \"CC BY (equivalent)\" or \"CC0 (equivalent)\"), including can-ons, can-saskodp, can-gatsudd and esp-aytomad, are not admitted: their redistribution terms have not been established for this derived pack.",
|
||||
"license": "Per source; see sources and ATTRIBUTION.md",
|
||||
"format": "neighborhood-polylines-v1",
|
||||
"fields": [
|
||||
@@ -108,12 +105,6 @@
|
||||
"terms": "https://www.edmonton.ca/city_government/documents/Web-version2.1-OpenDataAgreement.pdf",
|
||||
"records": 332
|
||||
},
|
||||
"can-gatsudd": {
|
||||
"name": "Gatineau Service de l'urbanisme et du developpement durable (SUDD)",
|
||||
"license": "CC BY (equivalent)",
|
||||
"terms": "http://www3.gatineau.ca/Infoterritoire/WebInterface/help/fr/Content/1_About/1_About_FR.htm",
|
||||
"records": 74
|
||||
},
|
||||
"can-lvlsu": {
|
||||
"name": "Laval Service de l'urbanisme",
|
||||
"license": "CC BY",
|
||||
@@ -174,12 +165,6 @@
|
||||
"terms": "https://www.denvergov.org/opendata/termsofuse",
|
||||
"records": 77
|
||||
},
|
||||
"esp-aytomad": {
|
||||
"name": "Portal de datos abiertos del Ayuntamiento de Madrid",
|
||||
"license": "CC0 (equivalent)",
|
||||
"terms": "http://datos.madrid.es/egob/catalogo/aviso-legal",
|
||||
"records": 150
|
||||
},
|
||||
"esp-cartobcn": {
|
||||
"name": "CartoBCN",
|
||||
"license": "CC BY",
|
||||
@@ -770,7 +755,7 @@
|
||||
},
|
||||
{
|
||||
"key": "213",
|
||||
"count": 445,
|
||||
"count": 295,
|
||||
"bbox": [
|
||||
-9.8565,
|
||||
37.09996,
|
||||
@@ -829,20 +814,10 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "2300100",
|
||||
"count": 16,
|
||||
"key": "230010",
|
||||
"count": 375,
|
||||
"bbox": [
|
||||
-76.35559,
|
||||
45.08001,
|
||||
-75.87256,
|
||||
45.51661
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "2300101",
|
||||
"count": 433,
|
||||
"bbox": [
|
||||
-76.31305,
|
||||
44.96177,
|
||||
-73.33863,
|
||||
45.71368
|
||||
|
||||
@@ -42,6 +42,7 @@ import {
|
||||
rank,
|
||||
} from './adminBoundaries.js';
|
||||
import { loadBundledJson } from './bundledJson.js';
|
||||
import { foldPlaceName } from './placeNames.js';
|
||||
import { createRetryableLoader } from './retryableLoad.js';
|
||||
import * as placeFiles from './local_data/us_census_places/files.js';
|
||||
import * as neighborhoodFiles from './local_data/wof_neighborhoods/files.js';
|
||||
@@ -63,17 +64,6 @@ export const packLoads = {
|
||||
neighborhoodTiles: [],
|
||||
};
|
||||
|
||||
const FOLD = {
|
||||
ß: 'ss',
|
||||
ø: 'o',
|
||||
æ: 'ae',
|
||||
ł: 'l',
|
||||
đ: 'd',
|
||||
ı: 'i',
|
||||
œ: 'oe',
|
||||
þ: 'th',
|
||||
};
|
||||
|
||||
/**
|
||||
* A name as spelled: case and punctuation only. Every mark is kept, so
|
||||
* "की" and "क", "Й" and "И" stay distinct.
|
||||
@@ -87,20 +77,11 @@ export function exactPlaceName(value) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Fold a name for matching: case, punctuation, accents on Latin letters
|
||||
* only, a leading "the", "saint". Other scripts keep their marks
|
||||
* ("渋谷", "Кунцево", "बांद्रा").
|
||||
* Fold a name for matching (see `foldPlaceName`), with "saint" and "sainte"
|
||||
* shortened the way US place names abbreviate them.
|
||||
*/
|
||||
export function normalizePlaceName(value) {
|
||||
return String(value || '')
|
||||
.toLowerCase()
|
||||
.replace(/[ßøæłđıœþ]/g, (c) => FOLD[c])
|
||||
.normalize('NFD')
|
||||
.replace(/(\p{Script=Latin})\p{M}+/gu, '$1')
|
||||
.normalize('NFC')
|
||||
.replace(/[^\p{L}\p{M}\p{N}]+/gu, ' ')
|
||||
.trim()
|
||||
.replace(/^the /, '')
|
||||
return foldPlaceName(value)
|
||||
.replace(/\bsaint\b/g, 'st')
|
||||
.replace(/\bsainte\b/g, 'ste');
|
||||
}
|
||||
|
||||
@@ -379,6 +379,7 @@ test('places pack: every state file, unique ids, sane and valid rings', () => {
|
||||
});
|
||||
|
||||
const WOF_LICENSE_POLICY = readJson(WOF_LICENSES);
|
||||
const WOF_RECORD_COUNT = 61_441;
|
||||
const ALLOWED_WOF_LICENSES = new Set(WOF_LICENSE_POLICY.licenses);
|
||||
const licenceAllowed = (value) =>
|
||||
typeof value === 'string' && ALLOWED_WOF_LICENSES.has(value);
|
||||
@@ -455,6 +456,8 @@ test('neighborhood pack ships only explicitly allowed and credited sources', ()
|
||||
'mapzen',
|
||||
'can-ons',
|
||||
'can-saskodp',
|
||||
'can-gatsudd',
|
||||
'esp-aytomad',
|
||||
])
|
||||
assert.equal(sources[excluded], undefined, excluded);
|
||||
const listed = readFileSync(new URL('files.js', WOF), 'utf8');
|
||||
@@ -494,23 +497,15 @@ test('neighborhood pack ships only explicitly allowed and credited sources', ()
|
||||
}
|
||||
for (const [key, source] of Object.entries(sources))
|
||||
assert.equal(used[key], source.records, key);
|
||||
assert.deepEqual(index.meta.recordExclusions, {
|
||||
'can-ons': 36,
|
||||
'can-saskodp': 54,
|
||||
});
|
||||
const excludedIds = new Set();
|
||||
for (const rule of Object.values(
|
||||
WOF_LICENSE_POLICY.recordExclusions.sources,
|
||||
)) {
|
||||
assert.equal(rule.ids.length, rule.count);
|
||||
for (const id of rule.ids) {
|
||||
assert.ok(!excludedIds.has(id));
|
||||
excludedIds.add(id);
|
||||
assert.ok(!ids.has(id), `${id} excluded from shipped rows`);
|
||||
}
|
||||
}
|
||||
assert.equal(excludedIds.size, 90);
|
||||
assert.equal(ids.size, 61_665);
|
||||
// A licence listed only as an "equivalent" of an open licence is not one.
|
||||
for (const [key, source] of Object.entries(sources))
|
||||
assert.doesNotMatch(source.license, /equivalent/i, key);
|
||||
assert.ok(
|
||||
WOF_LICENSE_POLICY.licenses.every((value) => !/equivalent/i.test(value)),
|
||||
);
|
||||
assert.deepEqual(index.meta.recordExclusions, {});
|
||||
assert.deepEqual(WOF_LICENSE_POLICY.recordExclusions.sources, {});
|
||||
assert.equal(ids.size, WOF_RECORD_COUNT);
|
||||
});
|
||||
|
||||
test('neighborhoods resolve near the view, in any script', async () => {
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
/** Latin letters that Unicode decomposition does not fold to plain ASCII. */
|
||||
const FOLD = {
|
||||
ß: 'ss',
|
||||
ø: 'o',
|
||||
æ: 'ae',
|
||||
ł: 'l',
|
||||
đ: 'd',
|
||||
ı: 'i',
|
||||
œ: 'oe',
|
||||
þ: 'th',
|
||||
};
|
||||
|
||||
/**
|
||||
* Comparable form of a place name, shared by the bundled packs, the
|
||||
* OpenFreeMap street and grounds matchers and the Nominatim server: case
|
||||
* folded, accents removed from Latin letters only, punctuation and symbols
|
||||
* collapsed to single spaces, and a leading "the" dropped. Other scripts keep
|
||||
* their marks, so "कुल मार्ग" and "काली मार्ग" stay distinct while "São Paulo",
|
||||
* "sao paulo" and "SÃO PAULO!" meet.
|
||||
*
|
||||
* @param {unknown} value
|
||||
* @returns {string}
|
||||
*/
|
||||
export function foldPlaceName(value) {
|
||||
return String(value ?? '')
|
||||
.toLowerCase()
|
||||
.replace(/[ßøæłđıœþ]/g, (c) => FOLD[c])
|
||||
.normalize('NFKD')
|
||||
.replace(/(\p{Script=Latin})\p{M}+/gu, '$1')
|
||||
.normalize('NFKC')
|
||||
.replace(/[^\p{L}\p{M}\p{N}]+/gu, ' ')
|
||||
.trim()
|
||||
.replace(/^the /, '');
|
||||
}
|
||||
Reference in new issue
Block a user