2017-12-14 5 views
1

Ich habe eine Frage zu räumlichen Daten und u-sql. Ich habe eine Eingabe mit Polygonen und Eingabe mit Punkten, und ich möchte diese kombinieren, so dass ich weiß, in welchem ​​Polygon der Punkt gehört.Die beste Möglichkeit, räumliche Daten zu kombinieren

In T SQL ich eine linke äußere tun würde kommen mit so etwas wie polygon.STintersect (Punkt) = 1

Aber ich nehme an, dass nicht in u SQL arbeiten. Wie kann ich diese beiden Eingaben kombinieren?

Antwort

1

Um die Diskussion auf maya Antwort zusammenfassen: Sie müssen sich zur Zeit in einem Kombinierer die Verbindung tun oder mit einem CROSS JOIN/WHERE.

Sie können auch eine Feature-Anforderung für native Spatial-Unterstützung unter http://aka.ms/adlfeedback ablegen.

1

Sie können die Assembly vom Typ SQL Server (Microsoft.SqlServer.Types.dll) verwenden, die die Implementierung des Typs geometry und seiner Methoden bereitstellt.

Details sehen, wie diese Anordnung in Blog zu verwenden: https://blogs.msdn.microsoft.com/azuredatalake/2016/08/26/how-to-register-u-sql-assemblies-in-your-u-sql-catalog/#s4

+0

Danke. Ich bin mir dessen bewusst. Das Problem, dem ich gegenüberstehe, ist, dass Sie keine Funktion und == 1 in einer Join-Klausel in u-sql haben können. – Liston

+0

Ich dachte daran, eine Cross-Verbindung mit einer WHERE-Klausel zu machen, aber das würde mir eine schreckliche Leistung bringen. Eine andere Option, an die ich gedacht habe, ist, meine eigene Kombinationsaussage zu schreiben ... irgendwelche Gedanken? – Liston

+1

Benutzerdefinierte Kombinationsanweisung sollte leistungsfähiger als Cross Join sein, ja. Anders als die Optionen, die Sie erwähnt haben, habe ich keine anderen Ideen ... – maya

Verwandte Themen