Module:DataMap
Jump to navigation
Jump to search
Documentation for this module may be created at Module:DataMap/doc
local p = {}
function p.getMapJson(pageId)
local pageTitle = mw.title.new(pageId)
if not pageTitle.exists then return nil end
local pageContent = pageTitle:getContent()
return pageContent
end
function p.toGeoJsonObject(mapData)
return mw.text.jsonEncode(mapData)
end
function p.toGeoJson(frame)
local pageId = frame.args[1]
local mapJson = p.getMapJson(pageId)
mw.log(mapJson)
local mapData = mw.text.jsonDecode(mapJson)
-- This assertion fails. Pain.
-- assert(mw.text.jsonEncode(mapData) == mapJson, "jsonEncode/jsonDecode are not bijective")
mw.log(mw.text.jsonEncode(mapData))
local geoData = mapData and p.toGeoJsonObject(mapData)
return mw.dumpObject(mapData)
end
return p