<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=DE link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hallo Listenmitglieder,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>ich habe eine Anwendung erstellt, mit der man ein Punktthema
aus POSTGIS nach verschiedenen Kriterien filtern kann. Unter anderem ist es
damit möglich, nur die Punkte anzuzeigen, die in einer bestimmten Entfernung
von einer Gruppe von anderen Punkten (Points of interest) liegen.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Beispiel: Zeige mir alle Punkte, die im Umkreis von 200 m um
Apotheken liegen.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Die entsprechenden Punkte werden auch auf der Karte
dargestellt und der entsprechende Pufferbereich wird zusätzlich in der
angegebenen Größe visualisiert.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Jetzt möchte ich zusätzlich eine Liste der Datensätze
erstellen, die innerhalb des Kartenausschnittes <b><u><font color=black><span
style='color:black;font-weight:bold'>und</span></font></u></b> des Puffers liegen
und auch die Anzahl der Punkte berechnen. Dazu habe ich den folgenden
SQL-String verwendet:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>SELECT DISTINCT datum, ort, stadtteil, einsatzstichwort, text, enr FROM
lage_k lk, poi p where lk.the_geom &amp;&amp; SetSRID('BOX3D(2550220.14387
5629446.95903, 2585841.33414 5665068.1493)'::box3d,31466) AND
distance(lk.the_geom, p.the_geom) &lt; 150 and p.bezeichnung = 'Apotheken' AND
lage LIKE '03L%' AND datum &gt;= '2006/03/11 00:00:00' AND datum &lt;=
'2006/03/17 23:59:59' ORDER BY datum</span></font><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Für die Ausgabe der Datensatzinformationen reicht diese Abfrage auch
aus, da durch DISTINCT in Verbindung mit einer eindeutigen Nummer (enr) keine
doppelten Datensätze erscheinen.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Bei der Berechnung der Werte für die einzelnen Gruppen über den
SQL-String<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'>SELECT DISTINCT lage, Count(lage) AS Anzahl FROM
lage_k lk, poi p where lk.the_geom &amp;&amp; SetSRID('BOX3D(2550220.14387
5629446.95903, 2585841.33414 5665068.1493)'::box3d,31466) AND
distance(lk.the_geom, p.the_geom) &lt; 150 and p.bezeichnung = 'Apotheken' AND
lage LIKE '03L%' AND datum &gt;= '2006/03/11 00:00:00' AND datum &lt;=
'2006/03/17 23:59:59' GROUP BY lage<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>kommt&nbsp; jedoch zu Fehlern, da die Datensätze für den
Puffer mehrfach gezählt werden, wenn sie im Pufferbereich mehrerer Apotheken
liegen. Für die Darstellung der Punkte über den Layer lautet die Abfrage<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'>the_geom from (select lk.the_geom as the_geom, lk.gid
as oid, lage from lage_k lk, poi p where distance(lk.the_geom, p.the_geom) &lt;
150 and p.bezeichnung = 'Apotheken' AND lk.lage LIKE '03L%' AND datum &gt;=
'2006/03/11 00:00:00' AND datum &lt;= '2006/03/17 23:59:59' ORDER BY lage DESC)
AS new_table USING UNIQUE oid USING SRID=31466<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Es ist mir bislang nicht gelungen, die offensichtliche Fehlerquelle wie
im letztgenannten Beispiel durch <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'>the_geom from (select &#8230;.) AS new_table USING
UNIQUE oid<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>auch für die Datensätze des Puffers eindeutig zu machen.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Kann mir jemand einen Tipp geben, wie ich in diesem Fall den SQL-String
zusammensetzen muss oder ggfls. eine andere Möglichkeit nennen, um mein Problem
zu beheben.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Danke im voraus.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Mit freundlichen Grüßen</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Klaus Schiefer</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>