問題タブ [jscience]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JScience: 複数の変数の組み合わせとして定義される単位を作成する
私は 2 か月前に JScience を発見しました。これは私のプロジェクトにとって大きな助けとなっていますが、1 つのことに苦労しています。
指定された値で直接および間接的PressureHead
に変換できる(別名水柱)ユニットを作成しようとしています。Length
Pressure
VolumetricDensity
圧力を見つけるには:Density × Gravity × Head = Pressure
ウィキペディアからの変換の例を次に示します。
1 cmH 2 O (4°C) = 999.9720 kg/m 3 × 9.80665 m/s 2 × 1 cm = 98.063754138 Pa
1 cmH 2 O は 1 cm に直接変換できます。
Pa 単位の圧力を知っていて、mH 2 O 単位の圧力水頭を見つけたいとします。これは、プロジェクトで最も頻繁に行う変換です。また、流体の密度を知る必要があります。圧力と密度は可変入力です。重力も式で知られている必要がありますが、私の目的では、標準の重力に固定できます。
圧力水頭を見つけるには:Pressure / (Density × Gravity) = Head
簡単にするために、上記の例の値を再利用し、圧力に 100 を掛けて、1 cmH 2 Oの代わりに1 mH 2 O を取得しました。
9806.3754138 Pa / (999.9720 kg/m 3 × 9.80665 m/s 2 ) = 1 mH 2 O
JScience はそのようなユニットを許可するのに十分柔軟であるように見えますが、それを作成するのに役立つ例を見たことがありません。最悪の場合、util メソッドを使用してそれらを変換することで解決するでしょう。
編集
私が見たい理想的な使用法のいくつかの例:
単位間の変換PressureHead
は簡単です。次のように追加の単位を定義できます。
上記の理想的な使用法では、 and をサブクラス化Amount
してオーバーロードする必要がto()
ありdoubleValue()
ます。変換を行うためのより適切な方法があるかどうか(かなりの使用法ではありませんが)、サブクラス化UnitConverter
および/またはDerivedUnit
ベースのクラスの1つが含まれていると思います。
私の一部はあきらめて、より重要なことに移れるように util メソッドの迅速かつ簡単な (そして醜い) ルートに進みたいと思っています。別の部分は、私が JScience をさらに好きになる解決策を見つけたいと思っています。
java - ライブラリ org.geotools.util に org.opengis.util.InternationalString がありませんか?
以下のコードを実行すると、次の例外が表示されます...
java.lang.IncompatibleClassChangeError: org/opengis/util/InternationalString is not an interface at java.base/java.lang.ClassLoader.defineClassImpl(Native Method) ~[na:na] at java.base/java.lang.ClassLoader. defineClassInternal(ClassLoader.java:481) ~[na:na] at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:442) ~[na:na]
このインターフェースがリポジトリにないのはなぜですか? どうすればこれを修正できますか? https://github.com/geotools/geotools/blob/main/modules/library/metadata/src/main/java/org/geotools/util/
このインターフェイス (同じパッケージを使用) は、jscience を使用する別の依存関係内に存在することがわかります...
バージョン: