2017-08-29 14 views
0

広いエリアの中央に四角いエリアをとり、その結果を除外/削除することを検討しています。GPSマッピング除外エリア:SQL、数学、コールドフュージョン

このコードは私の外の領域をつかみ、うまく動作します。同じコンセプトに

<cfquery name="q" datasource="ds"> 
    select * from master 
    where (gpslat > #area.bgpslat# and gpslat < #area.tgpslat#) and (gpslong > #area.lgpslong# and gpslong < #area.rgpslong#) 
    and eventdate like '%2016%' 
    </cfquery> 

、私は除外領域を作成しました:exbgpslat、extgpslat、exlgpslong、

をexrgpslongそして、私は結果から、元のものを削除したい...私はこのコードを使用しています...

<cfquery name="q" datasource="ds"> 
    select * from master 
    where (gpslat > #area.bgpslat# and gpslat < #area.tgpslat#) and (gpslong > #area.lgpslong# and gpslong < #area.rgpslong#) 
    and (gpslat > #area.exbgpslat# and gpslat < #area.extgpslat#) and (gpslong > #area.exlgpslong# and gpslong < #area.exrgpslong#) 
    and eventdate like '%2016%' 
    </cfquery> 

これで内側のボックスから結果が得られます。外側のボックスは除外されます。

悪い数学とSQL文を実行していますか?

このEXCEPTステートメントは機能しません。

<cfquery name="test" datasource="fire_report"> 
    select * from master 
    where (gpslat > #area.bgpslat# and gpslat < #area.tgpslat#) and (gpslong > #area.lgpslong# and gpslong < #area.rgpslong#) 
    and statignore = 0 and eventdate like '%2016%' 
    EXCEPT 
    select * from master 
    where (gpslat > #area.exbgpslat# and gpslat < #area.extgpslat#) and (gpslong > #area.exlgpslong# and gpslong < #area.exrgpslong#) 
    and statignore = 0 and eventdate like '%2016%' 
</cfquery> 

答えて

0

あなたがwikilinkをジオハッシュ知っていますか。 問題を処理するのは良いことです。

+0

Google Maps APIを使用していますが、これはジオの問題ではありません。 SQL呼び出しを記述して外部領域を取得し、内部領域を除外する方法。 –