World Library  
Flag as Inappropriate
Email this Article

Prehistory of Taiwan

Article Id: WHEBN0009318453
Reproduction Date:

Title: Prehistory of Taiwan  
Author: World Heritage Encyclopedia
Language: English
Subject: History of Taiwan, List of archaeological sites in Taiwan, Spanish Formosa, Prehistoric Asia, Economic history of Taiwan
Collection: History of Taiwan, National Prehistories
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Prehistory of Taiwan


The prehistory of Taiwan, ending with the arrival of the Dutch East India Company in 1624, is known from archaeological finds throughout the island. The earliest evidence of human habitation dates back 20,000 to 30,000 years, when the Taiwan Strait was exposed by lower sea levels as a land bridge. Around 5,000 years ago farmers from the southeast Chinese coast settled on the island. These people are believed to have been speakers of Austronesian languages, which dispersed from Taiwan across the islands of the Pacific and Indian Oceans. The current Taiwanese aborigines are believed to be their descendants.

Contents

  • Geographical context 1
  • Late Paleolithic 2
  • Neolithic 3
  • Iron Age 4
  • See also 5
  • References 6

Geographical context

Taiwan is separated from the mainland by the shallow Taiwan Strait.

The island of Taiwan was formed approximately 4 to 5 million years ago on a complex convergent boundary between the continental Eurasian Plate and the oceanic Philippine Sea Plate. The boundary continues southwards in the Luzon Volcanic Arc, a chain of islands between Taiwan and the Philippine island of Luzon including Green Island and Orchid Island. From the northern part of the island the eastward continuation of the boundary is marked by the Ryukyu chain of volcanic islands.[1][2]

The island is separated from the coast of Fujian to the west by the Taiwan Strait, which is 130 km wide at its narrowest point. The most significant islands in the Strait are the Penghu islands 45 km from the southwest coast of Taiwan and 140 km from the mainland. Part of the continental shelf, the Strait is no more than 100 m deep, and has become a land bridge during glacial periods.[3]

Taiwan is a tilted fault block, with rugged longitudinal mountain ranges making up most of the eastern two-thirds of the island. They include more than two hundred peaks with elevations of over 3,000 m (9,843 ft). The western side of the island slopes down to fertile coastal plains. The island straddles the Tropic of Cancer, and has a humid subtropical climate.[4] The original vegetation ranged from tropical rainforest in the lowlands through temperate forests, boreal forest and alpine plants with increasing altitude.[5]

Late Paleolithic

During the Late Pleistocene glaciation, sea levels in the area were about 140 m lower than in the present day. As a result, the floor of the Taiwan Strait was exposed as a broad land bridge that was crossed by mainland fauna until the beginning of the Holocene 10,000 years ago.[3] A concentration of vertebrate fossils has been found in the channel between the Penghu Islands and Taiwan, including a partial jawbone designated Penghu 1, apparently belonging to a previously unknown species of genus Homo.[6]

In 1972, fragmentary fossils of anatomically modern humans were found at Chouqu and Gangzilin, in Zuozhen District, Tainan, in fossil beds exposed by erosion of the Cailiao River. Though some of the fragments are believed to be more recent, three cranial fragments and a molar tooth have been dated as between 20,000 and 30,000 years old. The find has been dubbed "Zuozhen Man". No associated artifacts have been found at the site.[7][8]

The oldest known artifacts are chipped-pebble tools of the Changbin culture (長濱文化), found at cave sites on the southeast coast of the island. The sites are dated 15,000 to 5,000 years ago, and similar to contemporary sites in Fujian. The primary site of Baxiandong (八仙洞), in Changbin, Taitung was first excavated in 1968. The same culture has been found at sites at Eluanbi on the southern tip of Taiwan, persisting until 5,000 years ago. The earliest layers feature large stone tools, and suggest a hunting and gathering lifestyle. Later layers have small stone tools of quartz, as well as tools made from bone, horn and shell, and suggest a shift to intensive fishing and shellfish collection.[9][10]

The distinct Wangxing culture (網形) was discovered in Miaoli County in northwest Taiwan in the 1980s. The assemblage consists of flake tools, becoming smaller and more standardized over time, and indicating a shift from gathering to hunting.[11]

Neolithic

Expansion of Austronesian languages and associated archeological cultures

Between 4000 and 3000 BC, the Dapenkeng culture (named after a site in Taipei county) abruptly appeared and quickly spread around the coast of the island, as well as Penghu. Dapenkeng sites are relatively homogeneous, characterized by pottery impressed with cord marks, pecked pebbles, highly polished stone adzes and thin points of greenish slate. The inhabitants cultivated rice and millet, and engaged in hunting, but were also heavily reliant on marine shells and fish. Most scholars believe this culture is not derived from the Changbinian, but was brought across the Strait by the ancestors of today's Taiwanese aborigines, speaking early Austronesian languages. Regarding the Dapenkeng, no ancestral culture on the mainland has been identified, but a number of shared features suggest ongoing contacts.[12][13] However, the overall neolithic-era of Taiwan strait is said, by scholars, to have been descended from mainland Chinese neolithic cultures, particularly the Hemudu and Majiabang cultures.[14]

Monolith from the Beinan Culture

In the following millennium, these technologies appeared on the northern coast of the Philippine island of Luzon (250 km south of Taiwan), where they, and presumably Austronesian languages, were adopted by the local population. This migration created a branch of Austronesian, the Malayo-Polynesian languages, which have since dispersed across a huge area from Madagascar to Hawaii, Easter Island and New Zealand. All other primary branches of Austronesian are found only on Taiwan, the urheimat of the family.[15][16][17]

The successors of the Dapenkeng culture throughout Taiwan were locally differentiated. The Fengpitou (鳳鼻頭) culture, characterized by fine red cord-marked pottery, was found in Penghu and the central and southern parts of the western side of the island, and a culture with similar pottery occupied the eastern coastal areas. These later differentiated into the Niumatou and Yingpu cultures in central Taiwan, the Niuchouzi (牛稠子) and Dahu cultures in the southwest, the Beinan Culture (see Beinan Cultural Park) in the southeast and the Qilin (麒麟) culture in the central east. The Yuanshan Culture (圓山) in the northeast does not appear to be closely related to these, featuring sectioned adzes, shouldered-stone adzes and pottery without cord impressions. Some scholars suggest that it represents another wave of immigration from the mainland, but no similar culture is known from there either.[18]

Iron Age

A young Tsou man

Artifacts of iron and other metals appeared on Taiwan around the beginning of the Common Era. At first these were trade goods, but by around 400 AD wrought iron was being produced locally using bloomeries, a technology possibly introduced from the Philippines. Distinct Iron Age cultures have been identified in different parts of the island: the Shihsanhang Culture (十三行文化) in the north, the Fanzaiyuan Culture (番仔園) in the northwest, the Daqiuyuan Culture (大邱園) in the hills of southwest Nantou County, the Kanding Culture in the central west, the Niaosung Culture in the southwest, the Guishan Culture (龜山) at the southern tip of the island, and the Jingpu Culture (靜浦) on the east coast. The earliest trade goods from China found on the island date from the Tang dynasty (618–907 AD).[19][20]

See also

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
  3. ^ a b
  4. ^
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^
  10. ^
  11. ^
  12. ^ Jiao (2007), pp. 91–94.
  13. ^
  14. ^
  15. ^
  16. ^
  17. ^
  18. ^ Jiao (2007), pp. 94–103.
  19. ^
  20. ^
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.