Sources
← back to the map
Most of the coastlines and national outlines are originally Natural Earth, except China's, which is derived from the Republican province sheet below and nothing else; China's provinces are the real ones of 1928–45; Korea is the National Institute of Korean History's thirteen colonial provinces rather than modern units; the princely states of India were georeferenced by hand from a 1931 atlas; and the occupied zone and the line of control are traced from period maps and are approximations, as they say on the map itself.
Boundaries and coastlines
- Natural Earth, 1:10m cultural vectors. Most of the coastlines and national outlines outside China, and the base for the frame. Public domain — Natural Earth's terms state the data may be used in any manner, including modifying the content and design, and that no permission is needed.
github.com/nvkelso/natural-earth-vector
- ENP-China — Chinese provincial boundaries, 1928–1945. Now only used for the coastline of China. Originally the provinces of China were used from this dataset but on further investigation, the version we had seems to show interior provinces (such as Shaanxi frontier along the Yellow River) significantly distant from where it should be. I decided to keep the coastlines from this layer for convenience and then redo the provinces from historical maps (see below). Christian Henriot (June 16, 2021). Administrative map of Republican China: Provinces (1912-1928). Elites, Networks and Power in modern China. Retrieved August 24, 2026 from https://doi.org/10.58079/o8ls
- French Indochina, traced from the 1945 OSS map. The whole federation drawn as one coverage for the period: 94 units in five protectorates — Tonkin, Annam and Cochinchina, with Cambodia and Laos — traced from the map held at Stanford as bv890bn4231. With Administrative on, the five shade slightly differently under the pointer and the division being pointed at is picked out; its card gives the name, the French form of it, and which protectorate it was in. It replaces two sources that did not agree with each other: Natural Earth's Vietnam, cut into its three pieces by two straight lines standing in for the watershed, beside geoBoundaries' modern provinces of Laos and Cambodia. The two drew one border in two places, and 4,300 km² down the Annamite chain came out as neither country. The outlines the map draws — the federation whole, the federation less the 1941 cession, and the cession itself — are dissolved from the coverage exactly, every interior edge cancelling against its twin, so nothing is moved or thinned in the making of them. The territory ceded to Thailand in May 1941 is drawn as units of the federation on the 1930 sheet, where it was still Cambodia and Laos, and as Thailand's in December 1942. Battambang is treated as ceded although the trace does not yet mark it: the Tokyo convention of 9 May 1941 took the province entire.
- Burma's administrative areas. The divisions and districts were drawn from the Imperial Gazetteer of India, Atlas: 1931, digitized by the University of Chicago Digital South Asia Library. Eighty-five districts and states where the map had seven modern Burmese divisions standing in for them. With Administrative on, each district shades by the larger unit it sat in — the seven Divisions of Burma proper, the Federated Shan States, and the Karenni states, which were never annexed and are kept apart for that reason. The borders between districts are exact: the coverage dissolves by cancelling each interior edge against its twin, so no boundary is drawn twice and none is thinned. The province's own outline is unchanged, and deliberately: it is a tracing cut to British India's, which it overlaps by nothing at all, while this coverage is an independent reading of the same frontier and would overlap it by 166 km². The districts are drawn inside the outline the map already had, so they stop where Burma stops. Two consequences worth knowing: north of 27.5° the Gazetteer reaches further into the Kachin hills than the traced frontier does, so The Triangle and Myitkyina end at the older line; and the Gazetteer has no district for Rangoon, which was its own administration, so the capital is drawn as Burma with no division on it.
- Burma's population, 1931 Census of India, 1931 Volume XI Burma Part I. Report, pp240-244 — Appendix B, the Schedule for Racial Map: each district or state's All Races total and its race-groups, in the census's own terms. Where a race-group was too small to be shown on the racial map its figures are inside that district's Others, so a group missing from a district is not zero. Every block was summed against its printed All Races total before it was used: 39 of the 41 reconcile exactly, and two are carried as printed with a note saying so — Minbu's groups come to 277,876 against a printed 277,878, and the Southern Shan States' to 869,930 against 870,230. Thirty-seven of the census's units are districts this map draws; Rangoon is the city dot, the census returning the town as a district of its own; Insein and the two Shan States federations have no shape of their own on this map and are in the table without one; Karenni's figure stands on the Karenni States, and Kantarawadi, Kyebogyi and Bawlake carry it jointly. The full transcription, with the printed percentages, is at
data/population/sources/1931-Burma-Race-Groups.md.
- The Netherlands Indies, residency by residency. Sixty-five units drawn for 1930 — Natural Earth coastlines with the residency boundaries of Robert Cribb, Historical Atlas of Indonesia (2000), pp. 125-6 (Java), 127 (Sumatra), 129 (Borneo) and 131 (eastern). It is the first time this colony has had divisions on the map at all: what stood here before was Java in three pieces and the Outer Possessions in fourteen, taken from modern Indonesian provinces, with Bali, the Lesser Sundas, the Moluccas and New Guinea in none of them. With Administrative on, the fifty units that sat inside a gouvernement shade by which one — Java's three, Jogjakarta and Soerakarta as princely lands beside them, Borneo's two afdeelingen, and the Moluccas — and the fifteen residencies that answered to Batavia direct are left unshaded, because there was no level above them to show. A card gives the Dutch name the administration used, whatever else the place is called, and the article where there is one. The colony's own outline is dissolved from the sixty-five exactly, every interior edge cancelling against its twin, so the coast is the coast and nothing has been moved or thinned to make it: the units and their outline agree at 1,885,666 km². A few small islands no residency claimed — Ambon, the Banda islands, Weh, Bawean, Kangean, Karimunjawa — are drawn as the colony with no division on them.
- 最新世界大地図 - David Rumsey Historical Map Collection, Fuchida, Tadayoshi, Saishin sekai daichizu: Shina zendo narabi fukin daichizu. Oshū gensei daichizu (1940) List No. 13462.003. This map was used to re-trace all the republican period provinces of China.
- 中華民國新地圖 交通及物產詳記 (1936 [earlier version 1928]) - HKUST Library . This map was also consulted in tweaking the republican period provinces.
- 中華民國新地圖 (1947) - Academia Sinica. This map was also consulted in tweaking the republican period provinces.
- geoBoundaries ADM1 and ADM2. The provinces ceded to Thailand in 1941, the northern Malay states, Burma by division, Kengtung by district, the Indian, Japanese and Philippine first-level units, Siam's changwat, and Bangkok's fifty khet — which are gathered by
tools/fetch_tha_bangkok.py into Phra Nakhon and Thonburi, two provinces until 1971 that no modern first-level unit can tell apart. CC BY 4.0.
github.com/wmgeolab/geoBoundaries · Runfola, D. et al. (2020), "geoBoundaries: A global database of political administrative boundaries", PLoS ONE 15(4): e0231866.
- Topography. Shaded relief after Natural Earth (public domain),
SR_HR (1:10m, 1 arc-minute) — clipped to the map's frame and warped into each of the three projections the map offers. The sheet's flat water value is remapped to white.
- Taiwan, 1930. The island's coastline and the divisions of the colony. Boundaries after 《日治時期臺灣行政區域沿革》, 1926年7月郡(市)界 (Academia Sinica RCHSS, CC BY-NC-SA 4.0), reprojected by the author from TWD67 to TWD97 (EPSG:3826). Ajustments made: Areas labeled "蕃地" are drawn as one unit and named for the demarcation itself — the Taiwan Government-General's demarcated "Aborigine Territory" — rather than for the people the colonial state placed inside it. The distributed 1926 sheets of 《臺灣歷史文化地圖系統》 could not produce a complete administrative map: the 郡(市)界 layer omits 澎湖廳, collapses the two eastern 廳 and all 蕃地 into a single unnamed 19,000 km² residual, lacks 高雄市 and 基隆市, and carries schematic boundaries around 高雄; the corresponding 街(庄)界 layer is more degraded still. Claude Opus 4.5 was used to diagnose these problems and to reconstruct the layer used here from the 1920 街(庄)界 sheet, which is complete (304 units, including both eastern 廳, 澎湖郡, and 蕃地 resolved to 郡 level) and carries hierarchical 州/郡市/街庄 codes. There is an undeclared coordinate reference system fault affecting the whole series — the ESRI-style .prj names TWD67 without an EPSG authority code, so PROJ resolves it to an anonymous ellipsoidal CRS and applies a null datum shift, displacing the data approximately 830 m west. The layer was reprojected to TWD97 / TM2 zone 121 (EPSG:3826) via EPSG:3828, using the EPSG-registered transformation "TWD67 / TM2 zone 121 to TWD97 / TM2 zone 121 (1)". Two defective source records were repaired (新竹郡蕃地 lacked a name, 海山郡蕃地 an ID), and the documented administrative changes between July 1920 and January 1930 were applied: 基隆街 and 高雄街 raised to 市 and 高雄郡 dissolved, with 燕巢, 楠梓 and 左營庄 reassigned to 岡山郡 and 仁武庄 to 鳳山郡 (25 December 1924, 府令第90–91號); 澎湖郡 detached from 高雄州 as 澎湖廳 (July 1926); and 新竹街 and 嘉義街 raised to 市 (20 January 1930). Units were dissolved to 郡市 level with 蕃地 aggregated per 州廳, yielding 55 郡市 and 7 蕃地 blocks totalling 36,082 km², against 36,080 km² for the distributed 1926 sheet plus 澎湖. All processing was carried out in QGIS via PyQGIS scripts written by Claude.
- Taiwan's sugar company railways, 1929 中央研究院人文社會科學研究中心地理資訊科學研究專題中心 [Center for GIS, RCHSS, Academia Sinica]. 〈日治時期糖鐵分布圖〉 [Distribution of Sugar Railways in the Japanese Colonial Period]. Dataset, part of the 〈臺灣地形圖〉 (rd15) collection. Taipei: 研究資料寄存所 (depositar). data.depositar.io/dataset/rd15-09143 (accessed 30 August 2026).
- Taiwan's population, 1930 昭和五年 臺灣總督府統計書, 第35表 戶口靜態總表 and 第37表 地方別現住人口, pp. 28–37. Published 1932; the figures are those of the household registers at the end of 1930, so the map calls them a resident population and not a census. The colony, the five 州 and three 廳, and the seven 市 and forty-five 郡, with the Indigenous Peoples — 「蕃人」 in the source's own word — counted in a column of their own. That column is the whole of the difference between a prefecture and its own districts added up, and it was checked as such: each of the five 州 balances exactly, and the eight jurisdictions come to the printed 4,679,066. Because the district figures leave those 86,154 out, and because this map draws the demarcated 「蕃地」 as a shape of its own, each 市 and 郡 here is the population of exactly the ground the map gives it — which is not true of the 1941 return below, where the same people are counted twice over. The areas are not the source's; they are measured from the polygons this map draws, as they are for every other date.
- Taiwan's population, 1941 臺灣總督府『第四十五統計書』(昭和16年), Table 16 市街庄別常住戸口 pp. 20–33 for the 64 second-tier divisions — eleven 市, fifty-one 郡 and two 支廳 — with the colony and prefecture totals from the table before it. Resident (常住) population, compiled from the household and alien registers. Every row was checked before it was used: the five registers sum to each total, and the districts sum to the printed prefecture totals and to the 6,249,468 of the whole island. Three cities — 宜蘭, 彰化, 屏東 — were cut out of their districts in 1933 and 1940, after the boundaries this map draws, so each is added back into the district it came from and the card says so; the eastern prefectures and the Pescadores are given whole, which is how the map draws them. The same table gives the eleven 市, which are on the city dots: 宜蘭, 彰化, 屏東 and 花蓮港 became 市 after the boundaries drawn here, so the dot carries the city and the shape under it still carries the district, and the card says which is which.
- Japan's population, 1930 内閣統計局 『昭和五年国勢調査最終報告書』. Five tables: p10 人口ノ府縣分布, the 1 道 3 府 43 縣 at the censuses of 1930, 1925 and 1920, the two earlier years recast onto the municipal boundaries of 1930; p16 the 市, largest first, down to Kawasaki at 104,351 — which is what decides the size of a Japanese city's dot on the 1930 map; p25 males per 100 females; pp40–41 the three age groups, printed per thousand and shown on the map as percentages; pp68–69 where those born outside 内地 were born, in the 外地 and abroad. Each was checked against the source's own arithmetic before it was used: the prefectures sum to the printed 全國 total in all three years, the age shares sum to 1,000 in every one of the forty-eight rows, the five 外地 sum to 485,797 and the birthplaces abroad to 114,862. The tables carry no areas, so the density is over the prefecture outlines this map draws. p25 is transcribed whole — the table is printed in two halves across the page, 全國 down to 愛知 on the left and 三重 to 沖縄 on the right — and it gives the ratio at each of three censuses, 1930, 1925 and 1920, so all three are carried. The twenty-four figures transcribed from the left half before the page was photographed match this reading of it exactly, which is what stands in for an additive check on a table of ratios. The sheet itself is at
data/population/sources/images/japan-1930-sex-ratio-p25.png and the transcription at data/population/sources/japan-1930-sex-ratio.md.
- Korean population, 1930 The census: 朝鮮總督府『昭和五年 朝鮮國勢調査報告』, the 結果表 volume — the results tables, which is where the figures drawn here are printed. Ages pp. 10–11, the register and nationality tables 19–20, and occupation table 40.
- Korean population, 1942 For 1942, 朝鮮總督府『昭和十七年 朝鮮人口動態統計』, the 結果表 volume, 附録 p24 (estimated population, 1 October 1942).
- Korea coastline and administrative boundaries National Institute of Korean History, Historical Geographic Information Database (역사지리정보DB), "Historical Administrative Districts" layer. Compiled from the Chōsen Government-General Gazette (朝鮮總督府官報), the 1912 地方行政區域名稱一覽 (the 1929 edition is at NDL) and the 1917 新舊對照朝鮮全道府郡面里洞名稱一覽. Distributed in ESRI Shapefile, EPSG:5179 (UTM-K / GRS80). 행정구역 GIS 데이터 (1910~1945년) (accessed 29 August 2026).
- The princely states of India, 1931. Georeferenced from the atlas volume of the Imperial Gazetteer of India, 1931. Digital South Asia Library
- French India - French India primarily done from Paul Palet's 1889 Inde. Nouvel atlas des colonies Françaises par Paul Pelet, 1889, No 14. A. Challamel, Éditeur, 5 rue Jacob, Paris. Gravé par R. Hausermann, Paris, Imp. Lemercier et Cie. Portuguese India. Also consulted 1920s Survey of India 1:126,720 map of Karikal. Sheet 58N/NE. and Territoire de Yanaon (en rose), un des cing Établissements français dans l'Inde, mieux connus sous le nom de Comptoirs de l'Inde (1932). Also consulted French Settlement of Chandernagore Surveyed Season 1870-71 with a portion of the River Hoogly, and of the Country on its Left Bank (1872)
- Portuguese India - Goa traced from 1892 Districto de Goa found here. Damão, Dandrá and Avely Nagar drawn in consultation with this map.
- Nepal, Afghanistan, Sikkim and Bhutan, 1931. From Natural Earth, and tweaked in consultation of the above 1931 Imperial Gazetteer sheet.
- British Weihaiwei and French Kwangchowan - Traced in consultation with several historical maps.
- OpenStreetMap Coastlines. Zooming in provides finer coastlines of the Ryukyus, the Bonins, the Volcano and Izu Islands, and of Micronesia and Melanesia — the Marianas, Palau, the Carolines with Truk, Ponape and Kusaie, the Marshalls, the Bismarcks, Bougainville, the Solomons, the Louisiades and the Gilberts — and the names of nineteen hundred islands in them, with the group each belongs to. These come from OSM coastline sources.
© OpenStreetMap contributors, available under the Open Database Licence. Map data and any derived database are ODbL; the coastline geometry drawn here is a Produced Work under that licence. OSM Coastlines
Rivers
- Natural Earth, 1:10m rivers and lake centrelines. The Yangtze and the Yellow River; Indian rivers. Public domain. Two hand-drawn tails were needed: Natural Earth's Yangtze centreline stops about 200 km short of the sea, and its Yellow River stops short of the Gulf of Chihli.
- The 1938–47 course of the Yellow River is redrawn from the channel map first seen at disasterhistory.org but originally from a map at this article: Archived on Archive.org.
Japanese Occupations and the line of control
- The starting point of inspiration was the line of control drawn in Andrew Gordon's map in his textbook A Modern History of Japan, and modifications below were then begun from there to fit the December, 1942 date.
- The Pacific mandates — Japan's South Seas Mandate, Australia's Territory of New Guinea and the British mandate over Nauru — are traced from the Outline Chart of the World map produced by the U.S. Navy Hydrographic Office. Held at Princeton University, call number G3201.A1.1927.H9 and may be viewed online here.
- Japan's population, 1940 昭和十五年国勢調査人口 全国・道府県, printed pp. 17–19, from the 1940 statistical yearbook scanned and hosted by the Program for Constructing Data Infrastructure for the Humanities and Social Sciences, Institute of Economic Research, Hitotsubashi University (一橋大学経済研究所 人文学・社会科学データインフラストラクチャー構築推進事業). The forty-seven prefectures at the census of 1 October 1940, with the census's own division of every total into those registered in Japan proper (內地人), those registered in the 外地 (外地人) — 1,265,049 of them, chiefly Koreans — and foreign nationals, and beside them the service personnel, who are counted inside each total rather than added to it. Checked against the report's own arithmetic before it was used: the forty-seven sum to the printed 73,114,308 and to its male and female totals exactly, male plus female is the total in every row of all three tables, the three registers add to the total everywhere, and 銃後人口 plus 軍人軍属 does too. The report prints the country both with and without Okinawa, which was surveyed on a different footing; this map draws Okinawa, so it uses the 73,114,308 that includes it. The areas are the ones measured for 1930, both dates drawing the same forty-seven shapes. From the same yearbook, 第5表 民籍または国籍および男女別人口(全人口)pp. 362–363 gives the country as a whole by race or nationality, and Japan's card carries it: the four 外地 registers — 1,241,315 Koreans, 22,499 Taiwanese, 986 from Karafuto and 249 from the South Seas Mandate — and the seventy-five foreign nationalities, of which every one of a hundred or more is named, the source's own その他 kept as a line of its own, and the remaining fifty given in one line of 1,006. The 537 白系露人 are counted as a nationality of their own, stateless since 1921. Checked: the three registers add to 73,114,308, the four 外地 to 1,265,049, and the seventy-five nationalities to 39,237, in the total, the male and the female column alike.
- Manchukuo's population, May 1943 滿洲國『臨時國勢調査報告』, 第一表 新京特別市及省別人口 p5, the density plate 第一圖 at the front of it, and 第二表 民族省別人口 pp6–7. 新京特別市 and the nineteen provinces, with the report's own provisional areas (暫定面積), its own sex ratios and its own densities. Everything was checked against the report's own arithmetic before it was used: the twenty rows sum to the printed 43,202,880 and to the printed area of 1,303,143.252 km² to the last of three decimals, male plus female is the total in every row, and both derived columns recompute from the printed figures to within 0.05. The map draws fourteen of these provinces, not nineteen — its Manchukuo is traced from a 1935 sheet, and 通化, 北安, 東安, 四平 and 牡丹江 were made out of those fourteen afterwards, none of them from a single parent, so they cannot be added back. Six of the fourteen actually lost ground — 奉天, 安東, 濱江, 龍江, 三江 and 吉林, which is where those five were cut from — and the rest are unchanged. The fourteen shapes hold 35,695,802 of the 43,202,880 with the capital among them; the other 7,507,078 are in the five provinces that have no shape, which are in the table without one. 新京特別市 is added into 吉林省, the capital being a special municipality by 1943 but standing on ground inside the 吉林 this map draws, so that the shape and the figure cover the same ground; the dot on 新京 keeps the city's own 555,009 and is marked as counted inside it. Every province card says in one sentence that its outline is georeferenced from a 1935 map, and the six that the later provinces were taken out of are left blank rather than shaded — a 1943 density drawn on any of them would spread its people over ground that had stopped being theirs. The eight that kept every acre are shaded, on the densities the report itself prints, over the areas it itself prints and not over the polygons. The choropleth reproduces the report's own five classes (5, 20, 40 and 100 to the square kilometre) rather than fitting a ladder of its own; the plate's sixth class is 新京特別市 alone at 1,268.2, which this map draws as a point. The nationality table gives Manchukuo whole — 滿洲人 with its Manchu, Han, Mongolian and Hui divisions, 日本人 with its Japanese, Korean and other, 第三國人 and 無國籍人 — every one of which balances on its parts and on male plus female. Its province rows are not transcribed.
- Manchukuo is traced from 滿洲國地圖 1935, published by the research section of the South Manchuria Railway Company (南滿洲鐡道株式會社資料課). A digital version is available online at the International Research Center for Japanese Studies (Nichibunken) library, no. 004863874 and can be viewed here.
- The Kwantung Leased Territory is traced by hand from the above 1935 sheet.
- Japanese Occupation of China (Approximate) and Resistance Base Areas - This layer is drawn from the Chinese atlas of the Sino-Japanese War 武月星主編,《中國抗日戰爭史地圖集:1931–1945》 (Wu Yuexing, ed., Historical Atlas of China's War of Resistance against Japan, 1931–1945) p199 for 1941-2 years.
- The North China Area Army's own security map, September 1942 — the alternative reading offered in Layers. 付図第五「北支那方面軍占拠地域内治安概況(昭和十七年九月中)」, an appendix to 防衛庁防衛研修所戦史室 編『北支の治安戦<2>』(戦史叢書 第50巻, 東京: 朝雲新聞社, 1971), held by the National Institute for Defense Studies and readable there in full. Traced and published as kmlawson.github.io/1942-occupation-map. See this blog post on Frog in a Well for more discussion. Two of the sheet's three categories are areas and are drawn here: pacified 治安地区, and un-pacified 未治安地区. The third, semi-pacified 準治安地区, is what the sheet leaves blank, and it is left blank here, so unshaded ground inside north China is not securely controlled by anyone, according to that map.
nids.mod.go.jp/military_history_search/SoshoView?kanno=050
- Mengchiang and Outer Mongolia are traced from the above mentioned 支那全土並附近大地圖 (Shina zendo narabi fukin daichizu · Ōshū gensei daichizu), a Japanese sheet of 1940. Various Chinese language histories of Japanese occupied inner Mongolia were then consulted to find settlements that are likely to have been occupied around 1942. This was then made visually distinct from the full claimed territories for Mengjiang which includes unoccupied areas to the west of Baotou.
- The line of control in south China - These are pieced together from various textual sources on the extent of the occupation. The line of control is drawn approximately to include places where Japanese forces were known to be garrisoned or where "puppet" administrations were set up. These areas can definitely be improved.
- Saharat Thai Doem — Kengtung and the trans-Salween Shan states — follows the map by Xufanc on Wikimedia Commons, CC BY-SA 4.0, taken district by district rather than cut off with a straight line. File:Saharat_Thai_Doem_map.png shows the territory Japan actually granted rather than everything Thailand claimed in the Shan and Karenni states.
Projection. The map is drawn on a Pacific-centred frame running 66°E–206°E and 13°S–55°N — British India to Pearl Harbor, Sakhalin to northern Australia. Longitudes are normalised to 0–360 so the map is continuous across the antimeridian. Three projections are offered in Layers, and the map is re-projected in the browser rather than re-fetched:
- Web Mercator, the sheet as built and the one the map opens on.
- Albers equal-area conic, on 117.5°E with standard parallels at 12.5°N and 37.5°N.
- Lambert azimuthal equal area, centred on 25°N 115°E.
Transport
Taiwan Railways These were primarily based on the 日治時期鐵路分布圖 (CC BY-NC-SA 3.0 Taiwan) 0703b which was reprojected to TWD97. The map seems to align quite closely with historical maps where drawn. However, this map was missing several things needed for the 1930 and 1942 maps. The Hualien to Taidong line was added for both 1930 and 1942. The Hualien 1939 port extension for the 1942 map and a missing coastal station was added for 海岸驛 at 南濱 for the 1930 map. Part of the 宜蘭 line in the north was missing, as was its branch line to 菁桐坑. The 集集線 and 明治製糖南投線 departing east out of 二水 were also added to both maps. All of these were traced from 1944 1944-美軍地形圖-1:25,000 : AM25K_1944A. 東港 line and 溪州/南州—枋寮 lines in the south are kept for 1942, removed for 1930 map. There are a variety of lines found on railway maps that are lines for sugar refineries and mines but some of these carried passengers. This dataset may need to be updated to take that in to account and better represent the full network.
Korea Railways The Korean railways make use of the 근대 철도 DB dataset by 김종혁. 「근대 철도 DB」, 2027년 8월. The lines were filtered for those created before 1931 for the 1930 map and those created before 1943 for the 1942 map. The stations were clipped as needed for each. The dataset has not yet been closely checked with contemporary maps for accuracy. Japanese names were romanized through a combination of best-guess automated romanization and looking for entries online through Japanese Wikipedia etc. This work needs to be done more methodically from scratch for better accuracy. Hangul names were romanized for McCune-Reischauer.
Train Tools, Taiwan 1936 The working timetable behind the Train Tools is the transcription published at kmlawson.github.io/taiwan-1936-timetable, taken from the February 1936 timetable of the Railway Department of the Governor-General of Taiwan (臺灣總督府交通局鐵道部), which can be read at the Internet Archive. It carries 346 trains over the seven passenger lines, with 5,372 calls between them, and the track between consecutive stops. The eighteen printed tables are reproduced whole at the timetable page, and a station's card links to the table for its line. That page reads in English, Chinese or Japanese at the press of a button — the title, the links, the legend and the headings, but never the tables, which are a transcription and are left as printed; the column headings are translated in English only, with the printed word kept on the cell. Station names there carry their reading on a second line, kana in Japanese and Mandarin with tone marks otherwise, from the same station table the map uses.
Station readings Japanese readings are only ever taken from a source that states them in kana, never worked out from the characters — 萬里橋 is Maribashi and 鹿野 is Shikano, and no amount of on-yomi gets you there. tools/fetch_tw_station_readings.py takes the furigana from the lede of a ja.wikipedia station article and converts the kana by table; where there is no article, or none with furigana, the reading is left empty and marked unverified rather than guessed. 「駅名読み方大全」 is the other source consulted: it gives a 駅名一覧表 with kana for every station on a line, and it covers Karafuto — 樺太東線, 樺太西線, 川上線 and 豊真線 — from which 敷香 しくか and 真岡 まおか are taken. Its 台湾地区 and 朝鮮地区 sections exist but are empty as of September 2026, so Taiwan's fifty-two unread stations are still waiting on a source.
Train Tools, Korea 1938 The Korean network behind the Train Tools is transcribed from 朝鮮列車時刻表 (1938), a 朝鮮・滿洲・內地 pocket timetable carrying the revisions of December 1937 and January 1938, which can be read at the Internet Archive. It carries 1,666 trains over 74 lines calling at 1,302 stations, 695 of them placed from the NIKH historical GIS of Korean railways (checked by 김종혁), with the track between consecutive stops traced along the 1942 line geometry. The 173 printed tables are reproduced whole at the timetable page, and a station's card links to the table for its line. The Manchurian and Japanese pages and the four ferries are carried as the network the Korean tables connect to: their stations sit at the point of a city this map already draws and the track between them is a straight chord, so they are drawn faint, say so on their cards, and are off until the reader asks for them. The pages were transcribed by Claude Code's vision model and have not yet been checked by a human; that is planned, and corrections are welcome.
Japan Railways - The Japanese lines for 1930 and 1942 are filtered from the dataset provided by the 国土交通省国土数値情報ダウンロードサイト. The source's survey begins in 1950, so railways that closed before 1950 are likely to be missing from the data. A line or a station is drawn on a date when its 供用開始年 — the year service began — is that date or earlier: 1,806 lines and 10,639 stations on the 1930 map, and with the 171 lines and 2,161 stations opened between 1931 and 1942, 1,977 and 12,800 on the December 1942 map. Press a line for its name and the year it opened, or a station for the same. 915 of the 1,977 lines carry a link to their Wikipedia article — the English one where there is one and the Japanese one otherwise — and 910 a romanisation, which is taken from the article's own title or the reading in its lede and never worked out from the characters; a line without one is shown by its characters alone. The card leads with the romanisation, or with the characters where Kanji labels is on. The drawn course is thinned to 40 m, which keeps 83,829 of the source's 877,918 vertices and is about a screen pixel at the closest the map will go.
Burma Railways - The railways of Burma are traced for this map and drawn on both dates: thirty lines, 6,081 km of route, and the metre-gauge network had reached its full extent in the 1920s, so it stood in December 1942 where it stood in 1930 — under Japanese control by then, and with bridges down, but the rails in the same places. Lines only. The trace names neither the lines nor the stations, so there is nothing to press and no stations are drawn; the layer is the shape of the network and claims no more than that. 560 of its 586 vertices survive the build.
Karafuto Railways and Timetable The railway lines were first traced from 最新樺太地圖 附全樺太及北海道略圖 but these did not provide enough detail. The line was corrected by examining remnant contemporary train lines and tracks from the ESRI Satellite layer. This still left considerable ambiguities in the area between 手井 in the west and 豊原 in the east. Then an inspection of the detailed 樺太路線図 at 時刻表倉庫 suggested that this had been done with significant care, so this source was used to further correct and update the lines layer, with occasional consultation with the 1947 U.S. Army Map Eastern Siberia maps cited by the 時刻表倉庫 as a source. The timetables for the railway come from 樺太国有鉄道列車時刻表 1935. The fourteen printed tables are reproduced whole at the timetable page. Station names in the 1935 timetable, which was OCRed and reassembled with Claude Fable 5.1, were then manually proofread against the 1947 U.S. Army Map to check the names and locations. Some of the station locations have no extant buildings on satellite, and in these cases I have followed the 時刻表倉庫 locations for them.
Air routes The Tokyo–Dairen trunk on the 1930 sheet is timed from the company's own 昭和五年四月改正 定期航空発着時刻及賃金表 (April 1930): two days each way with a night at Keijō in both directions, no service on Sundays, and the Osaka and Fukuoka calls made by seaplane at Kizugawajiri and Najima. Its fare table is the one this map carries — all twenty-one figures agree with the reading taken from 酒井正子's article, which is a check on both. The other services are drawn from 酒井正子「変容する世界の航空界・その4 日本の航空100年」, which reproduces the Japan Air Transport network and, on p101, the October 1938 – March 1939 timetable, citing 『航空輸送の歩み』大日本航空社史刊行会編, 1975, p65. The Tokyo–Dairen trunk's 1931 times are from the summer diagram in the same article; the fares from the same source add up leg by leg, which is what proves the reading of a printed triangle whose rows and columns are only implied by position. The Fukuoka–Naha–Taihoku line's opening and its first three-day-a-week schedule are from JACAR C05034292500 海軍省-公文備考-S10-78-4892 (1935), and a 1938 note on its aircraft, fares and the mail-only Tainan–Makō leg from 旅程と費用概算, p893. The Yokohama–Saipan–Palau flying boat's April 1939 schedule is from JACAR C01007343400 陸軍省-大日記乙輯-S14-13-41.
The Dutch networks on the 1942 sheet are two documents, both older than the map they are drawn on. The KLM trunk from Amsterdam is the summer service of 29 March 1938, which the frame catches from Karachi eastward — four days to Bandoeng, leaving Karachi on Mondays, Thursdays and Saturdays. The twenty-six KNILM lines across the Indies — twenty-five inside them and one out to Manila — are from the Complete Map of the Airlines of K.N.I.L.M. of about 1935, which is a route map and not a timetable: the lines are drawn and nothing is said about when they flew. By December 1942 neither network was running — the Japanese had taken the Indies that spring — and each card says so. They are drawn to show what had been there.
The 1930 sheet carries three lines of the China National Aviation Corporation (中國航空公司), the Nationalist government's joint venture with Pan American: the lower Yangtze from Shanghai to Hankow, on up through the gorges to Chungking, and north up the coast to Peiping. They are read from the company's own timetable of about 1933 — the Yangtze services and the Chungking and Peiping routes — so they are three years later than the sheet they are drawn on, which is the nearest schedule found. On the Chungking line the source gives two departures a week and three returns, and the card says so.
Three European lines are here too. Air Orient's Marseilles–Saigon service, from its summer 1931 sheet, and Imperial Airways' India end from 16 May 1931, both on the 1930 map; and on the 1942 one, Imperial's August 1939 services to Darwin and to Calcutta, and Air France's 1938 line to Hong Kong. The last two run on across ground that was Japanese-held by December 1942 — Rangoon, Singapore, Saigon, Hanoi — and those stretches are drawn faint, kept out of the animation and still pressable, because leaving them off would say the network stopped where in fact only the sheet stops. Air Orient's and Air France's clocks are inferred from distance and are marked as such on every call.
Indian National Airways is on both sheets from the same collection of timetables: the Calcutta–Rangoon coast run and the Calcutta–Dacca shuttle on the 1930 map, from the sheet of 10 December 1933, and the Delhi–Karachi trunk down the Indus on the 1942 one, from November 1938. Their clocks are Indian standard time, as every line here keeps the local time of the country that flew it.
The 1930 sheet also carries two lines outside the Japanese and Chinese networks: the Philippine Aerial Taxi Company's hour from Manila up to the hill station at Baguio, from an undated brochure of about the mid-1930s — its card names the Paracale, INAEC and Philippine Air Lines services that followed and are not drawn — and the Aerial Transport Company of Siam's mail line up the Khorat plateau to the Mekong, from its 1933 timetable, which is two services on one line and is drawn as two.
A fifth 1930 line runs down the whole China coast — Shanghai to Canton by Wenchow, Foochow, Amoy and Swatow — which opened in October 1933 and is timed here from the company's 1935 schedule, the one found. Three more CNAC lines are on the 1942 sheet, from the company's October 1940 timetable: Chungking to Rangoon by Kunming and Lashio — the air equivalent of the Burma Road, and the one route out of free China once the coast had gone — and two provincial services, the Chengtu shuttle and the line up to Kiating.
Three lines of the Manchuria Aviation Company (満洲航空株式会社) are on the 1942 sheet from the company's winter 1935 timetable: the trunk from Harbin down through Shinkyō and Mukden to Dairen; the west line out along the Chinese Eastern Railway to the Soviet frontier at Manchouli, which is really two services and is drawn as two; and the pre-dawn run from Shinkyō to Shingishū that was the Manchurian end of the through service to Tokyo. Seven years earlier than the sheet, and each card says so.
The four China Airways lines on the 1942 sheet — Peking to Shanghai, to Dairen, west to Paotow, and the Yangtze services to Hankow — are read from the company's own 1940 timetable. 中華航空株式會社 was set up in December 1938, a joint concern of 大日本航空 and the Japanese-sponsored governments at Peking and Nanking. The brochure prints its places in characters only; 安慶 Anking is identified from the distance column, whose three Yangtze legs sum to the figure given for the nonstop and match the real spacing to within five per cent. Tientsin is marked as a call on two of the lines with no clock against it, and the times drawn there are inferred from the printed ends and distances — each card says which. The whole transcription is in data/air/README.md.
Also consulted: Mizusawa Hikari, "The Civilian Air Transportation Network that Linked Japan with Its Colonies", JACAR.
The July 1942 sheet. The aviation pages (118–121) of 満州支那汽車時間表 (Manshū Shina kisha jikanhyō), Japan's railway timetable for Manchuria, July 1942 issue (昭和17年7月號), photographed for this project, carry 滿洲航空's tables as revised on 1 June 1942 and 中華航空's as revised on 1 April 1942 — thirty-four lines, from the Shinkyō–Tokyo through flight to the Amur frontier posts of Huma and Mohe. They are on the 1942 map beside the winter-1935 and 1940 readings, not in their place, and every one is marked as that sheet's: the company string on the chooser and the card ends "July 1942 sheet" or "April 1942 sheet", the season names the 改正 stamp, and each has an ink of its own. Nine of the tables are headed 運休 (suspended); those are drawn dimmed with their printed times and are not flown. data/air/README.md has the reading, and its two awkward tables — a zigzag through Paoching, a misprinted distance — are explained there.
Download the geometry
The map's own shapes, in lon/lat as GeoJSON, for opening in QGIS or anything else. These are written before projection and before any thinning — they are what the map means rather than what it happens to look like at one scale — and they carry the atom key and the unit name, so a file can be joined to the tables above.
- Administrative units — 550 units across 46 countries and colonies: the provinces, prefectures, 州廳, districts and states the Administrative layer draws. 13 MB.
- Land — 84 outlines, one per atom: the countries, colonies and island groups as whole shapes, without their internal divisions. 7 MB.
- The occupied zone, December 1942 — five blocks, traced from a period map and adjusted. Approximate, and generous: Japanese control ran along the railways and around the cities. Clip it to the land to get what the map draws.
- The Yellow River before 1938 — the bed it held from 1855, reaching the sea through the Gulf of Chihli.
- The Yellow River, 1938–1947 — after the dikes were cut at Huayuankou in June 1938: down the Chia-lu into the Ying, the Ying into the Huai, and through Hungtse Lake and the Grand Canal into the Yangtze.
- The Yangtze
The shaded relief
Not geometry — nine images, one for each of three levels of detail in each of the map's three projections, and the map fetches whichever pair the reader's zoom and projection ask for. They are here as direct downloads because there is nothing else to hand over: a raster has no shapes to write.
They are already projected, so each is only true of the projection in its name; the extent is the map's own frame. Derived from public-domain elevation data — see the note above on the relief.
Licences follow the sources each shape came from — most are Natural Earth (public domain), geoBoundaries (CC BY), OpenStreetMap (ODbL) or the datasets named above; the traced layers are this project's own. Check the entry for the shape you are using.
For a single shape, ask the map. Right-click any polygon (or press and hold on a touch screen) and it offers that unit, its group where it has one, and the whole layer it belongs to — along with the coordinates under the pointer and a short note on where the shape came from. Those files are the drawn geometry and carry the thinning the map draws at; the files above do not, which is why both exist.
Software
Georeferencing of various historical maps done with QGIS. Website code created with Anthropic's Claude, with Konrad Lawson at the prompt. No third-party JavaScript libraries: the page is plain HTML, CSS and JavaScript, and the build scripts use only the Python standard library.
← back to the map