0

私はこれに完全に困惑しています。あまりにも単純すぎて、私には見えていないのかもしれません。

JSONクエリ文字列に基づいてファイルを外部Webサイト(今のところ1つだけ)で検索し、ページのクエリから検索結果を返すことができるようにする必要がある場所で作業しているWebサイトがあります(基本的にミニ検索エンジン) .

接続方法の例 (受信したメール):

http://EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH&spatial_intersect=[wkt_geometry]

[wkt_geometry] は、URL エンコードされた OGC Well-Known Text ポイントまたはポリゴン ジオメトリです。空間参照系は、Google と Bing で使用されている Spherical Mercator (EPSG 3785 / 3857 / 900913) です。

サーバーの応答は JSON でエンコードされたオブジェクトで、成功の場合は次のようになります: {"status": "ok", "parcel_count": [一致する区画の数], "txn_id":"[トランザクション ID 文字列]" }

または失敗の場合: {"status":"error","error_message":"[エラー メッセージ文字列]"}

たとえば、1400 University Blvd, Birmingham, AL の区画に含まれる座標 (-9663031.13, 3962292.03) でポイント クエリを実行するには、ポイント文字列を作成します。

ポイント(-9663031.13, 3962292.03)

それを urlencode し、「spatial_intersect」値として渡します: http://EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH&spatial_intersect=POINT(-9663031.13%203962292.03)

サーバーからの応答: {"status":"ok","parcel_count":1,"txn_id":"sADaOswk3DlfvCLDEFWu7p3Sv"}

長方形の左下座標 (-9663128.4741915, 3962254.4093738) と右上座標 (-9663033.5250705, 3962386.9798447) を使用して、前の区画と他の 2 つの区画と交差する長方形クエリを実行するには、次のポリゴン文字列を形成します。 3962254.4093738、-9663128.4741915 3962386.97984447、-9663033.5250705 3962386.9798447、-9663033.52507053838198198198、)-40984447、-9663033.525250738

Then urlencode it and pass as the "spatial_intersect" value : http://EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH&spatial_intersect=POLYGON((-9663128.4741915%203962254.4093738,-9663128.4741915%203962386.9798447,-9663033.5250705%203962386.9798447,-9663033.5250705%203962254.4093738 ,-9663128.4741915%203962254.4093738)) サーバーからの応答: {"status":"ok","parcel_count":3,"txn_id":"9skFh7PNdZYJgXyAgDnRXrIWJ"}

ユーザーが HTML フォーム (郵便番号、住所など) でフィールドを入力できるようにしたいので、上記の例のような外部 Web サイトで検索して、結果を同じページ。私はこれに取り組むためのオンライン リソースを見つけるのに苦労しています。私はあまりコーダーではない (システム管理者のほうが多い) ので、ここで立ち往生しています。コードは理解できますが、これを実装する方法がわかりません。

これはJavascript、HTML、PHPで行うことができます。これを簡単に理解しようとしても問題ありません。例があれば役立つかもしれません。誰かがこれについて何か洞察を持っているなら、それは大歓迎です!

4

1 に答える 1

0

これは私がこれまでに持っているコードです ( http://s31tech.com/jsonでアクセスできます)。空間交差フィールドにPOINT(-9663031.13%203962292.03)を入力すると、有効な応答が得られます。

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>

    <form method="post" action="<?php echo $PHP_SELF;?>">
    Address:<input type="text" name="address">
    Spatial Intersect: <input type="text" name="intersect">
    <input type="submit">
    </form>
    <br />
    Address entered was: <?php echo $_POST["address"]; ?>
    <br />
    Spatial Intersect Coordinates: <?php echo $_POST["intersect"]; ?>
    <br />
    <br />



    <?php
    $url = "http://reportallusa.com/api/start_parcels_txn?client=t3vDwH&";
    $spatial_intersect = "spatial_intersect=";
    //$coordinates = "POINT(-9663031.13%203962292.03)";
    $coordinates = $_POST["intersect"];; 
    $JSON = file_get_contents($url.$spatial_intersect.$coordinates);

    // echo the JSON (you can echo this to JavaScript to use it there)
    echo $JSON;

    // You can decode it to process it in PHP
    $data = json_decode($JSON, true);
    var_dump($data);
    ?>
    <br />
    URL Path: <br />
    <?php echo $JSON; ?>

    </body>
    </html>
于 2013-05-16T03:04:04.057 に答える