Моя компания работает в энергетической отрасли, и мне нужно найти хороший способ представить преобразование единиц измерения. Я провел некоторые поиски и до сих пор не нашел хорошую статью, освещающую эту тему, в которой я нуждаюсь. Большинство опубликованной информации о преобразованиях единиц предполагает, что для данного модуля 1 существует известный (жестко запрограммированный) коэффициент конверсии, чтобы добраться до модуля 2, и это простая математика ( это самый сложный пример, который я нашел, но он до сих пор не помогает). Тем не менее, это не всегда верно в реальном мире и, конечно, не соответствует тому, с чем мы должны справиться. (Извините за длинную запись - я стараюсь предоставить как можно больше информации!)
Сложный пример 1. Некоторые конверсии меняются со временем, например, конвертация 5 долларов в евро или наоборот. Похоже, это не имеет ничего общего с энергией, но на самом деле это имеет место на рынке энергоносителей (подумайте на фондовом рынке).
Сложный пример 2: (слишком упрощенно). Некоторые природные газы горят горячее, чем другие . Кроме того, природный газ может быть измерен / сохранен либо на основе энергии в газе (например, термины ), либо на основе объема указанного газа (например, MCF, который составляет 1000 кубических футов), и также существуют другие возможности (такие как как тонна для мессы ). Аналогия бензина заключается в том, что 1 галлон неэтилированного 87-октана обеспечивает меньше энергии, чем 1 галлон неэтилированного 93-октана.
Сложный пример 3: Помимо наличия этих единиц измерения, нам также часто приходится иметь дело со ставками, такими как $ за Терм или € за MCF . Таким образом, нам нужен какой-то способ работы с этими ставками и как они соотносятся с базовыми единицами, поэтому, если нам нужно пересчитать из $ за Терм в € за MCF , мы можем использовать те же опубликованные курсы, что и при конвертации из Therm в MCF .
Сложный пример 4: Ранее я использовал термин « Энергия» очень свободно и, возможно, иногда неправильно. На данный момент и с этого момента, это меняется. Таким образом, последний кривая состоит в том, что мы имеем дело как с энергией, так и с силой . С электричеством это означает кВтч против кВт ( довольно хорошее объяснение, несмотря на то, что это Yahoo Ответы ). Аналогия данных: это было бы похоже на сравнение общего МБ данных , загруженной в сравнении с вашими Mbpsпропускная способность, которую предоставляет вам ваш провайдер. Как и данные, энергия требует времени для доставки. Продолжая аналогию с данными, нам, возможно, придется рассчитать среднюю эффективную пропускную способность, использованную за определенный период времени, поэтому, учитывая, что 60 МБ было загружено в течение 1 минуты, «эффективная» скорость будет равна 60 * 8/60 = 8 Мбит / с. «Хитрость» заключается в том, что если мы храним Мбит / с как единое целое, нам нужен какой-то способ связать его напрямую с МБ, даже если он также включает компонент времени. К счастью, преобразование энергии в энергию (или наоборот) является для нас довольно редкой вещью, поэтому наше решение должно быть оптимизировано для всех других хитрых примеров и, надо надеяться, учитывать и этот, но не обрабатывать энергиик власти это вариант.
Сложный пример 5: по сути, это 3 + 4. У нас может быть как $ за киловатт, так и $ за киловатт-час , поэтому тарифы касаются как мощности, так и энергии .
Простой пример: некоторые преобразования очень просты, и с ними справляется большинство информации в Интернете. 1000 Втч = 1 кВтч и тому подобное. То же самое с Therms и Decatherms или кВт в МВт и т. Д. Мне здесь не нужна помощь, но имейте в виду, что ~ 70% наших преобразований будут такого типа.
Мои мысли о том, как начать, но не уверены, как закончить:
- Это явно ОЧЕНЬ грязно, поэтому я предлагаю выбрать стандартную единицу измерения для хранения всех данных по каждому товару и «типу использования». Таким образом, для электроэнергии наша стандартная единица энергии будет кВтч, а наша стандартная единица мощности будет кВт. Таким образом, для преобразования в любые другие единицы энергии / мощности нам потребуется только коэффициент преобразования в / из нашего стандарта, а не каждая возможная комбинация. Если нам когда-либо понадобится перевести из МВт в Вт, мы всегда можем сделать это путем преобразования в / из кВт.
- Поскольку показатели конверсии могут зависеть от определенного времени, мы должны разрешить сохранение этого времени по отношению к измерению. Я подозреваю, что нам не нужно беспокоиться об изменении этих коэффициентов конвертации быстрее, чем раз в час, и мы можем даже рассчитывать один раз в день.
- Поскольку показатели конверсии могут зависеть от опубликованных значений, мы должны разрешить возможность сохранения этого значения по отношению к измерению. Я подозреваю, что нам не нужно беспокоиться об изменении этих коэффициентов конвертации быстрее, чем раз в час, и мы можем даже рассчитывать один раз в день.
- После того, как все это выяснится, я ожидаю создания веб-службы, которая не делает ничего, кроме обработки всех преобразований единиц измерения. Я НЕ ищу SQL для выполнения этих преобразований, и я могу сделать некоторое творческое кеширование, чтобы сделать это таким образом, что я не совсем разбираюсь в этих таблицах, но иногда потребуется обрабатывать преобразование ~ 400 значений на загрузку страницы на веб-сайте, доступном пользователю. , Я не уверен, если / как это имеет значение.
Я не знаю, на каком уровне мне следует хранить коэффициенты конверсии, которые никогда не меняются, по сравнению с коэффициентами конверсии, которые меняются, и как именно их отключить таким образом, чтобы я мог быстро получить к ним доступ таким образом, чтобы это было легко работать с.
Любые мысли о том, как справиться с этим или даже некоторые опубликованные материалы для чтения, которые могут помочь? Я использую SQL Server (скоро будет SQL Azure), но это не должно иметь большого значения. Схема для правильного представления - вот с чем у меня здесь проблемы. Если бы это было так просто, как дюймы против сантиметров, это легко. Но проблема заключается в разных коэффициентах конверсии.
W
кажется, более подходящим, чем KW
. Международная система единиц (СИ) имеет больше информации о метрической системе.