私はしばらくこれと戦ってきたので、誰かが私を助けてくれることを願っています. 私はあらゆる提案を受け入れます。
を照会するQGeoAddress::street()
と、番地と通りの名前の両方を受け取る場合があります。通りの名前だけを取得したいと思います。
例:
King St W -> King St W
99 King St W -> King St W
99a King St W -> King St W ...
1st St -> 1st St
99 1st St -> 1st St
99a 1st St -> 1st St ...
315 W. 42nd -> W. 42nd
42 St. Paul Drive -> St. Paul Drive
これを行う必要があるのは、2 つの別々のデバイスの位置を最新の通りの名前で比較できるようにするためです。デバイスが「99 King St W」にある場合、「113 King St W」または「113a King St W」と同じ通りにあります。
現状では、課す規則が多すぎて、ストリート名の多様性が私に不利に働いているため、正規表現が信頼できる優れたソリューションであるとは思いません。理論的には、「1 1st St」を正規化する正規表現に失敗する「1 St」という通りが存在する可能性があります。
独自のファジー マッチャーを作成すると、より良い結果が得られる可能性がありますが、通りの名前が短い場合は失敗する可能性があります。
REST Web サービスへのクエリも検討しましたが、無料サービスの多くは 1 日あたりのリクエスト数に制限があるか、リクエスト間の最小時間が制限されているため、そのメソッドが高価になりすぎます。
私が言うように、皆さんが思いつくことができるものを聞きたいです.
とても有難い :)