Обсуждение модуля:Statistical
Согласно принятому решению, на эту страницу перенесено содержимое страницы Модуль:StatisticalOnYear. Действие выполнено по итогам обсуждения на странице Википедия:К объединению/20 апреля 2020. Список авторов интегрированных статей доступен через их историю правок. |
formatNum[править код]
formatNum формирует числа в читаемом виде, с разбивкой по разрядам. Есть предложение простой пробел заменить на неразрывный.
То есть сделать замену конструкции:
format = {decimalMark = ",", groupMark = " ", groupMinLength = 5, groupOnlyIntegerPart = true}
- из строки 126, в текущей версии, на конструкцию:
format = {decimalMark = ",", groupMark = " ", groupMinLength = 5, groupOnlyIntegerPart = true}
- по моему этого достаточно. @Игорь Темиров: В противном случае пробел становится переносим и число может быть размазано по разным строчкам, в результате оно нечитаемо. --Туча 22:07, 14 мая 2015 (UTC)
- @Туча: Да, вы правы. Игорь Темиров 07:13, 15 мая 2015 (UTC)
Включён доступ к произвольным объектам Викиданных[править код]
Видимо, статистические таблицы скоро можно будет постепенно отправлять на пенсию. Население НП при наличии такой информации на Викиданных теперь можно получить из кода tonumber(mw.wikibase.getEntityObject('Q656'):getBestStatements('P1082')[1].mainsnak.datavalue.value.amount)
(mw.wikibase.getEntityObject('Q656'):formatPropertyValues('P1082'))
выдаёт "5 131 942±1"
, потому что всем влом настраивать другую точность). Правда, пока я что-то не вижу функции, которая бы получала "Q656"
из "Санкт-Петербург"
. Ignatus 14:51, 23 июня 2015 (UTC)
- @Ignatus: Отличная новость! Игорь Темиров 04:00, 24 июня 2015 (UTC)
Отмена работы параметра кэш[править код]
Темиров, у вас функция FormatH в коде заявлена, а не реализована, и в соответствующих строчках может происходить ошибка. Чем Вы тут собственно недовольны? --Туча 06:50, 6 ноября 2015 (UTC)
Примеры поведения:
{{Участник:Туча/Население|Краснодонецкая|Хеш}}:1385359418
{{Население|Краснодонецкая (Белокалитвинский район)|Хеш}}:662921844
{{Население|Краснодонецкая|Хеш}}:110825366--Туча 06:56, 6 ноября 2015 (UTC)
- ча, спасибо, что напомнили. Удалил. Игорь Темиров 07:32, 6 ноября 2015 (UTC)
- Почему нужно что то удалять, если можно просто сделать работоспособным? --Туча 08:09, 6 ноября 2015 (UTC)
- Не видите войну правок. Объясните, для чего это нужно. Игорь Темиров 08:12, 6 ноября 2015 (UTC)
- Я лишь вернул версию до всех изменений, это полное соответствие ВП:КОНС. А намёк на войну правок, и настрой на конфронтацию - это предложение что-то обсудить на СО с не аргументированной отменой правок, без открытия этого самого обсуждения. Если параметр ввёден и введён вами!!, то, вероятно, вам не нужно объяснять зачем он нужен, например для отладки и поиска ошибок. --Туча 08:17, 6 ноября 2015 (UTC)
- Да, я ввел эту функцию в первоначальном варианте, так как думал использовать шаблон из других вики, но потом выяснилось, что это невозможно и расчёт хеша нужен только внутри модуля. Я поблагодарил вас (спасибо, что напомнили) и удалил. Вы не возражаете, если я удалю найденную вами неиспользуемую, ошибочную, ненужную, не содержащую программного кода функцию? Игорь Темиров 08:24, 6 ноября 2015 (UTC)
- Я починил эту функцию, я нашел эту ошибку, то есть она понадобилась. Она нужна для исследования работы модуля. --Туча 08:33, 6 ноября 2015 (UTC)
- Для исследований существует личное пространство. Скопируйте к себе модуль и исследуйте. Игорь Темиров 08:53, 6 ноября 2015 (UTC)
- Да модуль можно укопироватся в личное пространство до посинения, Вы же потом не дадите ничего вставить из личного пространства обратно в модуль, как показывает практика и не раз. --Туча 08:57, 6 ноября 2015 (UTC)
- Для исследований существует личное пространство. Скопируйте к себе модуль и исследуйте. Игорь Темиров 08:53, 6 ноября 2015 (UTC)
- Я починил эту функцию, я нашел эту ошибку, то есть она понадобилась. Она нужна для исследования работы модуля. --Туча 08:33, 6 ноября 2015 (UTC)
- Да, я ввел эту функцию в первоначальном варианте, так как думал использовать шаблон из других вики, но потом выяснилось, что это невозможно и расчёт хеша нужен только внутри модуля. Я поблагодарил вас (спасибо, что напомнили) и удалил. Вы не возражаете, если я удалю найденную вами неиспользуемую, ошибочную, ненужную, не содержащую программного кода функцию? Игорь Темиров 08:24, 6 ноября 2015 (UTC)
- Я лишь вернул версию до всех изменений, это полное соответствие ВП:КОНС. А намёк на войну правок, и настрой на конфронтацию - это предложение что-то обсудить на СО с не аргументированной отменой правок, без открытия этого самого обсуждения. Если параметр ввёден и введён вами!!, то, вероятно, вам не нужно объяснять зачем он нужен, например для отладки и поиска ошибок. --Туча 08:17, 6 ноября 2015 (UTC)
- Не видите войну правок. Объясните, для чего это нужно. Игорь Темиров 08:12, 6 ноября 2015 (UTC)
- Почему нужно что то удалять, если можно просто сделать работоспособным? --Туча 08:09, 6 ноября 2015 (UTC)
- Чем вам не угадил параметр nocat, позволяющий не включать страницу ни в какие категории, тоже непонятно. Это достаточно общая практика в википедии, о том что такой параметр иногда полезен. Вы сами ставили мне в вину, что страница замусоривает категорию, и надо сделать чтобы тестовые страницы, для которых сообщение об ошибке является нормальной работой, туда не попадали. --Туча 08:27, 6 ноября 2015 (UTC)
- Вы не ответили на мой вопрос. Игорь Темиров 08:31, 6 ноября 2015 (UTC)
- Вы тоже не ответили на мой вопрос, зачем вы отменили мои правки. Любое изменение модуля почему-то воспринимается в штыки, я же ничего не поломал, зачем меня было отменять? --Туча 08:34, 6 ноября 2015 (UTC)
- Вы просто не обратили внимания. Повторю свой ответ: Да, я ввел эту функцию в первоначальном варианте, так как думал использовать шаблон из других вики, но потом выяснилось, что это невозможно и расчёт хеша нужен только внутри модуля. Я поблагодарил вас (спасибо, что напомнили) и удалил. Если какие-то слова или фразы непонятны, это не значит, что я не ответил. Просто напишите конкретно, что не поняли, и я распишу подробнее. Игорь Темиров 08:38, 6 ноября 2015 (UTC)
- Ну а теперь поставьте себя на место другой стороны. Человек потратил время, починил эту функцию, поэтому давайте теперь её удалим, потому что вам она не нужна, потому что вы этот свой кэш считаете в off line, ну и как? Если люди вас спрашивают что это за числа, то они должны быть в праве хотя бы их получить. Вот представьте, случился апокалипсис, перестал работать бот TemirovBot, перестал заходить в википедию Игорь Темиров, люди же в праве наверно будут отойти от концепции, что кэш имеет право знать только Игорь Темиров? --Туча 08:54, 6 ноября 2015 (UTC)
- Вы просто не обратили внимания. Повторю свой ответ: Да, я ввел эту функцию в первоначальном варианте, так как думал использовать шаблон из других вики, но потом выяснилось, что это невозможно и расчёт хеша нужен только внутри модуля. Я поблагодарил вас (спасибо, что напомнили) и удалил. Если какие-то слова или фразы непонятны, это не значит, что я не ответил. Просто напишите конкретно, что не поняли, и я распишу подробнее. Игорь Темиров 08:38, 6 ноября 2015 (UTC)
- Вы тоже не ответили на мой вопрос, зачем вы отменили мои правки. Любое изменение модуля почему-то воспринимается в штыки, я же ничего не поломал, зачем меня было отменять? --Туча 08:34, 6 ноября 2015 (UTC)
- Вы не ответили на мой вопрос. Игорь Темиров 08:31, 6 ноября 2015 (UTC)
- Только что заметил ваш комментарий к моему предыдущему вопросу. Отвечу тогда на ваш вопрос по поводу Чем вам не угадил параметр nocat?. А чем он мне не угодил? Вроде ничего против не имею. Это действительно выход. Если не получается скопировать модуль в личное пространство и экспериментировать там, то хотя бы так. Игорь Темиров 08:58, 6 ноября 2015 (UTC)
- Делаешь правку, отменяют и просят обсудить, но обсуждение не открывают. Когда задаешь прямой вопрос чем не угадила правка, то никакого ответа на самом деле нет, и даже говорится что это выход. Ну и зачем было отменять? Ничего не понимаю. Специально же делались изменения несколькими правками, что бы если есть возражения, отменялись только те изменения, по которым они есть. --Туча 09:36, 6 ноября 2015 (UTC)
- Согласен с вашими аргументами. Спасибо. Игорь Темиров 11:15, 6 ноября 2015 (UTC)
Возможность называть населённый пункт по разному[править код]
Сейчас в статье Чучковский район населенный пункт значится как Пет (Чучковский район), а в статье Пертовское сельское поселение как Пёт (Чучковский район), очень бы хотелось что бы вызов из шаблона Население работал в обоих случаях правильно. Полагаю вполне возможно реализовать что бы корректная работа была и в том и другом случае. К примеру, кто-нибудь будет называть его как Пёт (Рязанская область) и это тоже что бы не вызывало ошибку. Алясы это стандартная вещь во многих местах, когда одна и та же сущность может иметь несколько названий - реализовано через перенаправления даже в википедии. --Туча 09:52, 6 ноября 2015 (UTC)
- Туча Да, я видел ваши правки. Сам думал о чём-то подобном. Я хотел реализовать это через таблицы на странице хешей. Сейчас и так анализируется возврат на наличие таблицы в случае коллизий. Тогда понадобится добавить анализ первого аргумента таблицы. Если он числовой, то хеш подменяется хешем из таблицы. При таком алгоритме структура страницы региона останется неизменной. Да всё руки не доходят. Как вам такой вариант? Игорь Темиров 11:28, 6 ноября 2015 (UTC)
- Этот вариант был бы очень хорош если бы хеш таблицы были отсортированы по алфавиту, а не по хешу. --Туча 11:49, 6 ноября 2015 (UTC)
- При чём тут алфавит? Мы имеем устаревшее название. Вычисляем, ничего не подозревая, хеш. Обращаемся к странице хешей. Получаем ответ. Спрашиваем, а не таблица ли это? Если таблица, (начинается нововвведение) спрашиваем, не число ли первый аргумент? Если нет, то это коллизия и всё идёт по старому, если да, то заменяем хеш устаревшего названия на хеш нового названия, возвращённый таблицей. Игорь Темиров 12:01, 6 ноября 2015 (UTC)
- Хэш таблица не одна, а разбита на несколько частей, старое и новое название, если сортировка по алфавиту в одной её части скорей всего с вероятностью стремящейся к единице, а если сортировка по хэшу, то они с вероятностью стремящейся к единице в разных частях. --Туча 12:15, 6 ноября 2015 (UTC)
- Всё равно не пойму в чём проблема. Вместо cделанной вами правки [131830654]="RYA" будет [131830654]={1627890309, "RYA"}. Плюс описанный минимальный код в модуле. Страница региона при этом не нуждается в корректировке. Игорь Темиров 12:54, 6 ноября 2015 (UTC)
- А конструкции с вложенными массивами ещё хуже. Они же память жрут. На самом деле чем меньше вложенных массивов тем меньше нужно памяти, при одном и том же количестве данных. --Туча 13:29, 6 ноября 2015 (UTC)
- Если бы хэши были бы отсортированы по алфавиту, то ваш вариант мог бы выглядеть как
[131830654]=1627890309, [1627890309]="RYA",
и не было бы ни вложенных массивов, ни необходимости хватать соседнюю часть индекса. --Туча 13:47, 6 ноября 2015 (UTC)
- Всё равно не пойму в чём проблема. Вместо cделанной вами правки [131830654]="RYA" будет [131830654]={1627890309, "RYA"}. Плюс описанный минимальный код в модуле. Страница региона при этом не нуждается в корректировке. Игорь Темиров 12:54, 6 ноября 2015 (UTC)
- Хэш таблица не одна, а разбита на несколько частей, старое и новое название, если сортировка по алфавиту в одной её части скорей всего с вероятностью стремящейся к единице, а если сортировка по хэшу, то они с вероятностью стремящейся к единице в разных частях. --Туча 12:15, 6 ноября 2015 (UTC)
- При чём тут алфавит? Мы имеем устаревшее название. Вычисляем, ничего не подозревая, хеш. Обращаемся к странице хешей. Получаем ответ. Спрашиваем, а не таблица ли это? Если таблица, (начинается нововвведение) спрашиваем, не число ли первый аргумент? Если нет, то это коллизия и всё идёт по старому, если да, то заменяем хеш устаревшего названия на хеш нового названия, возвращённый таблицей. Игорь Темиров 12:01, 6 ноября 2015 (UTC)
- Этот вариант был бы очень хорош если бы хеш таблицы были отсортированы по алфавиту, а не по хешу. --Туча 11:49, 6 ноября 2015 (UTC)
Названия разные, а хэш один: есть проблема, но есть и решение[править код]
Запрос выполнен |
Сейчас в модуле есть кусок кода, оставшийся ещё со времён, когда подстраницы сопоставлений были модулями
if type(RegionPage) == "table" then RegionPage = RegionPage[PlaceName] end
По идее он должен работать для случаев, когда два разных названия дают один хэш и нет другой возможности (вроде скобочной проверки на "(название региона)") сличить НП с корректной базой регионов. Но это именно "по идее". Дело в том, что сейчас, без RUS-NNN модулей (а для отказа от них была более чем веская причина, так что возврат к этой схеме не вариант) Lua распознаёт тип данных выводимых "экзотических" строк не как table, а как string — доказательство чему мы можем видеть тут (я заставил свой тестовый модуль проверить тип данных, выводимый по комбинации {{Население/STA-005|107744721}} — этому хэшу соответствуют Гришенское в Алтайском крае и Жёлтинский в Челябинской области). Результат не заставит себя долго ждать: попытка сделать вызов {{Население|Гришенское|тс}} или {{Население|Жёлтинский|тс}} закономерно кончится fail'ом — см. здесь. В принципе, можно было бы подобную строку сделать распознаваемой таблицей в Lua через loadString ([1]). Проблема однако в том, что эта функция отключена в Scribunto, о чём можно прочитать тут. Есть ли выход из этой патовой ситуации? Можно, конечно, указывать регион вручную — как я и сделал сейчас в том самом Жёлтинском. Но это костыль, IMHO. А можно сделать поавтоматичнее:
- 1) вводится специальный "псевдорегион" STA-Multinames, которому такие хэши и должны сопоставляться;
- 2) если у хэша название региона указано как STA-Multinames, то производится вызов {{Население/STA-Multinames|хэш|название НП}}. Который, в свою очередь, и даст корректный регион. Так, для того же Жёлтинского вызов будет таким: {{Население/STA-Multinames|107744721|Жёлтинский}}, что даст нам правильный регион RUS-CHE. Результат —
{{У:Seryo93/Население|Жёлтинский|тс}}
.
Соответственно, прошу внести в модуль следующее изменение: после строки
if type(RegionPage) == "table" then RegionPage = RegionPage[PlaceName] end
включить новую строку следующего содержания:
if RegionPage == "STA-Multinames" then RegionPage = frame:expandTemplate{ title = ("Население/"..RegionPage), args = { PlaceHash, PlaceName } } end
С уважением, --Seryo93 (о.) 14:29, 10 августа 2017 (UTC)
- @Seryo93: Да есть такая проблема {{Население|Жёлтинский|х}}:107744721,{{Население|Гришенское|х}}:107744721, но отдельный модуль тоже костыль. Скорее логичнее было бы переделать GetHashData, то есть заменить:
function GetHashData(PlaceHash)
наfunction GetHashData(PlaceHash,PlaceName)
в 68 строчкеif (HashData=="") then HashData=nil
наif (HashData=="") then HashData= frame:expandTemplate{ title = templatename, args = { PlaceName } } if (HashData=="") then HashData=nil end
в 75 строчкеlocal RegionPage = GetHashData(PlaceHash)
наlocal RegionPage = GetHashData(PlaceHash,PlaceName)
в 137 строчкеRegionPage = GetHashData(PlaceHash)
наRegionPage = GetHashData(PlaceHash,PlaceName)
в 142 строчке.- А
if type(RegionPage) == "table" then RegionPage = RegionPage[PlaceName] end
в строке 144 совсем удалить.
Тогда бы колизии без всяких дополнительных модулей можно было бы разрешать в самих шаблонах. Таким способом: правки. --Туча 17:28, 25 июня 2018 (UTC)
- @Туча: Пока сделал уведомление при совпадении хешей. Почему не сделать ещё свитч в шаблонах и не передавать сразу два параметра - хеш и имя НП? Меньше кода и не будет повторных вызовов, как в вашем предложении. -- dima_st_bk 00:11, 7 марта 2019 (UTC)
- Сделано. -- dima_st_bk 11:55, 26 июня 2019 (UTC)
185 строчка[править код]
Запрос выполнен |
Хотелось бы что бы в случае таких ошибок как: Кетанда (село), Арка (Хабаровский край) - модуль не падал в строке 185:
Source1 = RegionData['Источники'][PlaceData[NumRecord][3]][1]
, а выдавал хотя бы что-то разумное:
Source1 = ( RegionData['Источники'] and string.format("{{%s}}",PlaceData[NumRecord][3]) ) or (RegionData['Источники'][PlaceData[NumRecord][3]] and PlaceData[NumRecord][3]) or RegionData['Источники'][PlaceData[NumRecord][3]][1]
То есть логика должна быть такая, на мой взгляд, если ошибка в одом источнике, в качестве этого источника подставь хоть что-нибудь, но таблицу итоговую по населению всё таки нарисуй нормальную. Данный кусок кода должен, если нет таблицы Источники, воспринимать параметр три как имя шаблона, а если таблица источники есть, но в ней нет соотвествующей записи, то как готовый и форматированный источник подставлять само поле три. --Туча 16:41, 25 июня 2018 (UTC)
- Похоже, что я не так давно что-то такое в упрощённой форме сделал — [2]. Статьи попадают в штрафную категорию. Serhio Magpie (обс.) 05:28, 7 февраля 2019 (UTC)
- Видимо Сделано. -- dima_st_bk 06:58, 2 апреля 2019 (UTC)
Интерполяция в графиках[править код]
Запрос выполнен |
Есть предложение, заменить
"interpolate": {"value": "monotone"}
на
"interpolate": {"value": "linear"}
(встречается там два раза). А то, смотрите, какие графики получаются
1926[1] | 2002[2] | 2007[3] | 2008[4] | 2010[5] |
---|---|---|---|---|
134 | ↘19 | ↗21 | ↗23 | ↗26 |
Землеройкин (обс.) 13:29, 16 августа 2018 (UTC)
- Комментарий: в обсуждении графика поднимался вопрос о линейной интерполяции, конкретных возражений не было, было несколько голосов "за". Но все так нахваливали дизайн из шаблона {{Graph:Population history}}, где интерполяция по умолчанию monotone... Кроме того, был минус: я точно помню, что при резких скачках численности населения на графиках с линейной интерполяцией возникали плохо выглядящие острые углы линии. Тем не менее, сейчас я этот эффект воспроизвести не могу (или он стал незначителен). Короче, никаких фундаментальных преимуществ monotone перед linear действительно нет, а недостаток monotone действительно очевиден. Обсуждалась и возможность полного удаления линий, но однозначной поддержки не получила. Такое поведение при интерполяции monotone — несомненный баг; поскольку он пока не исправлен и, возможно, никогда не будет исправлен, я поддерживаю этот запрос. --Браунинг (обс.) 14:18, 16 августа 2018 (UTC)
- Честно говоря, тут вообще графика не должно быть. Слишком неравномерно расположены реперные точки, слишком большой разрыв между первой и второй. Тут график не то что не даёт адекватную информацию — он вводит в заблуждение, это орисс. Надо вообще график заменить на гистограмму. GAndy (обс.) 17:54, 21 августа 2018 (UTC)
- Причём, так проблема, по-видимому, встречается много где — может даже подумать о ботозамене. GAndy (обс.) 17:56, 21 августа 2018 (UTC)
- Нет. Это отдельный вопрос, по которому были широкие обсуждения -- я привёл ссылки выше. Если желаете, можно открыть новое обсуждение, если есть какие-то новые, не учтённые ранее аргументы. --Браунинг (обс.) 20:01, 21 августа 2018 (UTC)
- Гистограмма тоже плохо, все точки будут расположены равномерно, независимо от того сколько лет между ними прошло. Да, это там есть в обсуждении. Землеройкин (обс.) 20:52, 22 августа 2018 (UTC)
- Я бы предпочёл вариант с исправлением интерполяции monotone, но это нужно где-то внутри Vega 2 ковыряться. Полгода назад пытался разобраться, где же проблема, но так и не нашёл. Например, в Vega-Lite всё хорошо, а в Vega 2 (код, редактор) при таких же значениях проблема. — putnik 20:49, 21 августа 2018 (UTC)
- Это конечно было бы здорово, но там же разобраться невозможно. Я пытался что-то понять, вроде бы кривые рисует вот эта функция? Но анекдот в том, что она их рисует правильно. Откуда берется глюк не понятно. Землеройкин (обс.) 20:56, 22 августа 2018 (UTC)
Похоже, я разобрался, в чём дело. Текущая версия расширения Graph использует библиотеку d3 версии 3.5.17. А как раз в следующей её версии, 4.0.0, было полное обновление алгоритма monotone (см. здесь), в том числе, видимо, был исправлен и этот баг, но в Graph это уже не попало. Землеройкин (обс.) 13:19, 26 августа 2018 (UTC)
- Если действительно в этом дело, то можно же как-то пропихнуть обновление? — Vort (обс.) 13:47, 26 августа 2018 (UTC)
- Лично я сомневаюсь, что его можно так просто "пропихнуть", но вообще, надо спрашивать у разработчиков. Землеройкин (обс.) 16:18, 26 августа 2018 (UTC)
- Если и не всё обновление, так хоть проблемный файл. Но для начала надо проверить локально — помогает ли такая замена. — Vort (обс.) 16:21, 26 августа 2018 (UTC)
- Лично я сомневаюсь, что его можно так просто "пропихнуть", но вообще, надо спрашивать у разработчиков. Землеройкин (обс.) 16:18, 26 августа 2018 (UTC)
-
- Увы, но очень не тривиально - phab:T165118 - надо полностью мигрировать на Vega 3 или 4, и менять сам график, но продолжая поддерживать Vega 2. --Yurik (обс.) 17:43, 30 августа 2018 (UTC)
- Может быть, можно бэкпортнуть исправленный алгоритм интерполяции? Землеройкин выше дал ссылку на соответствующий файл. --Браунинг (обс.) 18:12, 30 августа 2018 (UTC)
- Увы, но очень не тривиально - phab:T165118 - надо полностью мигрировать на Vega 3 или 4, и менять сам график, но продолжая поддерживать Vega 2. --Yurik (обс.) 17:43, 30 августа 2018 (UTC)
- Yurik, так можно или нельзя тупо заменить библиотеку d3 версии 3.5 на 4.0, используемую расширением Graph? MBH 12:59, 24 июля 2019 (UTC)
Примечания[править код]
- ↑ Список населенных мест Дальневосточного края : По материалам Всесоюзной переписи населения 17 декабря 1926 года и Приполярной переписи 1926—27 года : [рус.]. — Хабаровск, Благовещенск : Дальневосточный краевой статистический отдел, 1929. — 229 с.
- ↑ Коряков Ю. Б. Этно-языковой состав населённых пунктов России : [арх. 17 ноября 2020] : база данных. — 2016.
- ↑ Карта-буклет Лазовский район ФГУП 2007г.
- ↑ Лазовский район 1.01.2008
- ↑ Численность населения городских округов, муниципальных районов, городских и сельских поселений, городских населённых пунктов, сельских населённых пунктов. Всероссийская перепись населения 2010 года (по состоянию на 14 октября 2010 года). Приморский край . Дата обращения: 31 августа 2013. Архивировано из оригинала 7 июня 2013 года.
Итог[править код]
Заменил на "linear", по-крайне мере это не хуже, чем "monotone". — Алексей Копылов 02:27, 19 октября 2018 (UTC)
179 строка[править код]
Запрос выполнен |
Замените, пожалуйста, на 179 строке проверку:
if PlaceData[NumRecord][3] == "" then
на:
if ( PlaceData[NumRecord][3] == nil or PlaceData[NumRecord][3] == '' ) then
Иногда 3 параметр не указывают в данных и на страницу сыпятся ошибки. Спасибо. Serhio Magpie (обс.) 05:36, 7 февраля 2019 (UTC)
Перечень данных[править код]
Подскажите, пожалуйста, где можно посмотреть полный перечень данных, которые можно использовать по регионам России? Какие-то нашел на странице Игоря Тимирова, какие-то в категории информ.шаблоны регионов, но хотелось бы увидеть полный набор, чтобы не изобретать велосипед и использовать, то что уже есть. — Naive rm (обс.) 13:08, 23 марта 2020 (UTC)
Запрос выполнен |
Если внести в модуль Statistical, вот такую правку (закомментированные строчки не нужны), то он будет выполнять функции StatisticalOnYear и смысла в отдельном модуле не будет. Они используют одну и туже базу данных, и два модуля с доступом к одному и тому же, делающих одно и тоже, но в одном есть дополнительная фича, а в другом нет - вероятно не имеет смысла. К тому же в Statistical с тех пор сделан часть правок улучшающих его работу, а в StatisticalOnYear их нет и он работает хуже в тех же условиях. — Туча 16:15, 2 июня 2020 (UTC)
- Сделано. --Сергио (обс.) 22:27, 18 июня 2020 (UTC)
Вызовы из других модулей[править код]
Запрос выполнен |
Строку 99
local args = frame:getParent().args
предлагаю заменить на
local args if frame == mw.getCurrentFrame() then args = frame:getParent().args else args = frame end
для возможности вызова функции из других модулей на Lua. Игорь Темиров 11:09, 12 октября 2020 (UTC)
- Выглядит как-то костяльно. Может, сделать также, как делают в других подобных случаях, одну функция для вызова из статей и другую функцию для вызова из модулей, см. Модуль:Languages.transform_lang как пример. Ну то есть function p._GenerateAndReturnHash(args) и function p.GenerateAndReturnHash(frame), причём вторая просто вызывает первую. Викизавр (обс.) 11:42, 12 октября 2020 (UTC)
- Я на подводной лодке не служил, что такое "костяльно" не знаю. А предложенный вами метод, думаю, применили от незнания этого простого решения. В в ашем случае вызывающий функцию разработчик должен ещё разобраться, какая функция для чего нужна и вызвать правильную функцию, плюс в код добавляется ещё одна функция. В моём же предложении разработчику просто нужно знать, что есть одна функция и он может вызвать её и из шаблона, и из модуля одинаковым способом. А какие преимущества вашего примера перед этим, кроме запутанного вызова функции и усложнения кода? Игорь Темиров 20:13, 12 октября 2020 (UTC)
- @Игорь Темиров, костыльно, в смысле. Но, я, видимо, не понимаю, что вы хотите сделать: может быть, чтобы аргументы брались то из вызова модуля, то из внешнего вызова шаблона, что также делается через Модуль:Arguments? . В общем, можно какой-то пример, где эта штука работает, а то как вносить что-то непонятное? Викизавр (обс.) 00:07, 18 октября 2020 (UTC)
- @Викизавр.
- "Но, я, видимо, не понимаю, что вы хотите сделать: может быть, чтобы аргументы брались то из вызова модуля, то из внешнего вызова шаблона"
- "Тогда у вас там в конце .args пропущено перед end"
- Нет, всё в порядке.
- "пример, где эта штука работает"
- Временный модуль, где это работает: Module:StatisticalTemp
- Модуль, вызывающий StatisticalTemp.GetStat напрямую: Модуль:UrbanSetting
- Шаблон-обёртка для модуля UrbanSetting: Шаблон:Вгородскихусловиях
- Результат применения шаблона Вгородскихусловиях, например, в статье Изобильненский район (строка "В городских условиях (Изобильный, Рыздвяный, Солнечнодольск) проживают 57,57 % населения района."
- Игорь Темиров 05:43, 18 октября 2020 (UTC)
- Спасибо за пояснения, Сделано. Викизавр (обс.) 10:14, 27 октября 2020 (UTC)
- Я на подводной лодке не служил, что такое "костяльно" не знаю. А предложенный вами метод, думаю, применили от незнания этого простого решения. В в ашем случае вызывающий функцию разработчик должен ещё разобраться, какая функция для чего нужна и вызвать правильную функцию, плюс в код добавляется ещё одна функция. В моём же предложении разработчику просто нужно знать, что есть одна функция и он может вызвать её и из шаблона, и из модуля одинаковым способом. А какие преимущества вашего примера перед этим, кроме запутанного вызова функции и усложнения кода? Игорь Темиров 20:13, 12 октября 2020 (UTC)
Нерабочая ссылка[править код]
В модуле Модуль:Statistical/RUS-NOR вызов ссылки с меткой 2010L (Итоги Всероссийской переписи населения 2010 года по РСО-Алания. Численность населения городских округов, муниципальных районов, городских и сельских поселений и населённых пунктов) приводит к ошибке 403: "Доступ запрещен". — Гдеёж?-здесь 10:46, 26 мая 2021 (UTC)
- Заменил ссылкой на zip-файл. Игорь Темиров 06:46, 16 июня 2021 (UTC)
Переименование н.п.[править код]
Я поправил наименование населённых пунктов в Тамбовской области (то, что было, ни в какие ворота не лезет). Дошёл также до модуля Модуль:Statistical/RUS-TAM. Но что-то не работает. Пожалуйста, сделайте, что ещё необходимо поправить. Для справки - указанная в модуле ссылка нерабочая, архивная копия также не открывается. Наименование населённых пунктов проверено по официальному реестру [3]. — Гдеёж?-здесь 14:25, 23 октября 2021 (UTC)
- @Гдеёж?: Сделано Подъёмский сельсовет
- Что бы правильно отображалась история правок, старые версии страниц: правка,правка.
- Что бы правильно отображалась текущая: правка, правка, правка.
{{Население|Совхоза «Подъём», 1-е отделение|х}}
: 1109554418,{{Население|Совхоза «Подъём», 3-е отделение|х}}
:1445917211 — Туча 20:06, 30 октября 2021 (UTC)- Спасибо! Буду разбираться на будущее. — Гдеёж?-здесь 20:10, 30 октября 2021 (UTC)
Численность населения на графике[править код]
Коллега colt browning добавил вывод численности на график, устранив последнее, на мой взгляд, в чём график уступал диаграмме.
Хорошо бы заменить цвет шрифта на чёрный, сделать его полужирным и форматировать числа вставкой пробела. А можно и так оставить. Игорь Темиров 15:56, 19 декабря 2021 (UTC)
- Очень рад, что мы теперь согласны в этом! На самом деле код я написал в основном ещё в 2016-м, но недавно наконец включили интерактивные графики, и оставалось только добавить код в модуль. Некоторые другие участники тогдашнего обсуждения графиков тоже придавали большое значение этой фиче.Некоторые другие коллеги имеют большие претензии к соединительным линиям на графике — мол, они выглядят как неоправданная интерполяция. Я тогда подготовил вариант оформления без соединительных линий, но он не получил поддержки. Кроме изменения дизайна, в моём модуле есть пара других фич, которые могут быть полезны сами по себе.Насчёт ваших предложений. С заменой цвета на чёрный я согласен. Форматирование пробелами сейчас реализовал. Полужирный шрифт — я не возражаю, но с ходу не нашёл, как это сделать. Браунинг (обс.) 09:00, 22 декабря 2021 (UTC)
@Игорь Темиров, зачем передразнивать при совершении отмены? Формально вы в праве были отменить мою правку, фактически — сделали это максимально неэтично, чтобы показать, что и моё мнение по вопросу вас вряд ли сильно интересует. Но не важно, давайте обсудим. «Вид таблиц» не важен, если у таблиц плохая функциональность. По Википедия:Доступность#Таблицы и авторитетным источникам по доступности тэг <caption>
— необходимый для любой таблицы. Моя правка добавляла этот тэг без какой-либо проблемы для кода. Если вам неумолимо важен именно такой вид шаблона и никакой иной — об этом можно было сказать и тогда мы бы нашли какое-то решение, если другие участники готовы вас в этом поддержать, а не отменять меня сходу, потому что вы не стали читать предоставленные мной ссылки. stjn 16:12, 12 апреля 2023 (UTC)
- @stjn. Мне кажется вы ошибаетесь. Я сделал отмену максимально этично, учитывая комментарий от опытного участника, перекладывающий обязанность поиска компромисса с себя на оппонента. Мне такой вид таблиц важен и я, как вы пишете "мог об этом сказать", так я и сказал. Мне вообще непонятна ваша реакция. Если только не думать, что всё, что вы делаете, не подлежит обсуждению. Мой опыт общения с вами показывает, что вы именно так и думаете. И ещё. Я, естественно, прочитал вашу ссылку и ничего подобного там не нашёл. Также как и в вашем топике про таблицы. И здесь, и там ничем не обязательные нововедения с недоказанной полезностью. Игорь Темиров 18:39, 12 апреля 2023 (UTC)
- Могу уточнить: упоминаемый по ссылке синтаксис
|+
создаёт тэг<caption>
, служащий заголовком таблицы. «Недоказанной полезностью» — почему недоказанной, если я вам привожу ссылки, в которых говорится, что это требование доступности таблиц?
Я не «перекладывал обязанность компромисса с себя на оппонента», компромисс по определению заключается в том, что мы бы обсудили и пришли к какому-то решению, я всего лишь попросил не отменять правку без обсуждения более хорошего решения — эта просьба была воспринята почему-то в штыки, хотя я не будто бы какой-то деструктивный элемент, который правит модули по своему разумению без отдачи в отчёт того, улучшает ли это код по какой-либо причине. Ну, давайте теперь обсуждать — в каком виде вас устроит возвращение в шаблон тэга caption? Только с сохранением вашего (никем к слову тоже необсуждавшегося) оформления? stjn 19:01, 12 апреля 2023 (UTC)
- Я вернул тег caption в шаблон с "моим" (как вы называете) оформлением. "Моё" - это класс standart. А шаблону этому и его оформлению в этом году исполнилось 10 лет. Так что, если его не обсудили, то, наверное, это оформление всех устраивает. Игорь Темиров 08:00, 13 апреля 2023 (UTC)
- На мой взгляд со стороны, stjn тут прав во всём (а вы напрасно переходите на личности), кроме своего пересказа написанного по ссылкам: по-моему, там написано не то, что
<caption></caption>
«необходимый для любой таблицы», а что он попросту соответствует заголовку таблицы по смыслу лучше, чем<th></th>
(и, следовательно, лучше с т. з. веб-доступности). Браунинг (обс.) 21:37, 12 апреля 2023 (UTC)
- То есть оценка моей правки "максимально неэтично" - это не переход на личности, а обращение внимания оппонента на его modus operandi здесь и в других обсуждениях - это переход на личности? Несмотря на то, что я сделал всё согласно правилам. Игорь Темиров 06:38, 13 апреля 2023 (UTC)
- Могу уточнить: упоминаемый по ссылке синтаксис