@johnmorrisdotca/kyogijo-stadiums 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/NOTICE.md +4 -3
- package/README.md +1 -1
- package/dist/stadiums.data.js +13 -0
- package/dist/stadiums.osm.data.js +52 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ All notable changes to this project are written here. The format follows
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.34.0] - 2026-10-20
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Koshien Stadium** (`park: "hanshin-koshien-stadium"`, `阪神甲子園球場`, 47,400 seats, open air): the way home plate faces is found by fitting the park's published fence to the grass of the field OpenStreetMap maps (`axis.basis` `pitch`, 172 degrees, the fence 2.9 metres from the mapped edge, `axis.rms`; good to about ten degrees, and the Japanese article puts the annex south, behind centre field). The ivy and the all-dirt infield are plain drawing choices the sources give (`looks.ivyWalls`, `looks.dirtInfield`): green walls in 2D and 3D, and no grass inside the bases. No roof over the field (`StadiumRoof` `open`); the Ginsan roof over the grandstand is not drawn.
|
|
15
|
+
|
|
10
16
|
## [0.33.0] - 2026-10-20
|
|
11
17
|
|
|
12
18
|
### Added
|
package/NOTICE.md
CHANGED
|
@@ -45,8 +45,8 @@ picture or code of the sources is copied; each source is named here so that the
|
|
|
45
45
|
| `arenas`: each arena's names, years, city, seats, rink sizes, Wikidata item and coordinates | The infobox and the text of the English Wikipedia article of each arena, at the revision cited below (the names with the years the article dates them, the year it opened, closed and was pulled down, the seats for ice hockey and for basketball, a rink's length and width where the article gives them in a sentence of its own); the name in Japanese from the title of its Japanese article or written for the package; the Wikidata item (CC0) that each article is linked to and its coordinates (P625) | Facts. The articles are CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/); none of their text, tables or images is used |
|
|
46
46
|
| `venues`: the outline of each NHL arena's building, how its rink lies in it and the building's height (`VENUE_OSM`, `src/venues.osm.data.ts`) | OpenStreetMap, through the Overpass API: the closed way (or the relation of a building drawn in two ways) tagged with the venue's Wikidata item (and the ice, where it is mapped), read on 2026-10-20, with the raw answers kept in `data-sources/venues/2026-10-20/`; the outline is simplified to a metre, and the way the rink lies is worked out from it (`coreOf`, `src/venues.geo.ts`) | ODbL 1.0, (c) OpenStreetMap contributors (https://www.openstreetmap.org/copyright): a derived database, kept in its own file and offered under the ODbL; a drawing made from it is a produced work and carries the credit (`VENUE_ATTRIBUTION`) |
|
|
47
47
|
| `venues`: each venue's seats for ice hockey, number of seating tiers and kind of roof (`VENUE_DATA`, `src/venues.data.ts`) | The item of Wikidata (the capacity P1083 and the sport it applies to P641) and the English Wikipedia article of each arena, at the revision cited below, in `data-sources/venues/2026-10-20/` as read; the facts are numbers and words of our own, with what was read in a few words | Wikidata's data is CC0; the facts read from the articles are facts, with the articles credited here (CC BY-SA 4.0) |
|
|
48
|
-
| `stadiums`: the outline of each stadium's building, the roof OpenStreetMap maps over it (its heights, the opening in it or its canopies), the pitches or the infield, and how the field lies, worked out from the opening, the pitches or the infield and the outline (`STADIUM_OSM`, `src/stadiums.osm.data.ts`) | OpenStreetMap, through the Overpass API: the closed way tagged with the stadium's Wikidata item and the multipolygon of its roof (BC Place), or the way or relation of the building, the roof parts, the pitches, the infield or the grass of the field named in `scripts/stadiums.data.json` (Lumen Field, T-Mobile Park, Tokyo Dome, Korakuen Hall), read on 2026-10-20, with the raw answers kept in `data-sources/stadiums/2026-10-20/`; the outline is simplified to a metre, and the way the field lies is worked out from the opening, the pitches or the infield (`smallestBox`, `src/venues.geo.ts`; a ballpark's way out to centre field is the one of four where its fence lies inside the outline, or, where nothing maps it, not known, and the heading is the one in which fence and stands fit the outline best (Tokyo Dome)) | ODbL 1.0, (c) OpenStreetMap contributors (https://www.openstreetmap.org/copyright): a derived database, kept in its own file and offered under the ODbL; a drawing made from it is a produced work and carries the credit (`VENUE_ATTRIBUTION`) |
|
|
49
|
-
| `stadiums`: each stadium's seats for each configuration, number of seating bowls, kind of roof and the size of its opening (`STADIUM_DATA`, `src/stadiums.data.ts`) | The item of Wikidata (the capacity P1083, the coordinates P625 and the labels in English and Japanese that name a hall) and the English Wikipedia article of each stadium, at the revision cited below, and the Japanese article of the stadiums of Japan, at the revision cited in [NOTICE.ja.md](./NOTICE.ja.md#実在のスタジアム), in `data-sources/stadiums/2026-10-20/` as read; the facts are numbers and words of our own, with what was read in a few words (and, for a fact leaning on a sentence, the phrase the archive must hold) | Wikidata's data is CC0; the facts read from the articles are facts, with the articles credited here (CC BY-SA 4.0) |
|
|
48
|
+
| `stadiums`: the outline of each stadium's building, the roof OpenStreetMap maps over it (its heights, the opening in it or its canopies), the pitches or the infield, and how the field lies, worked out from the opening, the pitches or the infield and the outline (`STADIUM_OSM`, `src/stadiums.osm.data.ts`) | OpenStreetMap, through the Overpass API: the closed way tagged with the stadium's Wikidata item and the multipolygon of its roof (BC Place), or the way or relation of the building, the roof parts, the pitches, the infield or the grass of the field named in `scripts/stadiums.data.json` (Lumen Field, T-Mobile Park, Tokyo Dome, Korakuen Hall, Koshien Stadium), read on 2026-10-20, with the raw answers kept in `data-sources/stadiums/2026-10-20/`; the outline is simplified to a metre, and the way the field lies is worked out from the opening, the pitches or the infield (`smallestBox`, `src/venues.geo.ts`; a ballpark's way out to centre field is the one of four where its fence lies inside the outline, or the heading and home plate at which its published fence lies nearest the mapped grass of the field (Koshien Stadium), or, where nothing maps it, not known, and the heading is the one in which fence and stands fit the outline best (Tokyo Dome)) | ODbL 1.0, (c) OpenStreetMap contributors (https://www.openstreetmap.org/copyright): a derived database, kept in its own file and offered under the ODbL; a drawing made from it is a produced work and carries the credit (`VENUE_ATTRIBUTION`) |
|
|
49
|
+
| `stadiums`: each stadium's seats for each configuration, number of seating bowls, kind of roof and the size of its opening (`STADIUM_DATA`, `src/stadiums.data.ts`) | The item of Wikidata (the capacity P1083, the coordinates P625 and the labels in English and Japanese that name a hall) and the English Wikipedia article of each stadium, at the revision cited below, and the Japanese article of the three stadiums of Japan, at the revision cited in [NOTICE.ja.md](./NOTICE.ja.md#実在のスタジアム), in `data-sources/stadiums/2026-10-20/` as read; the facts are numbers and words of our own, with what was read in a few words (and, for a fact leaning on a sentence, the phrase the archive must hold) | Wikidata's data is CC0; the facts read from the articles are facts, with the articles credited here (CC BY-SA 4.0) |
|
|
50
50
|
| `atlas`: the clubs that played in each park, ground and arena (`tenants`: the club, its Wikidata item, its league, the years) | The occupants (P466) and home venues (P115) Wikidata lists for each place, with the start (P580) and end (P582) times of each statement, and the clubs' labels in English and Japanese, sports (P641) and leagues (P118), read with the Wikidata API and query service by `scripts/fetch-tenants.mjs` into `scripts/tenants.wikidata.json`; and the `tenants` line of the infobox of each place's English Wikipedia article, at the revision that `source.wikipedia` names for each club (155 articles, read on 2026-10-13) | Facts. Wikidata's data is CC0 (https://creativecommons.org/publicdomain/zero/1.0/), and the articles are CC BY-SA 4.0 as above; the names of clubs and the years are facts, no text, table or image of an article is used. Which clubs are tenants, and the league each is filed under, are our reading, in docs/atlas.md ("Tenants") |
|
|
51
51
|
| `parks`: the walls, quirks, backstop, warning track, dugouts and extra points of a ballpark (`walls`, `quirks`, `backstop_ft`, `track_ft`, `dugouts`, `labels`) | The infobox and the text of the same English article of each park, at the same revision as its fence (the Japanese article for the heights of the walls of the parks of Japan): the height of the wall along a stretch of the fence and the seasons it stood, the hill, overhang, poles, bullpens, ivy and basket the text describes with figures, the infobox's backstop distance, the warning track's width, the sides of the dugouts, and the further distances the text gives (Wrigley Field's wells, Sportsman's Park's and Milwaukee County Stadium's markers). The stretch each figure covers and the angle of each extra point are our reading of the article's words | Facts. The articles are CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/); none of their text, tables or images is used |
|
|
52
52
|
| `parks`: the coordinates of each ballpark (`lat`, `lon`) and the years it opened and closed (`opened`, `closed`) | The item's coordinate location (P625), its date of official opening or inception (P1619, P571) and of official closure or dissolution (P3999, P576), read with the Wikidata API by `scripts/fetch-park-coordinates.mjs` and checked by `scripts/check-parks.mjs` (ES CON Field's opening, 2023, is read from its article) | Wikidata's data is CC0 (https://creativecommons.org/publicdomain/zero/1.0/) |
|
|
@@ -452,7 +452,7 @@ The thirty-two arenas of the NHL, read on 2026-10-20 (`pnpm venues:fetch <date>
|
|
|
452
452
|
|
|
453
453
|
## The stadiums' sources
|
|
454
454
|
|
|
455
|
-
BC Place, Lumen Field, T-Mobile Park, Tokyo Dome and
|
|
455
|
+
BC Place, Lumen Field, T-Mobile Park, Tokyo Dome, Korakuen Hall and Koshien Stadium, read on 2026-10-20 (`pnpm stadiums:fetch`; the files are in `data-sources/stadiums/2026-10-20/`: `osm-<stadium>.json` as Overpass returned it, `wikidata.json` and `wikipedia.json`). The outline of the building, its roof and the opening in it are OpenStreetMap's, ODbL 1.0, (c) OpenStreetMap contributors, and live in `src/stadiums.osm.data.ts` alone. The seats of each configuration, the bowls, the roof's kind and the size of its opening are in `src/stadiums.data.ts`, with what each cites. No seat map of a club, a ticket seller or a federation is read or copied, and no mark of a club, a league or a tournament is drawn.
|
|
456
456
|
|
|
457
457
|
| Stadium | Wikidata item | OpenStreetMap way | English article and revision |
|
|
458
458
|
| --- | --- | --- | --- |
|
|
@@ -461,6 +461,7 @@ BC Place, Lumen Field, T-Mobile Park, Tokyo Dome and Korakuen Hall, read on 2026
|
|
|
461
461
|
| T-Mobile Park | Q1193117 | relation/3008332 | T-Mobile Park, 1379419810 |
|
|
462
462
|
| Tokyo Dome | Q733748 | way/20028328 | Tokyo Dome, 1379232526 |
|
|
463
463
|
| Korakuen Hall | Q4389857 | way/45977418 | Korakuen Hall, 1372211318 |
|
|
464
|
+
| Koshien Stadium | Q959811 | relation/9845926 | Koshien Stadium, 1374217766 |
|
|
464
465
|
|
|
465
466
|
## The World Cups' articles
|
|
466
467
|
|
package/README.md
CHANGED
|
@@ -604,7 +604,7 @@ console.log(svg.includes("ky-cr-shell"), planVenue(venueById("climate-pledge-are
|
|
|
604
604
|
|
|
605
605
|
### A real stadium, and a district
|
|
606
606
|
|
|
607
|
-
`stadium: "bc-place"` draws BC Place for football or soccer under its cable roof, and Lumen Field, T-Mobile Park, Tokyo Dome (`park`) and Korakuen Hall (`sport: "boxing"`) likewise ([stadiums](./docs/stadiums.md)); `drawDistrict({ venues: ["bc-place", "rogers-arena"] })` puts venues at their real positions, tight as neighbours or spread as a city, to turn together in 3D ([districts](./docs/district.md)).
|
|
607
|
+
`stadium: "bc-place"` draws BC Place for football or soccer under its cable roof, and Lumen Field, T-Mobile Park, Tokyo Dome, Koshien Stadium (`park`) and Korakuen Hall (`sport: "boxing"`) likewise ([stadiums](./docs/stadiums.md)); `drawDistrict({ venues: ["bc-place", "rogers-arena"] })` puts venues at their real positions, tight as neighbours or spread as a city, to turn together in 3D ([districts](./docs/district.md)).
|
|
608
608
|
|
|
609
609
|
<p align="center">
|
|
610
610
|
<picture>
|
package/dist/stadiums.data.js
CHANGED
|
@@ -58,4 +58,17 @@ export const STADIUM_DATA = [
|
|
|
58
58
|
"tiers": { "count": 2, "basis": "documented", "lowerSeats": 1403, "read": "the Japanese article: the 1,403 seats are on the floor (780 fixed seats on the south side, movable seats of 109 east, 109 west and 405 north), and the balconies on the east and west sides, above, take standing places up to 2,005" },
|
|
59
59
|
"roof": { "kind": "fixed", "basis": "plausible", "read": "the hall is on the fifth floor of a building (the Japanese article), under the building's own roof, drawn as a lid (ours)" },
|
|
60
60
|
},
|
|
61
|
+
{
|
|
62
|
+
"id": "hanshin-koshien-stadium",
|
|
63
|
+
"kind": "park",
|
|
64
|
+
"wikidata": "Q959811",
|
|
65
|
+
"park": "hanshin-koshien-stadium",
|
|
66
|
+
"en": { "title": "Koshien Stadium", "revision": 1374217766 },
|
|
67
|
+
"ja": { "title": "阪神甲子園球場", "revision": 111237979 },
|
|
68
|
+
"looks": { "ivyWalls": "the Japanese article: ivy planted on the outer wall since 1924, taken off for the renovation and planted again; the English article calls the ivy a symbol of the stadium (drawn as a green wall, nothing more)", "dirtInfield": "the Japanese article: the infield is the black soil of the park and the outfield natural grass; the English article: the infield continues to be all dirt (drawn as dirt with no grass inside the bases)" },
|
|
69
|
+
"configs": { "mlb": { "sport": "mlb", "seats": 47400, "source": "wikipedia", "read": "the infobox's last capacity, 47,400 (it lists the earlier ones, 47,757 and 47,808 among them)" } },
|
|
70
|
+
"wikidataSeats": [60000],
|
|
71
|
+
"tiers": { "count": 1, "basis": "documented", "read": "the Japanese article: the stands are on one level, the largest of a one-level stand in Japan, the infield stand's 50 rows 14.3 metres high" },
|
|
72
|
+
"roof": { "kind": "open", "basis": "documented", "read": "the English article: the outfield is natural grass and open to the air, no roof over the grounds; the Ginsan roof over the grandstand behind home plate is not drawn" },
|
|
73
|
+
},
|
|
61
74
|
];
|
|
@@ -269,4 +269,56 @@ export const STADIUM_OSM = {
|
|
|
269
269
|
[139.752282, 35.704525],
|
|
270
270
|
],
|
|
271
271
|
},
|
|
272
|
+
"hanshin-koshien-stadium": {
|
|
273
|
+
"source": "relation/9845926",
|
|
274
|
+
"read": "2026-10-20",
|
|
275
|
+
"base": "2026-10-21T00:18:36Z",
|
|
276
|
+
"licence": "ODbL-1.0",
|
|
277
|
+
"attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
|
|
278
|
+
"axis": { "heading": 172, "basis": "pitch", "strength": 1.11, "elongation": 1, "centre": [135.361543, 34.721754], "rms": 2.9 },
|
|
279
|
+
"ring": [
|
|
280
|
+
[135.362626, 34.721658],
|
|
281
|
+
[135.362552, 34.721775],
|
|
282
|
+
[135.362618, 34.721805],
|
|
283
|
+
[135.362565, 34.721886],
|
|
284
|
+
[135.362495, 34.721855],
|
|
285
|
+
[135.362256, 34.722145],
|
|
286
|
+
[135.362131, 34.722246],
|
|
287
|
+
[135.362049, 34.72229],
|
|
288
|
+
[135.361969, 34.722318],
|
|
289
|
+
[135.361787, 34.722342],
|
|
290
|
+
[135.361787, 34.722375],
|
|
291
|
+
[135.361678, 34.722374],
|
|
292
|
+
[135.361678, 34.722335],
|
|
293
|
+
[135.361376, 34.722322],
|
|
294
|
+
[135.361375, 34.722349],
|
|
295
|
+
[135.361213, 34.722344],
|
|
296
|
+
[135.361212, 34.722301],
|
|
297
|
+
[135.361103, 34.722268],
|
|
298
|
+
[135.360939, 34.722177],
|
|
299
|
+
[135.360855, 34.722072],
|
|
300
|
+
[135.360679, 34.72174],
|
|
301
|
+
[135.360588, 34.721768],
|
|
302
|
+
[135.360532, 34.721652],
|
|
303
|
+
[135.360621, 34.721628],
|
|
304
|
+
[135.360411, 34.721003],
|
|
305
|
+
[135.360474, 34.721001],
|
|
306
|
+
[135.360531, 34.720839],
|
|
307
|
+
[135.360642, 34.720691],
|
|
308
|
+
[135.360816, 34.72055],
|
|
309
|
+
[135.360954, 34.720484],
|
|
310
|
+
[135.361226, 34.720409],
|
|
311
|
+
[135.361499, 34.720376],
|
|
312
|
+
[135.361802, 34.720379],
|
|
313
|
+
[135.361906, 34.720392],
|
|
314
|
+
[135.362228, 34.720484],
|
|
315
|
+
[135.362456, 34.720591],
|
|
316
|
+
[135.36266, 34.720748],
|
|
317
|
+
[135.362788, 34.720952],
|
|
318
|
+
[135.362826, 34.721047],
|
|
319
|
+
[135.362826, 34.721152],
|
|
320
|
+
[135.36287, 34.721163],
|
|
321
|
+
[135.362615, 34.721654],
|
|
322
|
+
],
|
|
323
|
+
},
|
|
272
324
|
};
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** The package's version: the same as package.json's, and a test holds them to each other. */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.34.0";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** The package's version: the same as package.json's, and a test holds them to each other. */
|
|
2
|
-
export const VERSION = "0.
|
|
2
|
+
export const VERSION = "0.34.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@johnmorrisdotca/kyogijo-stadiums",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "Kyogijo Stadiums 競技場, 40 sports' surfaces as SVG, drawn to scale from the rulebooks: NFL, CFL and IFAF football fields, an NHL rink, an NBA court, MLB ballparks, soccer pitches, curling sheets, athletics stadiums, speed skating, short track and figure skating rinks, swimming pools, water polo fields, diving wells, artistic swimming areas, and the courts and fields of tennis, volleyball (indoor, beach and sitting), badminton, pickleball, table tennis, padel, squash, racquetball, sepak takraw, teqball, roundnet, netball, lacrosse, rugby, Australian football, Gaelic games, cricket, field hockey and handball, and the budo of judo, karate, kendo, sumo and kyudo with a dojo of tatami laid as real units, the MMA cage, with each team's name and logo on its side and the score in the middle, stands and a crowd, a pageant of flags, and a 3D view. Light and dark, accessible, a compact badge for lists, a helper for React and a custom element. Zero dependencies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sports",
|