2024年10月6日日曜日

最寄りのアメダスを取得する Web API を作りました。

最寄りのアメダスを取得する Web API を作りました。

最寄りのアメダス Web API|cultivationdata.net

パラメーターやキーの説明はこちら → 最寄りのアメダスAPI説明書


下記 URI に任意の緯度 (lat) と経度 (lon) を付与してアクセスしますと、最寄りのアメダスの観測所を JSON 形式で表示します。

サンプル - 緯度37度、経度141度
https://api.cultivationdata.net/nearest_amds?lat=緯度&lon=経度


複数の観測所を表示したい場合は、取得数 (num) を指定します。近い順に番号が割り振られ、表示されます。

サンプル - 緯度37度、経度141度、近い順に5か所
https://api.cultivationdata.net/nearest_amds?lat=緯度&lon=経度&num=取得数

観測所の位置は「アメダス観測所一覧マップ」で確認できます。


4798163643
by SimpleImageLink

4798064742
by SimpleImageLink


***

以前、最寄りのアメダスを取得する Web アプリケーションを作ったもののいまいちで、今回 Web API として作り直してみました。

何かに活用してもらえればと思います。


ちなみに、直近のアメダスの観測データの取得はこちらから取得できます。


甲斐犬 コケモモ

2024年9月23日月曜日

ミナミアオカメムシが福島県にも出現

ミナミアオカメムシ(5令幼虫)

カメムシ大発生の2024年、見たことのないカメムシがいるなと思ったら、ミナミアオカメムシという熱帯地方からやってきたカメムシだそうです。

国内では本州南部に生息していたそうですが、徐々に北上し、2020年に埼玉県と茨城県で、2021年に栃木県で発生が確認されたとのことです。

福島県や東北地方での発生確認がいつなのかは調べてもよく分かりませんでしたが、どこかのタイミングで入ってきたのでしょう。ここはいわき市でも南に位置し、だいぶ茨城県寄りなので入ってくるのも早そうではありますが。

一応、記録としてブログに載せておきます。上の写真は9月3日撮影で、4回脱皮した5令幼虫という状態だそうです。


イネの害虫として知られているようですが、今年はナスをよく食べていました。

ミナミアオカメムシの食害(ナス)

ミナミアオカメムシの食害(ナス)

家庭菜園のナスなのでまぁいいんですけど、ひどい有様でした。


2024年9月22日日曜日

稲刈り終盤戦 2024

稲刈り後の田

2024年の稲刈りも終盤戦に入っています。

今年は、全国的なカメムシの大発生で品質が心配されましたが、大きな害も出ていないようで、ほっとしています。

あとは、相変わらずの異常な高温ですね。

こちらも幸い致命的な影響は出ていませんが、稲刈りも籾摺りも汗だくになってやっています。

あまりの暑さに、里芋の花が、またもや咲きました。2021年以来、2度目です。

里芋の花(2024)

里芋は、もともと熱帯の植物で、高温・多湿・多雨という条件の下で花が咲くことがあるそうです。ここ、東北なんですけどね。


さて、お米の価格が世間を騒がせていますね。

米農家としては、ここしばらく本当に厳しい価格でしたので、とてもありがたいことだと思っています。

昨年までの直売価格を卸値が上回ってしまい、値段をどうしようという話もちらほら耳にします。

来年以降どうなっていくのか分かりませんが、再生産可能な価格が維持されるのであれば、少なからず選択肢を持った状態で、これからの農業や農村のあり方について考えることもできるのかなと思います。


原木椎茸の方も、そろそろ栽培を始めたいところなのですが、暑すぎて今しばらく様子見です。

2024年9月15日日曜日

「Amazon 画像付き商品リンク ジェネレーター」を作りました。

ブログ等に貼る用に「Amazon 画像付き商品リンク ジェネレーター」を作りました。


(とても今さらですが)アソシエイト・ツールバーで画像リンクが作成・利用できなくなりました。結果、このブログでも大量にリンク切れを起こしています。

それで、どうやって修正しようかと思案していたのですが、せっかくなので簡単に画像付き商品リンクを生成する代替の Web サービスを作りました。

商品タイトルや価格の表示、アソシエイト ID の付与も任意で可能です。(仕様変更により、商品タイトルと価格の表示はできなくなりました)

生成は、ASIN または商品リンクを入力して「リンクを生成」ボタンを押すだけです。



ブログやサイトに商品画像を載せたいときにご活用いただけたらと思います。


伊藤園 1日分の野菜 30日分BOX (紙パック) 200ml×30本
by SimpleImageLink

2024年8月5日月曜日

食品価格動向調査(野菜)のデータを JSON または CSV 形式で取得する Web API を作りました

食品価格動向調査(野菜)のデータを JSON または CSV 形式で取得する Web API を作りました。

いつも通り cultivationdata.net で公開しています。

キャベツ、ねぎ、レタス、ばれいしょ、たまねぎ、きゅうり、トマト、にんじん、はくさい、だいこんの10品目の小売店における価格動向を把握することができます。元データは、農林水産省の食品価格動向調査(野菜)です。

ちなみに、市況に関しては以前作成しています → こちら


以下、食品価格動向調査(野菜) Web API のエンドポイント(URI)です。

食品価格動向調査(野菜) JSON 形式(最新)
https://api.cultivationdata.net/yasai_kakaku

食品価格動向調査(野菜) JSON 形式(全件)
https://api.cultivationdata.net/yasai_kakaku?div=all

食品価格動向調査(野菜) CSV 形式(最新)
https://api.cultivationdata.net/yasai_kakaku?type=csv

食品価格動向調査(野菜) CSV 形式(全件)
https://api.cultivationdata.net/yasai_kakaku?div=all&type=csv


キーの説明はこちら → 食品価格動向調査(野菜)API説明書


CSV 形式は、Google スプレッドシートの IMPORTDATA 関数によりデータの一括取得が可能です。


たまねぎ

農家としても、値付けの参考になるかと思います。


ということで、久しぶりに Web API のラインナップが増えました。今回は、初めて元データが Excel でしたが、うまく取得して加工できました。最近、プログラミングをする際は Claude に手伝ってもらっています。ホント便利ですね~。

2024年7月29日月曜日

GitHub の Markdown ファイルを Web ページ化する

更新が頻繁なページなどで、GitHub の Markdown(MD) ファイルをそのまま Web ページに変換して公開できたら便利かなーと思いまして、簡単に作ってみました。

例えば、以下のような感じになります。


読み込みに若干のタイムラグが発生しますが、とりあえずイメージしたものを作れました。サーバーにファイルを増やさなくていいのがとても楽。


JavaScript は次の通りです。

// URLパラメータからMarkdownファイルのURLを取得する関数
function getMarkdownUrlFromParams() {
    const urlParams = new URLSearchParams(window.location.search);
    return urlParams.get('md');
}

// Markdownファイルを取得し、HTMLに変換する関数
async function convertMarkdownToHtml(url) {
    try {
        const response = await fetch(url);
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        const markdown = await response.text();
        return marked.parse(markdown);
    } catch (error) {
        console.error('Error:', error);
        return null;
    }
}

// HTMLからh1タグの内容を抽出する関数
function extractH1Content(html) {
    const parser = new DOMParser();
    const doc = parser.parseFromString(html, 'text/html');
    const h1 = doc.querySelector('h1');
    return h1 ? h1.textContent : null;
}

// メイン処理
async function main() {
    const URL = 'https://raw.githubusercontent.com/ユーザ名/リポジトリ名/ブランチ名/'; // Markdownファイルが置かれているURL
    const mdFile = getMarkdownUrlFromParams();
    const errorElement = document.getElementById('error');
    const contentElement = document.getElementById('content');

    if (!mdFile) {
        errorElement.textContent = 'URLパラメータにMarkdownファイルが指定されていません。(?md=sample/file.md)';
        return;
    }

    const html = await convertMarkdownToHtml(`${URL}${mdFile}`);
    if (html) {
        contentElement.innerHTML = html;
        
        // h1タグの内容を抽出してタイトルに設定
        const h1Content = extractH1Content(html);
        if (h1Content) {
            document.title = `${h1Content}`;
        }
    } else {
        errorElement.textContent = '変換に失敗したか、ファイルが見つかりません。';
    }
}

// ページ読み込み時に実行
window.onload = main;


続いて、HTML ファイルです。先ほど作った JavaScript を md.js として読み込みます。

<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
    <script src="./md.js"></script>
</head>
<body>

    <div id="error"></div>
    <div id="content"></div>

</body>
</html>

Markdown テキストからHTMLへの変換には marked.js ライブラリを利用しています。(ページ内リンクは機能しない?ようです)

GitHub 上の Markdown ファイルは Raw ファイルの URL になります。JavaScript のメイン処理の URL を書き換えてください。

(当然ですが、アクセスできる場所に置いてあれば、GitHub 上の Markdown ファイルの必要はありません)


コケモモ(甲斐犬ハーフ)

昨年に引き続き、今年も暑すぎですね。農業にもいろいろと影響が出ていますが……、何はともあれ健康第一。

皆様もどうぞ、熱中症などには気を付けてお過ごしください。


2024年7月16日火曜日

【代引き注意】Amazon マーケットプレイス商品の購入でトラブルにあった(追記あり)

久々に Amazon マーケットプレイスで購入トラブルにあったので記録を残しておきます。注意喚起とともに、同じトラブルに巻き込まれた場合の対応の参考になればと思います。

まずはじめに、金銭的な被害を受けないための対応ですが、Amazon で注文した商品が代引きで送られてくることは絶対にないので、確実に受取拒否してください。

今回、私は事無きを得ましたが、一歩間違えると面倒なことになるようです。


一連の流れは以下の通りです。


1)Amazon で商品を購入(7/14 21:05)

購入したのは純正品のバッテリーで、商品名の下にメーカーのストア表示があるが、出荷元と販売元は別のマーケットプレイス出品者でした。(メーカー及び Amazon からの販売は確認した範囲では無し)

今思うとポイント還元も含めてかなり割安ではあったものの、プライムデーの先行セール品になっていたため怪しむこともありませんでした。

クレジットカード決済で問題なく購入手続きを完了。


2)SMS でメッセージが送られてくる(7/15 20:23)



メッセージがぶつ切れなうえ、順番がめちゃくちゃですが、入れ替えると下のようになります。

お客様注文番号:
購入者様:

この度は、Amazonで弊社の商品をご購入頂きまして、誠に有難う御座います。
現在店舗側とAmazonのシステムで一部不具合が生じており、Amazonの「決済機能」と「配送サービス」が利用出来ない状態でご面倒をおかけして、Amazonによりその為、弊社は現在在庫的な措置として、Amazonによる配送ではなく、弊社倉庫より佐川急便にて配送を行っております。 
またその際にAmazonの決済機能が使えない為、代替え措置として佐川急便の代引きにて配送を行なっております。 
佐川急便追跡番号: 
お客様にはご迷惑とご不都合をお掛けし誠に申し訳ございません。
何卒、ご理解を頂きたく宜しくお願い致します。
本件に関しまして、ご不明な点がありましたら、お知らせください。
また、Amazonで決済された金額に関しては、自動的にキャンセルされますが、万が一、返金されない場合は、大変お手数ですがその旨をメール内のメッセージにてご連絡頂きたくお願い致します。 ご注文日から5営業日以内にご確認とご連絡をお願い申し上げます。
【出品者連絡】
メールアドレス: 
電話番号: 
最後に、この度は折角ご注文を頂いたにも関わらず、ご迷惑とご不都合をお掛けし申し訳ありません。
誠意を持ってご注文された商品をお届けするよう最後まで対応する所存ですので、何卒ご理解を頂きたく宜しくお願い致します。

                   敬具
(番号等は削除しています)

初めはスパムかと思ったものの、注文番号と購入者名が実際のものだったため、出品者からのものだと気づく。

尚、メッセージへの返信は不可。



3)Amazon アカウントの状況を確認

Amazon のメッセージセンターへの連絡は無し。

「注文履歴」 > 「注文の詳細」の取引履歴で返金処理中であることを確認。

商品は日本郵便で発送済みになっているものの、追跡情報(トラッキングID)からは荷物の確認はできず。


4)佐川急便で商品が発送される

SMS で送られてきた佐川急便の追跡番号から、商品が発送されたことを確認。

(おそらく代引きで送られてくるであろう)佐川急便の荷物は Amazon の関知しないところで配送と決済が行われることになるので、当然ながら受取拒否することに。

その上で、
  • 処理中になっている返金が確実に実行されるのか
  • 返金の実行にあたって注文のキャンセルや返品などのアクションが必要なのか
  • 日本郵便で発送済みになっている荷物の行方
の3点が不明だったため Amazon カスタマーサービスに連絡することにしました。


5)Amazon カスタマーサービスに連絡(7/16 11:33)

ヘルプやチャットでは不明点の解消ができなかったため、担当者の方からの電話をリクエストしました。

判明した点は以下の通り。

まず返金について。

返金処理にもいくつかの種類があるそうです。今回は返品の有無に関わらず返金がされる処理になっており、特にアクションは必要ないとのこと。処理には数日程度要するが、確実に返金はされますとのことでした。

次に、日本郵便で発送された荷物の行方です。

こちらは、出荷元によるシステム上の操作で発送済みにできてしまうため、実際に発送されているかはわからないとのこと。追跡情報がないということは、おそらく発送はされていないのでしょう。

ただ、そもそも発送済みにしない方が購入者に対して別配送をする説得力が増すんじゃないのかと不思議に思ったのですが、よく考えたら Amazon のシステムへの対策なのかもしれません。


ということで、代引きで届く荷物さえ確実に受取拒否すれば損害を被ることはありません。一件落着です。


今回のようなケースはよくあることなのかと思ったら、担当者の方曰く、まだほとんど聞いたことのない事例だそうです。

もしも SMS をスパムだと思って特に気にせず、自身の留守中などに家族が代引きの荷物を受け取ってしまったりすると非常に厄介なことになる可能性があります。

お金を払ってしまっているものの、送られてきた商品がちゃんとしたものである保証はありません。

そして、ちゃんとした商品でなかったとしても、Amazon のあずかり知らぬところで配送も決済も行われているため、Amzon は介入がしづらいそうです。

まず購入者が Amazon に対してトラブルが発生したということをいろいろ証拠を提出して示し、その上で Amazon が警察に相談して……という流れになるんじゃないか、というのがカスタマーサービス担当者の方の話でした。(推測を含む話だと思います)

代引きで支払ってしまった代金がどうなるのかですが、一般論として一度払ってしまうと取り返すのもしんどそうです。

例えば、上述のような手続きをしたとして Amazon が保証してくれるかですが、それはそれで悪用ができてしまいそうなので、厳しいような気がします。追記 2024-7-25:Amazon のカスタマーサービスに連絡 → 警察へ相談 → Amazonに相談内容を提出で返金対応がなされたとのレビューがありました)

ちなみに、出品者の「特定商取引法に基づく表記」にある住所から情報をたどってみたところ、登記されている会社が出てきました。

事業内容としてはバッテリーの物販とは程遠く、少なくとも表向きはちゃんとしてそうに見えるのですが、どういうことなんでしょうか。

会社のサイト上の連絡先は、SMS 及び Amazon に載っていたものと異なっていました。調べると、出品者のアカウントを乗っ取られたというパターンもあり得るようです。


-----
・追記(2024-7-17 21:53)

私が購入した出品者にレビューが付いていました。(昨日時点では無し)


全く同じ手口で被害出てしまっていますね……。

昨日私がカスタマーサービスに連絡した時点で、Amazon 側でも何か対策を取っていれば、あるいはとも思いますが……。


また、先ほど確認したところ、この出品者の商品が全てなくなっていました。割安な価格とポイント還元で短期間に注文を受け、その後、この手口で詐欺をするということであれば、やはり出品者アカウントは乗っ取りの可能性が高いように思います。

低評価のレビューを書かれて、Amazon 側に問い合わせが行くことも想定しているでしょうから、乗っ取ったアカウントを使い捨てながら繰り返すつもりなのかもしれません。


・追記(2024-7-18 7:56)

Amazon での決済の返金完了を確認。

ちなみに、返金になった決済で付いた Amazon ポイントや d ポイントは返還になります。

もしすでにポイントを使ってしまっていたらどうなるのかとカスタマーサービスで聞いたところ、その場合は返金額から差し引かれるとのことでした。


・追記(2024-7-24 15:00)

継続的にバッテリーのチェックをしていたところ、7/20にまた似たような出品者が出現。

今回も同住所に登記されている会社があり、新規出品者で2000点以上の商品が出品されていました。

確認した範囲では、どの商品も同一商品で一番安くされているため、最初に表示されるようになっているようです。

7/22夜頃には2000点以上あった商品が全てなくなり、7/23夜頃から前回の出品者と同じような内容の星1のレビューが付き始めました。

やはり、アカウントを使い捨てながらやっているんでしょうか。気をつけなければなりません。
-----


みなさま、どうぞお気をつけください。