1

でクエリする場合

無視ケースが含まれています

次に、クエリはデータを返しますが、それは遅くなります。

フュージョンテーブルのジオメトリ列でクエリを実行するにはどうすればよいですか?

Googleマップでkmlファイルを作成し、Googleフュージョンテーブルにインポートしました。列の経度と緯度を検索してgeometry、ポリライン内の1つ以上のポイントで経度と緯度が一致するゾーンの名前を返そうとすると。

私の場合のジオメトリ列には、次のようなポリラインが格納されます。

現在のセル値:

<LineString><coordinates>
-99.832771,16.88472,0.0
-99.832703,16.88558,0.0
-99.832703,16.88558,0.0
-99.831383,16.885441,0.0 
..... 
</coordinates></LineString>

今私はクエリを試してみますtableid = 3427749

http://fusiontables.googleusercontent.com/fusiontables/api/query?sql=
SELECT name FROM 3427749 
WHERE ST_INTERSECTS('geometry',RECTANGLE(LATLNG(32.618591,-115.441528),LATLNG(31.954109,-115.212509)))

そしてvoidを返しますが、同じ座標を長方形にペイントしようとすると、それがよくわかります。テーブルを見ると、この領域には私のクエリに有効な座標が含まれています。

同じ領域をペイントする:


 var boudns = new google.maps.LatLngBounds(new google.maps.LatLng(32.618591, -115.441528),    new google.maps.LatLng(31.954109,-115.212509));

 var rectOptions = {
          strokeColor: "#000000",
          strokeOpacity: 0.6,
          strokeWeight: 2,
          fillColor: "#000000",
          fillOpacity: 0.2,
          bounds: boudns
        };
 rect.setOptions(rectOptions);

 var myOptions = {
      center: new google.maps.LatLng(23.926013,-101.90918),
      zoom: 5,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
 map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

 rect.setMap(map);

//You need implement a div with id map_canvas and put the code in `<script>` tags.

なにが問題ですか?何か助けてください?

4

1 に答える 1

1

検索 RECTANGLE で緯度が間違っています。

FT SELECT リファレンス ドキュメントから

The syntax is: RECTANGLE(<lower_left_corner>, <upper_right_corner>)

あなたが持っている:

ST_INTERSECTS('geometry',RECTANGLE(LATLNG(32.618591,-115.441528),LATLNG(31.954109,-115.212509)))

緯度 32.618591 > 31.954109 これらの緯度を切り替えてクエリを実行すると、「メヒカリ - エル ファロ」という名前が 1 つ得られました。

于 2012-04-05T21:59:55.467 に答える