Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
44 / 54 ページ <前へ | 次へ>

〔203〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/04 14:28)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>ご要望にお応えして、現時点のバージョンを公開します。
 試してみました。すごく良い感じです。実用版の公開を心待ちにしています。

 若干気になった点を…。
 デリミタに全角読点以外に半角/全角スペースや半角カンマも使えるようですが、全角カンマや半角読点はデリミタとして認識してくれません。半角読点はともかくとして、IME を全角読点の代わりに全角カンマに設定している人もいるでしょうから、少なくとも全角カンマはデリミタとして認識してくれた方が使いやすいかもしれません。
 元データの作物名が漢字/ひらがな/カタカナな混じりなのでしょうがないんですが、少なくともひらがな/カタカナは気にせず使えた方が便利です。
 下記のように、剤型が異なる農薬は別行で出力してくれると、後で Excel 等に読み込んで整形する際に使いやすいと思います。

 できれば欲しい機能としては、1つの対象作物と複数の周辺作物を指定し、対象作物に登録のある全ての農薬を自動的に抽出して同様の表を作成できれば便利ですね。この場合、農薬数が多くなりすぎるので、殺虫剤/殺菌剤別などを最初に指定できればさらに good です。


    作物1    作物2
A粒剤 定植時 1回 定植時 1回
A乳剤 7日前 3回 前日 2回

・ツリー全体表示

〔202〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/04 13:22)

引用なし
   >Hidemi Oyaさん

> perl 側の encoding プラグマは関係ないと思いますけど…。MySQL にアジアンランゲージサポートか cp932 キャラクタセットがインストールされてないとか?

mysqlのバージョンは3.23.58です。FedoraCore3に付いていたものを使っています。

一応、my.confには
−−−−−−−−−−−−−−−−−−−−−−−−−−−
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=ujis

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=ujis
−−−−−−−−−−−−−−−−−−−−−−−−−−−
とujisを指定して、

mysql> SHOW variables like "cha%";

| character_set | ujis
| character_sets | latin1 big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin2 latin5 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620 |

という状態で使っています。再コンパイルなどは行っていません。

encodingプラグマを使わなければ基本的に生データでやりとりできますが、プラグマを使うと入出力時に必ずフィルタ処理が掛かります。で、utfフラグが立った状態、フラグ無しeucjp、フラグ無しutf8、といろいろなパターンで日本語文字列をmysqlに書き込んでみましたが、いつもutf8でデータが書き込まれるのです。

何か設定が違うのかもしれませんが、これ以上仕様を変更して自分のシステムに不具合がでても困りますので、対処療法でしのいでいます。
・ツリー全体表示

〔201〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/03 21:39)

引用なし
   >Hidemi Oyaさん

>>私のサブルーチン書きなぐりプログラミングは試作程度にしか耐えれないのですけれど、もし希望があれば、自宅サーバーで公開します。
> 作物等が固定でも、どんな感じだか是非見てみたいです。

ご要望にお応えして、現時点のバージョンを公開します。
書きなぐり版ですので検索精度も動作安定性も全く未保証です。
間違っても実務に使わないでください。

http://otori.homes.com.au/yaku.html
・ツリー全体表示

〔200〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/03 21:32)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>使っている印象では、encoding "eucjp"環境のせいで、書き込みの際に型の指定が外れて結果的にutf8になっているような感じです。
 perl 側の encoding プラグマは関係ないと思いますけど…。MySQL にアジアンランゲージサポートか cp932 キャラクタセットがインストールされてないとか?

>この2つをリストで入力してhtmlを吐き出すにはもう少し時間が必要です。
 期待してますよ〜。

>私のサブルーチン書きなぐりプログラミングは試作程度にしか耐えれないのですけれど、もし希望があれば、自宅サーバーで公開します。
 作物等が固定でも、どんな感じだか是非見てみたいです。
・ツリー全体表示

〔199〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/02 23:51)

引用なし
   >Hidemi Oyaさん

> ujis って、MySQL の EUC-JP だったんですね。CREATE DATABASE dbname DEFAULT CHARACTER SET ujis で作成したデータベースでも utf8 になっちゃうんですか? character_set_server が utf8 になっていて、データベース作成時に文字コードを指定してなかったので utf8 になったというのなら分かりますが…。
> あと、データベースが utf8 でも、SET CHARACTER SET ujis ステートメントで、SQL の入出力文字コードを EUC-JP にすることができるはずです。これだと文字コード変換は MySQL が行うので、スクリプト側での変換は不要です。

使っている印象では、encoding "eucjp"環境のせいで、書き込みの際に型の指定が外れて結果的にutf8になっているような感じです。binmode "binary"みたいな形で書き込めばうまく行くのかもしれませんが、回避方法があるならもういいかって思っています。

>>hidemiさんのご希望のようなことも簡単に出来ます。ただし検索結果が冗長なので、パイプラインでuniqしてから表示させています。
> ありがたや、ありがたや。ついでに、例示したような形の HTML テーブルに変換して出力してくれると Excel に取り込みやすいのでさらにうれしかったりしますが…(^_^;)。

とりあえず決め打ちの作物名リスト、農薬商品名リストから収穫前日数、使用回数をuniqしてtableを出力できるようになりました。この2つをリストで入力してhtmlを吐き出すにはもう少し時間が必要です。

私のサブルーチン書きなぐりプログラミングは試作程度にしか耐えれないのですけれど、もし希望があれば、自宅サーバーで公開します。習作みたいなものなので、動作保証は出来ませんけれど。
・ツリー全体表示

〔198〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/02 23:07)

引用なし
   >>クロス表的な機能はなんとか実現したいと思いますが、優先順位は後になりそうです。SQLで書ければいいのですが、ちょっと検討もつきません。
> そうか、専用ビューを作って、SQL を発行すれば良いのかな…。しかし、ビューの作り方が…(^_^;)。
 クロス表は条件によって列数が変わるので難しそうだったので、[#184] のような列数固定の表なら SELECT 文だけでいけそうだと思って取り組んでみたんですが、サブクエリの書き方が分からない…(^_^;)。もうちょっと SQL を勉強しないとダメなようです。
 それはそれとして、クロス表はすでにできていたルーチンを使って実装できないんでしょうか?
・ツリー全体表示

〔197〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/02 0:47)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>ということは、過去のレスポンスヘッダを付けてリクエストを打つ方法を探す必要があるわけですね。いまのLWP::Simpleモジュールではダメっぽいです。
 LWP::Simple だと無理ですね。LWP::UserAgent なら可能ですが、これほどの機能は不要です。必要十分な機能、軽さ、簡単さを兼ね備えているのは、HTTP::Lite 辺りでしょうか(pure perl なのでコンパイルもいりませんし)。

>さんざん苦労したあげく原因が分かりました。perl5.8.5+DBI+mySQLはeucを指定してtextのカラムに書き込んでも実際のデータはutf8でしか入らないようです。
 ujis って、MySQL の EUC-JP だったんですね。CREATE DATABASE dbname DEFAULT CHARACTER SET ujis で作成したデータベースでも utf8 になっちゃうんですか? character_set_server が utf8 になっていて、データベース作成時に文字コードを指定してなかったので utf8 になったというのなら分かりますが…。
 あと、データベースが utf8 でも、SET CHARACTER SET ujis ステートメントで、SQL の入出力文字コードを EUC-JP にすることができるはずです。これだと文字コード変換は MySQL が行うので、スクリプト側での変換は不要です。

文字データはいわゆる英数字・記号は半角、半角カタカナは全角に変更して、機種依存文字を置換したデータを使っています。

>hidemiさんのご希望のようなことも簡単に出来ます。ただし検索結果が冗長なので、パイプラインでuniqしてから表示させています。
 ありがたや、ありがたや。ついでに、例示したような形の HTML テーブルに変換して出力してくれると Excel に取り込みやすいのでさらにうれしかったりしますが…(^_^;)。
・ツリー全体表示

〔196〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/01 23:45)

引用なし
   書き忘れです。

 dick101.pl は、検索側がひらがな/カタカナを区別しないで検索してくれることを前提に、仮名は全てカタカナに統一しています。したがって、dick101.pl のスクリプトを実行できるようになったとしても、SQLite 側でひらがな/カタカナの区別無く検索できる体制が必要です。
・ツリー全体表示

〔195〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/01 23:33)

引用なし
   kabe さん、こん**は。Hidemi Oya です。


>SQLiteの威力絶大です。検索結果が多いとStringGrid にセットするのに時間がかかります。職場のPCでは起動後の最初の検索がヒットするまで、少し時間がかかる感じです。メモリー容量が少ないせいかもしれません。
 確かに、'%稲%' なんかだとややかかりますが、それでも家のパソコンだとほんの数秒です。メモリ容量は影響が大きいかもしれませんね。

>これはやってみないと、なんともわかりません。が、多分無理かも(^^;
 調べたワケじゃありませんが、オブジェクト操作自体も Excel 互換になっているんじゃないかと思います。だとすると、Excel か OpenOffice Calc かを判定する部分を追加すればなんとかなるかも…。

>>EXCELファイル出力/入力コンポーネントで CSV に変換していただければと…。
>ダウンロードしてみました。これで取り組んでみたいと思います。
 よろしくお願いします。データだけなので、多分問題なく読めるんじゃないかと思います。

>クロス表的な機能はなんとか実現したいと思いますが、優先順位は後になりそうです。SQLで書ければいいのですが、ちょっと検討もつきません。
 そうか、専用ビューを作って、SQL を発行すれば良いのかな…。しかし、ビューの作り方が…(^_^;)。

>ひらがなとカタカナを両方SQLに渡して作物選択するか、
 SQLite は LIKE オペレータとして REGEXP という正規表現で検索できるオペレータもあるんですが、ACFinder の SQL では REGEXP が使えませんでした。Delphi 用のライブラリが未サポートなんですかねえ? 正規表現で検索できれば、この辺は楽に指定できますし、上位分類一括検索の記述も楽になるんですけどね。

>dick101.plだと別名検索もできそうなので便利そうですが、Delphi で正規表現を扱う方法を覚えないといけないので時間がかかりそうです。
 Delphi で BREGEXP.DLL を使うための BRegExp ユニットがあります。関数ベースなので、簡単に使えます。
 ただ、dick101.pl では先読みやルックビハインドのために (?....) 拡張構文を使用しているので、これには対応していないかもしれません。エラーが発生する場合は、(?....) の部分を書き直す必要があります。
・ツリー全体表示

〔194〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/01 23:29)

引用なし
   >Hidemi Oyaさん

> ddata/index.htm を受信した時のレスポンスヘッダに、Last-Modified と ETag があります。この値を保存しておき、次に ddata/index.htm をチェックする時に、リクエストヘッダに
>If-Modified-Since: 保存しておいた Last-Modified の値
>If-None-Match: 保存しておいた ETag の値
>を付加してやると、Last-Modified 以降に更新されていた場合や ETag の値に変更があった場合のみレスポンスボディが返され、更新されていない場合はレスポンスコード 304 のレスポンスヘッダのみが返されます。サーバ側は、無変更の場合はボディを返す必要のないので負荷が小さく、無駄なトラフィックも低減できます。

ということは、過去のレスポンスヘッダを付けてリクエストを打つ方法を探す必要があるわけですね。いまのLWP::Simpleモジュールではダメっぽいです。

> 以前、農薬名の長音記号がハイフンになっているものがあって連絡したらすぐ直してくれましたが、登録内容以外の修正は当然速報には入ってきません。速報は、失効農薬も1か月に1回のみですし。データに関しては、現在差分提供されていないので、差分提供の形にするなら細かな修正や失効も含めて提供を要望するってのが前提です。各システムのリソースやインターネットトラフィックの無駄遣いを避けるためには、可能な限り全面更新しないですむ方法を要望していくのがスジだと思います。
> それと、シェアレンタルホストでウェブアプリを動かすことを考えると、更新時のレスポンス低下やサーバへの集中的な負荷増大を招く可能性が高いため、全面更新は現実的ではありません。自前サーバなら、データ更新デーモンを走らせておいて、深夜にでもまとめてやってしまえば良いので全面更新だろうが全く問題ないですが(前述のようなリソースの無駄遣いの問題は残りますが)、自前サーバは希有な環境です(家はハードウェア的には可能でも接続契約が許しません)。

私は自宅環境での動作試験なのであまり周辺環境までは考えていませんけれど、将来的な波及を考えると要望は必要ですね。

> sjis, utf8 どっちでしょう? sjis だと、処理系によっては 0x5c を含む文字を検索できなかったりします。utf8 はエンコーダーによって機種依存文字がうまくマッピングできない場合もあるので、半角カタカナを全角に変換して内部データを euc で持っておくのがベストかもしれませんね。

さんざん苦労したあげく原因が分かりました。perl5.8.5+DBI+mySQLはeucを指定してtextのカラムに書き込んでも実際のデータはutf8でしか入らないようです。文字データはいわゆる英数字・記号は半角、半角カタカナは全角に変更して、機種依存文字を置換したデータを使っています。

検索の際にuft8でsql文を作成し、結果のリストをmapでeucに変換してから表示するということで多少手間は掛かりますが、文字化けは完璧に解決しました。hidemiさんのご希望のようなことも簡単に出来ます。ただし検索結果が冗長なので、パイプラインでuniqしてから表示させています。

==============================================================

農薬名リスト:アプロード エルサン ダイアジノン ランネート スミチオン アディオン アファーム スピノエース カスケード
作物名リスト:だいこん はくさい かぶ キャベツ ねぎ トマト ピーマン

だいこん-------------------------------
●アプロード

●エルサン
エルサン粉剤2 2回以内 収穫30日前まで
エルサン粉剤3 2回以内 収穫30日前まで
エルサン乳剤 2回以内 収穫30日前まで
エルサン粉剤2 2回以内 収穫30日前まで
エルサン乳剤 2回以内 収穫30日前まで
エルサン水和剤40 2回以内 収穫30日前まで

●ダイアジノン
ダイアジノン粉剤3 1回 は種時
ダイアジノン粒剤3 2回以内 は種時
ダイアジノン粒剤5 1回 は種時
ダイアジノン粒剤5 2回以内 は種時及び生育期 但し、収穫21日前まで
ダイアジノン粒剤5 1回 は種時
ダイアジノン粒剤5 2回以内 は種時及び生育期 但し、収穫21日前まで
(以下略)
==============================================================
・ツリー全体表示

〔193〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/01 22:57)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>各セルにダブルクォーテーションを付加する(この処理に一番時間がかかります。
 この部分は、今どんな風にやってます? メールでソースを送っていただければ、高速化を考えてみます(っても、6/5〜6/9 は公庫東京支店で研修なのでやってる暇はないかもしれませんが)。
 あと、保存時は文字列フィールドオンリーで全てダブルクォートするようにして、読み出す時だけ登録番号や混合数などを数値フィールドとして扱うってのはダメなんでしょうか? これで OK なら、条件判定などを結構省けると思いますけど。

>データベースファイルは acfinder.exe のあるフォルダのDBフォルダ内のacis.dbです。SQLite で扱えますので、このままサーバに入れてperlや PHP で処理することも可能と思いますが、私はWebアプリは全くわかりません。
 できあがったファイルの利用なら多分 OK ですね。perl や PHP でデータベース作成までやろうとすると、lzh の解凍ですでに挫折ですけど(^_^;)。

>ちなみに文字コードは UTF8に変換して入れています。
>(そのせいかファイルサイズが大きいです)
 基本登録部の CSV ファイルを UTF-8 に変換して保存すると、ファイルサイズはほぼ2倍です。ファイルサイズを小さくしつつ問題のない日本語のハンドリングを実現するなら、半角カタカナを全角に変換した上で EUC にするのがベストかもしれません。

 ところで、天敵 Wiki で人柱を募集してもよろしいでしょうか?
・ツリー全体表示

〔192〕Re:ACFinder LocalDB版
 kabe WEB  (06/06/01 22:51)

引用なし
   >Hidemi Oyaさん

kabe です。

> 早速使ってみました。農薬ナビ版や薬検版と違ってローカルデータの検索なので、検索が爆速になりましたね。
SQLiteの威力絶大です。検索結果が多いとStringGrid にセットするのに時間がかかります。職場のPCでは起動後の最初の検索がヒットするまで、少し時間がかかる感じです。メモリー容量が少ないせいかもしれません。

>1. エラーが発生した段階で即座に自動モードから抜けるようにして欲しいです。
了解です。

> 欲を言えば、Excel がなくても使えるようにフリーの OpenOffice Calc のオブジェクトにも対応(できれば結果の Excel 出力も)するか、
これはやってみないと、なんともわかりません。が、多分無理かも(^^;

>EXCELファイル出力/入力コンポーネントで CSV に変換していただければと…。
ダウンロードしてみました。これで取り組んでみたいと思います。

>2. 「CSV ファイル変更」にかなり時間がかかります。
ここは課題です。もう少し見直してみます。

>3. 近接作物も含めて、作物名指定/選択の段階で上位分類一括検索ができた方が使いやすそうです。
なんとか実現したいと思いますが、少し時間がかかるかもしれません。

>4. 従来の ACFinder にあったクロス集計は実装されることと期待しています。
>併せて、[#184] で書いたような機能が実装されるとすごくうれしいです。
クロス表的な機能はなんとか実現したいと思いますが、優先順位は後になりそうです。SQLで書ければいいのですが、ちょっと検討もつきません。

>5. ひらがな/カタカナは意識しなくても検索できるようにしてほしい
ひらがなとカタカナを両方SQLに渡して作物選択するか、dick101.plを利用させてもらって、SQLには置換結果を渡すようにするか、迷ってます。dick101.plだと別名検索もできそうなので便利そうですが、Delphi で正規表現を扱う方法を覚えないといけないので時間がかかりそうです。

>6. 殺虫剤/殺菌剤といった用途による絞り込みはやはり欲しいです。
了解です。最優先で入れたいと思います。

>7. 検索語を入力時に、IME の変換確定のためのエンターキー押下で検索が始まってしまいます。
OnKeyUp イベントに書いていたのですが、IME起動時のエンターも認識してしまうようなので OnKeyPress イベントに書き直します。
・ツリー全体表示

〔191〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/06/01 22:29)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>ヘッダ処理っていまいち理解できていません。いまは、ddata/index.htm の日付を見て判断しています。(^^ゞ
 ddata/index.htm を受信した時のレスポンスヘッダに、Last-Modified と ETag があります。この値を保存しておき、次に ddata/index.htm をチェックする時に、リクエストヘッダに
If-Modified-Since: 保存しておいた Last-Modified の値
If-None-Match: 保存しておいた ETag の値
を付加してやると、Last-Modified 以降に更新されていた場合や ETag の値に変更があった場合のみレスポンスボディが返され、更新されていない場合はレスポンスコード 304 のレスポンスヘッダのみが返されます。サーバ側は、無変更の場合はボディを返す必要のないので負荷が小さく、無駄なトラフィックも低減できます。
 さらに、ddata/index.htm は1日に複数回更新されることは普通なく、夕方更新されるようなので、最終チェック時刻を保存しておけば、毎日 18 時頃に1回チェックするだけですみます。


>これは判断が分かれますね。ワタシ的には全面更新でも再構築の待ち時間が我慢できる範囲なら、全面更新を選ぶと思います。大本営発表以外の微修正がないとは限りませんし。つーか、機種依存文字が多すぎてびっくりです。(^◇^;)
 以前、農薬名の長音記号がハイフンになっているものがあって連絡したらすぐ直してくれましたが、登録内容以外の修正は当然速報には入ってきません。速報は、失効農薬も1か月に1回のみですし。データに関しては、現在差分提供されていないので、差分提供の形にするなら細かな修正や失効も含めて提供を要望するってのが前提です。各システムのリソースやインターネットトラフィックの無駄遣いを避けるためには、可能な限り全面更新しないですむ方法を要望していくのがスジだと思います。
 それと、シェアレンタルホストでウェブアプリを動かすことを考えると、更新時のレスポンス低下やサーバへの集中的な負荷増大を招く可能性が高いため、全面更新は現実的ではありません。自前サーバなら、データ更新デーモンを走らせておいて、深夜にでもまとめてやってしまえば良いので全面更新だろうが全く問題ないですが(前述のようなリソースの無駄遣いの問題は残りますが)、自前サーバは希有な環境です(家はハードウェア的には可能でも接続契約が許しません)。

>登録適用部の全データをmysql に吸わせるところまで成功しましたけれど、うまく検索できません。文字コードをujisにしているのに、日本語検索でヒットしてくれません。
 sjis, utf8 どっちでしょう? sjis だと、処理系によっては 0x5c を含む文字を検索できなかったりします。utf8 はエンコーダーによって機種依存文字がうまくマッピングできない場合もあるので、半角カタカナを全角に変換して内部データを euc で持っておくのがベストかもしれませんね。
・ツリー全体表示

〔190〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/01 13:12)

引用なし
   もうひとつ、現状部分で違和感がある点に気がつきました。

7. 検索語を入力時に、IME の変換確定のためのエンターキー押下で検索が始まってしまいます。一般的なソフトでは、全文字確定後のエンターキー押下で検索が始まるので、この辺の違いにちょっととまどいました。
・ツリー全体表示

〔189〕Re:農薬登録情報 Excel ファイル
 s_kobayashi  (06/06/01 0:57)

引用なし
   >Hidemi Oyaさん

>>1 データダウンロード(5ファイル)
> 既にご存じかもしれませんが、http://www.acis.go.jp/ddata/index.htm のレスポンスヘッダには Last-Modified も ETag も付加されていて、サーバは If-Modified-Since, If-None-Match リクエストヘッダにちゃんと対応してくれるので、薬検のサーバにあまり負荷をかけずに更新の判定を行うことができます。

ヘッダ処理っていまいち理解できていません。いまは、ddata/index.htm の日付を見て判断しています。(^^ゞ

> 今回の追加/変更/削除のリストも提供してくれれば、データベースの更新が楽なんですけどね。今のままだと、毎回データベースを作り替えです。

これは判断が分かれますね。ワタシ的には全面更新でも再構築の待ち時間が我慢できる範囲なら、全面更新を選ぶと思います。大本営発表以外の微修正がないとは限りませんし。つーか、機種依存文字が多すぎてびっくりです。(^◇^;)


> それはそれとして、ポジティブリスト対策で、現在直売野菜を中心に下のような表を作成しています。作物と農薬名のリストを与えると、こういう表ができるようなシステムもご検討いただけるとありがたいです。

>    作物1 作物2 … 主な対象病害虫
>農薬1 21日 14日
>     3回  4回
>農薬2  7日  1日
>     4回  3回
> :

登録適用部の全データをmysql に吸わせるところまで成功しましたけれど、うまく検索できません。文字コードをujisにしているのに、日本語検索でヒットしてくれません。

たぶん単純な設定ミスだと思うのですが、よく分かりませんでした。

また解決したら報告します。
・ツリー全体表示

〔188〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/01 0:56)

引用なし
   書き忘れです。

5. 作物名や薬剤名などの入力項目で、ひらがな/カタカナは意識しなくても検索できるようにしてほしいです。農薬検査所や JPP-NET でもどちらでも検索できるようになっているので、少々とまどいます。

6. 以前のバージョンと同様に、殺虫剤/殺菌剤といった用途による絞り込みはやはり欲しいです。
・ツリー全体表示

〔187〕Re:ACFinder LocalDB版
 Hidemi Oya WEB  (06/06/01 0:31)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>とりあえず、作ってみました。
 ご苦労様です。私の方はちっとも進んでいません(^_^;)。

>動作確認も不十分ですので、人柱になってもよいという方のみご利用ください。
 早速使ってみました。農薬ナビ版や薬検版と違ってローカルデータの検索なので、検索が爆速になりましたね。隣接作物との共通登録農薬がすぐに検索できるのも good です。とりあえず現在の機能で気になった点を…。

1. 自宅パソコンは StarSuite なので(MS-Office 2003 までは正規ユーザですが、もう次の VerUp はやめようと思って)、XLS>CSV 変換で Excel が見つからないとエラー表示した後砂時計が続いてしまいます。中止ボタンで止まりますが、エラーが発生した段階で即座に自動モードから抜けるようにして欲しいです。
 欲を言えば、Excel がなくても使えるようにフリーの OpenOffice Calc のオブジェクトにも対応(できれば結果の Excel 出力も)するか、さらに欲を言えばこれらがなくても使えるように EXCELファイル出力/入力コンポーネント で CSV に変換していただければと…。

2. [#186] で書かれているとおり、特に「CSV ファイル変更」にかなり時間がかかります。現在どのようなアルゴリズムで正規化されているのか分かりませんが、ダブルクォートされていない文字列項目をダブルクォートするだけなら、アルゴリズムや使用関数の変更で劇的に改善できると思います。

3. SQL 直書きで上位分類も含めた一括検索は可能ですが、近接作物の検索も全て SQL 直書きが必要になります。やはり、近接作物も含めて、作物名指定/選択の段階で上位分類一括検索ができた方が使いやすそうです。

4. 将来的な話になりますが、従来の ACFinder にあったクロス集計は実装されることと期待しています。併せて、[#184] で書いたような機能が実装されるとすごくうれしいです。

>当面、このスレッドを使わせてもらってよろしいですか。
 どうぞどうぞ。こういったことのために設置してある掲示板なので、大歓迎です。
・ツリー全体表示

〔186〕Re:ACFinder LocalDB版
 kabe WEB  (06/05/31 23:25)

引用なし
   kabe です。

追加です。
Excel と UNLHA32.DLL が必要です。
sqlite3.dll も必要ですが、これは同梱しています。
データベースを作成するまで、結構時間がかかります。
流れとしては、ダウンロード>解凍>Excelを起動してCSV保存>CSVファイルを開いて、各セルにダブルクォーテーションを付加する(この処理に一番時間がかかります。これをやらないとSQLiteにつっこめない)>SQLiteのデータベース作成
という順番です。

データベースファイルは acfinder.exe のあるフォルダのDBフォルダ内のacis.dbです。SQLite で扱えますので、このままサーバに入れてperlや PHP で処理することも可能と思いますが、私はWebアプリは全くわかりません。
ちなみに文字コードは UTF8に変換して入れています。
(そのせいかファイルサイズが大きいです)
shift-jis のままだと、「斑点病」とか「斑点細菌病」などがなぜか検索できませんでした。試しにUTF8で入れてみると検索できたのでそのままにしています。

テーブルは登録基本部と登録適用部の二つそのままです。
テーブルの正規化等でよい案があればお願いします。
一応 SQL文を投げて検索することもできます。
テーブル名とフィールド名は以下のとおりです。
ソースからコピペします。
フィールド名とかいいかげんなので、統一案あればお願いします。
'CREATE TABLE kihon (' +
  '[No] INTEGER,'   + //登録番号,
  '[Syurui] VARCHAR(255),' + //農薬の種類,
  '[Meisyo] VARCHAR(255),' + //農薬の名称,
  '[Maker] VARCHAR(20),' + //略称,
  '[Seibun] VARCHAR(255),' + //略称,
  '[Noudo] VARCHAR(50),' + //濃度
  '[Kongou] INTEGER,' + //混合数,
  '[Youto] VARCHAR(20),' + //用途,
  '[Zaikei] VARCHAR(20)' + //剤型,
  ');';

'CREATE TABLE tekiyou (' +
  '[No] INTEGER,'   + //登録番号,
  '[Youto] VARCHAR(20),' + //用途,
  '[Syurui] VARCHAR(255),' + //農薬の種類,
  '[Meisyo] VARCHAR(255),' + //農薬の名称,
  '[Maker] VARCHAR(20),' + //略称,
  '[Sakumotu] VARCHAR(50),' + //作物名,
  '[Basyo] VARCHAR(255),' + //適用場所,
  '[Byogai] VARCHAR(255),' + //適用病害虫雑草名,
  '[Mokuteki] VARCHAR(50),' + //使用目的,
  '[Baisu] VARCHAR(255),' + //希釈倍数使用量,
  '[Ekiryo] VARCHAR(255),' + //散布液量,
  '[Jiki] VARCHAR(255),' + //使用時期,
  '[Kaisu] VARCHAR(100),' + //本剤の使用回数,
  '[Houhou] VARCHAR(500),' + //使用方法,
  '[Kunjyojikan] VARCHAR(55),' + //くん蒸時間,
  '[Kunjyoondo] VARCHAR(55),' + //くん蒸温度,
  '[Dojyo] VARCHAR(255),' + //適用土壌,
  '[Titai] VARCHAR(255),' + //適用地帯名,
  '[Nouyaku] VARCHAR(255),' + //適用農薬名,
  '[Kongou] INTEGER,' + //混合数,
  '[Kaisu1] VARCHAR(255),' + //有効成分1.を含む農薬の総使用回数,
  '[Kaisu2] VARCHAR(255),' + //有効成分2.を含む農薬の総使用回数,
  '[Kaisu3] VARCHAR(255),' + //有効成分3.を含む農薬の総使用回数,
  '[Kaisu4] VARCHAR(255),' + //有効成分4.を含む農薬の総使用回数,
  '[Kaisu5] VARCHAR(255)' + //有効成分5.を含む農薬の総使用回数
  ');';
・ツリー全体表示

〔185〕ACFinder LocalDB版
 kabe WEB  (06/05/31 22:51)

引用なし
   kabe です。

とりあえず、作ってみました。
http://acfinder.kabe.info/
ドキュメントが全くできていません。
動作確認も不十分ですので、人柱になってもよいという方のみご利用ください。
ご協力お願いします。

>HidemiOyaさん
当面、このスレッドを使わせてもらってよろしいですか。
・ツリー全体表示

〔184〕Re:農薬登録情報 Excel ファイル
 Hidemi Oya WEB  (06/05/31 1:54)

引用なし
   s_kobayashi さん、こん**は。Hidemi Oya です。

>1 データダウンロード(5ファイル)
 既にご存じかもしれませんが、http://www.acis.go.jp/ddata/index.htm のレスポンスヘッダには Last-Modified も ETag も付加されていて、サーバは If-Modified-Since, If-None-Match リクエストヘッダにちゃんと対応してくれるので、薬検のサーバにあまり負荷をかけずに更新の判定を行うことができます。

>私の課題としては、このデータをデータベースに取り込んで、対象作物名、代表的農薬名、対象病害虫名のリストを与えると、登録情報一覧表を吐き出すシステムを作りたいと思っています。とりあえずはhtml出力が目標です。
 今回の追加/変更/削除のリストも提供してくれれば、データベースの更新が楽なんですけどね。今のままだと、毎回データベースを作り替えです。
 それはそれとして、ポジティブリスト対策で、現在直売野菜を中心に下のような表を作成しています。作物と農薬名のリストを与えると、こういう表ができるようなシステムもご検討いただけるとありがたいです。

>kabe さん
 ローカルデータ版でもご検討ください。

    作物1 作物2 … 主な対象病害虫
農薬1 21日 14日
     3回  4回
農薬2  7日  1日
     4回  3回
 :
・ツリー全体表示

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
44 / 54 ページ <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.