Modul:Stadtteil: Unterschied zwischen den Versionen
(args überflüssig) |
(args["Ehemals"]) |
||
| (16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local com = require("Modul:Common") | local com = require("Modul:Common") | ||
local fab = require("Modul:Faktenbox") | local fab = require("Modul:Faktenbox") | ||
local wik = require("Modul:Wiki") | |||
local kar = require("Modul:Karte") | |||
function p.Faktenbox(frame) | function p.Faktenbox(frame) | ||
-- mw. | -- mw.logObject(frame, "Faktenbox(frame)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.Faktenbox{pargs={["Stadtbezirk"]="NSOW",["Eingemeindungsdatum"]="1971/01/21",["Stadtteil"]="BlaStadtteil",["Fläche"]="123" }} | -- =p.Faktenbox{pargs={["Stadtbezirk"]="NSOW",["Eingemeindungsdatum"]="1971/01/21",["Stadtteil"]="BlaStadtteil",["Fläche"]="123" }} | ||
| Zeile 14: | Zeile 16: | ||
fbdata.kategorie = {"Stadtteile"} | fbdata.kategorie = {"Stadtteile"} | ||
fbdata.formular = "Stadtteil" -- ggf. "Stadtteil/Work" | fbdata.formular = "Stadtteil" -- ggf. "Stadtteil/Work" | ||
fbdata.positionscheck = true | |||
-- Tabs einsammeln und zusammenfügen | -- Tabs einsammeln und zusammenfügen | ||
| Zeile 22: | Zeile 25: | ||
p.datenTab(fbdata) .. | p.datenTab(fbdata) .. | ||
"</tabs></div>" | "</tabs></div>" | ||
-- Stadtteil-spezifische Kategorien usw. | |||
box = box .. "[[Kategorie:" .. fbdata.pagename .. "|*]]" | |||
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | -- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...) | ||
box = box .. fab.common(fbdata | box = box .. fab.common(fbdata) | ||
-- mw. | -- mw.logObject(box, "box") | ||
-- Pre-Processing und String-Länge checken | -- Pre-Processing und String-Länge checken | ||
box = fbdata.frame:preprocess(box) | box = fbdata.frame:preprocess(box) | ||
box = box .. com.returnStringCheck(box) | box = box .. com.returnStringCheck(box) | ||
-- mw. | -- mw.logObject(box, "box") | ||
return box | return box | ||
end | end | ||
function p.datenTab(fbdata) | function p.datenTab(fbdata) | ||
-- mw. | -- mw.logObject(fbdata, "datenTab(fbdata)") | ||
--[[ Konsolenzeile zum Debuggen: | --[[ Konsolenzeile zum Debuggen: | ||
fab=require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={ | fab=require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={ | ||
| Zeile 56: | Zeile 61: | ||
t = t .. "<dl class = 'dataTable'>" | t = t .. "<dl class = 'dataTable'>" | ||
t = t .. fab.zeileKategorieSeite(fbdata) | t = t .. fab.zeileKategorieSeite(fbdata) | ||
t = t .. fab.zeileDatum{attr_date="Eingemeindungsdatum | t = t .. fab.zeileDatum{attr_date = "Eingemeindungsdatum", date = fbdata.pargs["Eingemeindungsdatum"] or "", attr_text = "Eingemeindung", attr_day = "Eingemeindungstag", attr_year = "Eingemeindungsjahr"} | ||
t = t .. fab.zeileDatum{attr_date="Erschließungsdatum", date=fbdata.pargs["Erschließungsdatum"], attr_day="Erschließungstag", attr_year="Erschließungsjahr"} | t = t .. fab.zeileDatum{attr_date = "Erschließungsdatum", date = fbdata.pargs["Erschließungsdatum"] or "", attr_text = "Erschließung", attr_day = "Erschließungstag", attr_year = "Erschließungsjahr"} | ||
t = t .. fab. | t = t .. fab.zeile{attr_name = "Ehemals", fbdata = fbdata} | ||
t = t .. fab.zeile{attr_name="Stadtteil", attr_text="Gehört zu Stadtteil", | t = t .. fab.zeile{attr_name = "PLZ", fbdata = fbdata, delimiter = ";"} | ||
t = t .. fab. | t = t .. fab.zeile{attr_name = "Stadtbezirk", fbdata = fbdata} | ||
t = t .. fab.zeile{attr_name=" | t = t .. fab.zeile{attr_name = "Stadtteil", fbdata = fbdata, attr_text = "Gehört zu Stadtteil", delimiter = ";"} | ||
t = t .. fab.zeile{attr_name="Bevölkerung", attr_text="Bevölkerung" .. bemerkungshinweis | t = t .. fab.zeile{attr_name = "StatistischerBezirk", fbdata = fbdata, delimiter = ";"} | ||
t = t .. fab.zeile{attr_name="Haushalte", attr_text="Haushalte" .. bemerkungshinweis | t = t .. fab.zeile{attr_name = "StatistischerDistrikt", fbdata = fbdata, delimiter = ";"} | ||
t = t .. fab.zeile{attr_name = "Fläche", fbdata = fbdata, attr_text = "Fläche" .. bemerkungshinweis, val_prefix="ca.", val_postfix="km<sup>2</sup>"} | |||
t = t .. fab.zeile{attr_name = "Bevölkerung", fbdata = fbdata, attr_text = "Bevölkerung" .. bemerkungshinweis, val_prefix="ca."} | |||
t = t .. fab.zeile{attr_name = "Haushalte", fbdata = fbdata, attr_text = "Haushalte" .. bemerkungshinweis, val_prefix="ca."} | |||
if bemerkungshinweis ~= "" then | if bemerkungshinweis ~= "" then | ||
t = t .. fab.zeile{attr_name="Bemerkung", | t = t .. fab.zeile{attr_name = "Bemerkung", attr_val = fbdata.pargs["Bemerkung"] or "", attr_text = "*)"} | ||
end | end | ||
t = t .. fab. | t = t .. fab.zeileGeoDaten(fbdata) | ||
t = t .. "</dl>" | t = t .. "</dl>" | ||
t = t .. fab. | t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata) | ||
-- Tab draus machen | -- Tab draus machen | ||
t = fab.tab(t, "Daten") | t = fab.tab(t, "Daten") | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.kartenTab(fbdata) | function p.kartenTab(fbdata) | ||
-- mw. | -- mw.logObject(fbdata, "kartenTab(fbdata)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- fab=require("Modul:Faktenbox | -- fab=require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={["lat"]="49",["lon"]="11",["location"]="Altstadt, Fürth, Bayern, Deutschland",["geojson"]="Altstadt",["zoom"]="11",["GeoJsonKarte"]="Ja",["Debug"]="Ja"}}; fbdata.pagename="Altstadt"; print(p.kartenTab(fbdata)) | ||
t = "" | local t = "" | ||
if string.find(fbdata.pagename, ";") ~= nil then | if string.find(fbdata.pagename, ";") ~= nil then | ||
t = "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!" | t = t .. "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!" | ||
else | else | ||
local | -- Karten-Argumente übernehmen und aufbereiten | ||
local args = fab.getKartenArgs(fbdata, 13, {"Ehemals"}) | |||
-- location ermitteln | |||
if args["location"] == nil and not com.isTrue(args["Ehemals"]) then | |||
-- suburb probieren | |||
local location = "suburb " .. fbdata.pagename .. ",Fürth,Bayern,Deutschland" | |||
local geocode = fbdata.frame:callParserFunction("#geocode", location) | |||
if geocode == "Geocoding failed" then | |||
-- nochmal nackt probieren, wenn keine Koordinate übergeben | |||
if args["lat"] == nil or args["lon"] == nil then | |||
location = fbdata.pagename .. ",Fürth,Bayern,Deutschland" | |||
geocode = fbdata.frame:callParserFunction("#geocode", location) | |||
end | |||
end | |||
if geocode ~= "Geocoding failed" then | |||
args["location"] = location | |||
args["geocode"] = geocode | |||
end | |||
end | |||
-- Karte erstellen | |||
-- mw.logObject(args, "args") | |||
t = t .. kar.karte(fbdata.frame, args) | |||
end | end | ||
-- Tab draus machen | -- Tab draus machen | ||
t = fab.tab(t, "Karte") | t = fab.tab(t, "Karte") | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
return p | return p | ||
Aktuelle Version vom 12. November 2025, 09:51 Uhr
Seiten-Übersicht
| Hauptseite | Unterseiten | ||
|---|---|---|---|
| Allgemein | |||
| Faktenbox | Vorlagen | ||
| Formulare |
|
||
| Module | |||
| Abfrage | Vorlagen |
| |
| Formulare |
| ||
| Sonstige | |||
Siehe auch
local p = {}
local com = require("Modul:Common")
local fab = require("Modul:Faktenbox")
local wik = require("Modul:Wiki")
local kar = require("Modul:Karte")
function p.Faktenbox(frame)
-- mw.logObject(frame, "Faktenbox(frame)")
-- Konsolenzeile zum Debuggen:
-- =p.Faktenbox{pargs={["Stadtbezirk"]="NSOW",["Eingemeindungsdatum"]="1971/01/21",["Stadtteil"]="BlaStadtteil",["Fläche"]="123" }}
-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
local fbdata = fab.fbdata(frame)
fbdata.klasse = {"Stadtteil"}
fbdata.kategorie = {"Stadtteile"}
fbdata.formular = "Stadtteil" -- ggf. "Stadtteil/Work"
fbdata.positionscheck = true
-- Tabs einsammeln und zusammenfügen
local box =
"<div class = factbox><tabs>" ..
p.kartenTab(fbdata) ..
fab.bildTab(fbdata) ..
p.datenTab(fbdata) ..
"</tabs></div>"
-- Stadtteil-spezifische Kategorien usw.
box = box .. "[[Kategorie:" .. fbdata.pagename .. "|*]]"
-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
box = box .. fab.common(fbdata)
-- mw.logObject(box, "box")
-- Pre-Processing und String-Länge checken
box = fbdata.frame:preprocess(box)
box = box .. com.returnStringCheck(box)
-- mw.logObject(box, "box")
return box
end
function p.datenTab(fbdata)
-- mw.logObject(fbdata, "datenTab(fbdata)")
--[[ Konsolenzeile zum Debuggen:
fab=require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={
["Stadtbezirk"]="NSOW",
["Eingemeindungsdatum"]="1971/01/21",
["Stadtteil"]="BlaStadtteil",
["Fläche"]="123" }};
fbdata.klasse={"Stadtteil"}; fbdata.kategorie={"Stadtteil"}; fbdata.fullpagename="Espan"; fbdata.subpagename="Espan";
print(p.datenTab(fbdata))
]]
local t = ""
local bemerkungshinweis = ""
if fbdata.pargs["Fläche"] ~= nil or fbdata.pargs["Bevölkerung"] ~= nil or fbdata.pargs["Haushalte"] ~= nil then
bemerkungshinweis = "<sup>*)</sup>"
end
-- Zusammenbau
t = t .. "<dl class = 'dataTable'>"
t = t .. fab.zeileKategorieSeite(fbdata)
t = t .. fab.zeileDatum{attr_date = "Eingemeindungsdatum", date = fbdata.pargs["Eingemeindungsdatum"] or "", attr_text = "Eingemeindung", attr_day = "Eingemeindungstag", attr_year = "Eingemeindungsjahr"}
t = t .. fab.zeileDatum{attr_date = "Erschließungsdatum", date = fbdata.pargs["Erschließungsdatum"] or "", attr_text = "Erschließung", attr_day = "Erschließungstag", attr_year = "Erschließungsjahr"}
t = t .. fab.zeile{attr_name = "Ehemals", fbdata = fbdata}
t = t .. fab.zeile{attr_name = "PLZ", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{attr_name = "Stadtbezirk", fbdata = fbdata}
t = t .. fab.zeile{attr_name = "Stadtteil", fbdata = fbdata, attr_text = "Gehört zu Stadtteil", delimiter = ";"}
t = t .. fab.zeile{attr_name = "StatistischerBezirk", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{attr_name = "StatistischerDistrikt", fbdata = fbdata, delimiter = ";"}
t = t .. fab.zeile{attr_name = "Fläche", fbdata = fbdata, attr_text = "Fläche" .. bemerkungshinweis, val_prefix="ca.", val_postfix="km<sup>2</sup>"}
t = t .. fab.zeile{attr_name = "Bevölkerung", fbdata = fbdata, attr_text = "Bevölkerung" .. bemerkungshinweis, val_prefix="ca."}
t = t .. fab.zeile{attr_name = "Haushalte", fbdata = fbdata, attr_text = "Haushalte" .. bemerkungshinweis, val_prefix="ca."}
if bemerkungshinweis ~= "" then
t = t .. fab.zeile{attr_name = "Bemerkung", attr_val = fbdata.pargs["Bemerkung"] or "", attr_text = "*)"}
end
t = t .. fab.zeileGeoDaten(fbdata)
t = t .. "</dl>"
t = t .. fab.zeileSemantikBrowsenAbfrage(fbdata)
-- Tab draus machen
t = fab.tab(t, "Daten")
-- mw.logObject(t, "t")
return t
end
function p.kartenTab(fbdata)
-- mw.logObject(fbdata, "kartenTab(fbdata)")
-- Konsolenzeile zum Debuggen:
-- fab=require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={["lat"]="49",["lon"]="11",["location"]="Altstadt, Fürth, Bayern, Deutschland",["geojson"]="Altstadt",["zoom"]="11",["GeoJsonKarte"]="Ja",["Debug"]="Ja"}}; fbdata.pagename="Altstadt"; print(p.kartenTab(fbdata))
local t = ""
if string.find(fbdata.pagename, ";") ~= nil then
t = t .. "Semikolon im Artikel-/Seitennamen für korrekte Kartendarstellung nicht erlaubt!"
else
-- Karten-Argumente übernehmen und aufbereiten
local args = fab.getKartenArgs(fbdata, 13, {"Ehemals"})
-- location ermitteln
if args["location"] == nil and not com.isTrue(args["Ehemals"]) then
-- suburb probieren
local location = "suburb " .. fbdata.pagename .. ",Fürth,Bayern,Deutschland"
local geocode = fbdata.frame:callParserFunction("#geocode", location)
if geocode == "Geocoding failed" then
-- nochmal nackt probieren, wenn keine Koordinate übergeben
if args["lat"] == nil or args["lon"] == nil then
location = fbdata.pagename .. ",Fürth,Bayern,Deutschland"
geocode = fbdata.frame:callParserFunction("#geocode", location)
end
end
if geocode ~= "Geocoding failed" then
args["location"] = location
args["geocode"] = geocode
end
end
-- Karte erstellen
-- mw.logObject(args, "args")
t = t .. kar.karte(fbdata.frame, args)
end
-- Tab draus machen
t = fab.tab(t, "Karte")
-- mw.logObject(t, "t")
return t
end
return p