From 67b7e92cdd494ad18e5d017749a89ddbb255537b Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Sat, 26 Sep 2026 04:09:37 +0000 Subject: [PATCH] Gospel map: say what a dot is, and name the groups that share it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit P5. A pin marks where a people is found, not a settlement, and the data shows it: of the 2,107 placed groups, 2,048 have a distinct coordinate — so 49 coordinates carry more than one group and 108 groups sit on a point they share with another. 41 pairs, 6 triples, 2 quadruples; four groups share one coordinate in coastal Karnataka and four more share a second point a few kilometres away. The coordinates also carry false precision: 1,274 are given to six decimal places, metre resolution on a figure describing where a people is found. Rendering that without comment invites a reader to treat a dot as an address. So the sheet says what the dot is, and where the point is shared it names the other groups. "Approximate" alone would have been the easy word and the wrong one — it hides the part a reader would never otherwise discover, that some dots are literally the same dot. 108 sheets carry the second sentence; the other 1,999 carry only the first. --- .../gospel-resources/resources-map.vue | 48 +++++++++++++++++++ public/dx-maps/doxa-maps-spa/manifest.json | 12 ++--- .../gospel-resources/charts/index.html | 2 +- .../gospel-resources/data-tables/index.html | 2 +- .../gospel-dashboard/index.html | 2 +- .../gospel-resources/gospel-resources.js | 42 ++++++++-------- .../resources-list/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- public/dx-maps/manifest.json | 12 ++--- 9 files changed, 86 insertions(+), 38 deletions(-) diff --git a/plugin-designs/gospel-resources/resources-map.vue b/plugin-designs/gospel-resources/resources-map.vue index 1df946fef..87ae99eb5 100644 --- a/plugin-designs/gospel-resources/resources-map.vue +++ b/plugin-designs/gospel-resources/resources-map.vue @@ -732,6 +732,7 @@ function groupAt(i) { population: r[5], countries: byIso.value[r[3]]?.country || r[3], _iso3: r[3] || '', + lat: r[1], lng: r[2], scripture_url: c.s || '', film_url: c.f || '', /* Empty except where the JESUS component does not carry this language and another @@ -810,6 +811,37 @@ const withoutResources = computed(() => groupsForCountry.value.filter((r) => !ha * Third time this exact flag has under-reported: the pins builder and the access builder were * both corrected the same way. Same three signals here, so the four surfaces agree. */ +/** + * ═══ WHAT A DOT IS, AND WHAT IT IS NOT ════════════════════════════════════════════════════ + * + * A pin is a locality marker for a PEOPLE, not the location of a settlement, and the data says + * so if you look at it. MEASURED over the 2,107 placed groups: 2,048 distinct coordinates, so + * 49 coordinates carry more than one group and 108 groups sit on a point they share with + * another — 41 pairs, 6 triples and 2 quadruples. Four groups share 12.843781, 75.247906 in + * coastal Karnataka; four more share a second point a few kilometres away. + * + * The coordinates also carry FALSE PRECISION: 1,274 of them are given to six decimal places, + * which is metre resolution on a figure that describes where a people is found. Rendering that + * without comment invites a reader to treat a dot as an address. + * + * So the sheet says what the dot is, and where a point is shared it says how many share it. + * "Approximate" alone is not the honest word — it hides that some dots are literally the same + * dot, which is the part a reader would otherwise never discover. + */ +const sharedPoints = computed(() => { + const at = {} + for (const r of pinRows.value) { + const k = `${r[1]},${r[2]}` + ;(at[k] = at[k] || []).push(r[0]) + } + return at +}) +const sharedWith = (g) => { + if (!g || g.lat == null || g.lng == null) return [] + const names = sharedPoints.value[`${g.lat},${g.lng}`] || [] + return names.filter((n) => n !== g.people_group) +} + const isDeafGroup = (code, name) => { const c = pinCodes.value[code] return (c && c.sg === 1) || /sign language/i.test((c && c.l) || '') || /\bDeaf\b/i.test(name || '') @@ -1930,6 +1962,22 @@ useShadowStyles(
{{ t('gospel.stat.population') }}{{ fmt(selectedGroup.population) }}
{{ t('gospel.stat.countries') }}{{ selectedGroup.countries }}
+ +

+ The dot marks where this people is found, not a town or a boundary. + +

+
{{ t('gospel.sheet.ownLanguage') }}
diff --git a/public/dx-maps/doxa-maps-spa/manifest.json b/public/dx-maps/doxa-maps-spa/manifest.json index 09f4e1569..21f5ae840 100644 --- a/public/dx-maps/doxa-maps-spa/manifest.json +++ b/public/dx-maps/doxa-maps-spa/manifest.json @@ -578,7 +578,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "dx-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-tZWmeOwKT5jOAFyKuRciYkUXHZw8FXhffKEFS5+XfeWtk+CxRagldUGnWngGjnE9", + "integrity": "sha384-tYb6mCkKNIo4O5c0d0LxZbDFGplja1XRbrQLpW4CfJnPlwsh8HpjSkkFNebhoep7", "elements": [ "gospel-resources-map" ], @@ -598,7 +598,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -612,7 +612,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -626,7 +626,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -640,7 +640,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -654,7 +654,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ] diff --git a/public/dx-maps/gospel-resources/charts/index.html b/public/dx-maps/gospel-resources/charts/index.html index 641368fbb..cb88ff7c9 100644 --- a/public/dx-maps/gospel-resources/charts/index.html +++ b/public/dx-maps/gospel-resources/charts/index.html @@ -32,7 +32,7 @@ - + - + - + - + - + \n\n" + "script": "\n\n" } }, { @@ -612,7 +612,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -626,7 +626,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } }, { @@ -640,7 +640,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -654,7 +654,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n\n\n" + "script": "\n\n\n\n" } } ]