Ich bin neu hier und Punkte schlecht, so kann ich nur 50 pt Kopfgeld anbieten.Geographische Hindernisse in Radius sucht
Angenommen, ich habe eine Anwendung eine Suche nach allen Tankstellen innerhalb von 10 Meile Radius von einem bestimmten Standort. Allerdings ist die eine Seite dieses Standortes von einer Bergkette umgeben, die Sie 50 Meilen fahren müssen, um sich fortzubewegen. Sie würden nicht Ergebnisse von der anderen Seite des Berges zurückgeben wollen. Was sind einige gute Algorithmen/Techniken, um mit einem solchen Problem umzugehen? Ich weiß, dass Sie mit Punkt-zu-Punkt-Suchen Pfadkosten verwenden können, aber ich bin nicht sicher, was die Technik mit Radius-Suchen ist. Hier
ein Beispiel:
Die rote Linie ist ein Akkord auf dem Kreis mit Radius von 40 -74 bis 41, -72 lat lang (nicht genau nur sagen) Der Anwender bei 40 , -73 führt eine geografische Radiussuche nach etwas durch, das auch Bereiche über den LI-Ton in Connecticut umfasst, die nicht erreichbar sind. Der Algorithmus sollte wissen, dass es einen Akkord gibt, der den Suchkreis vollständig schneidet und keine Ergebnisse liefert, die auf der anderen Seite dieses Akkords liegen. Es werden also nur Punkte im grünen Bereich zurückgegeben.
Dies sollte ohne Straßennetzwerkanalyse möglich sein, wenn der Programmierer diese Begrenzungslinien definiert. Zum Beispiel kann es in einem Land ein Gebiet geben, in dem es gefährlich ist, es zu passieren, und Sie möchten, dass die Menschen auf beiden Seiten dieses Gebiets auf diese Seite beschränkt sind. Oder eine internationale Grenze usw. Ich frage das nur, weil ich mir ziemlich sicher bin, dass die Leute das machen.
Ich denke nicht, die Frage ist klar. Messen Sie die Entfernung entlang eines Straßennetzes oder nutzen Sie die Luftentfernung (vorausgesetzt, es gibt keine Berge)? –
Gut Luftdistanz. Zum Beispiel, wenn ich auf der Westseite von Manhattan stehe und einen Radius suche nach Restaurants suche. Ich möchte, dass der Hudson River bei dieser Suche eine harte geografische Grenze bildet. IE, vielleicht gibt es ein Restaurant auf der NJ Bank des Hudson, aber es ist praktisch nicht möglich, dorthin zu kommen, obwohl es in meinem "wie der Vogel fliegt" Radius sein könnte. –
Im Wesentlichen frage ich, was ist eine Technik, um dies zu tun, ohne einen Graph Punkt zu Punkt Route mit Straßen zu tun. Ich weiß, wenn ich es zum Beispiel Straßen machen wollte, würde ich hohe oder unendliche Kosten zuweisen, um über eine Brücke oder einen Tunnel zu reisen, um NJ-Ergebnisse auszuschließen. Ich würde mir vorstellen, dass es eine Möglichkeit gibt, eine Linie von einer Koordinate zur anderen zu definieren, die Ergebnisse über diese Grenze ausschließen würde, selbst wenn sie die Entfernung des Vogels treffen würden. –