minimale Distanz berechnen

Ich entwickle gerade fuer meine Diplomarbeit ein Optimierungsmodel mittels GAMS um zwischen off-grid und grid Loesungen fuer laendliche Elektrifizierung in Kenya zu entscheiden.
Ein Schritt besteh darin die kuerzeste Entfernung zwischen dem vorhandenen Stromnetz und jedem der Bezirke Kenias zu berechnen. Das heisst die Distanz vom naheliegensten Grenzpunkt des Bezirkes zum bestehenden Stromnetz zu berechnen.
Ich habe dazu GIS Daten, shapefiles fuer die Bezirksgrenzen und das Stromnetz und nachdem ich mich ein bisschen eingelesen habe, denke ich, dass ich die Funktion ST_distance oder st_intersection benuetzen muss um die minimale Distanz zu errechnen. Mit dem Programmiervorgang der ArcGIS Hilfe Datei zu ST_distance kann ich leider nicht viel anfangen.
Fuer jegliche Hilfe waere ich sehr, sehr dankbar.
Liebe Gruesse,
Marianne

Hallo!
Womit möchtest/musst du denn arbeiten? PostGIS oder ArcGIS? Auf welcher Plattform soll das Ergebnis dargestellt werden, ArcGIS, freies GIS oder als Webservice? Womit sollst/musst du entwickeln? Welche Versionen benutzt du denn? ArcGIS kann z.B. erst mit der (noch nicht erschienenen) Version 9.4 (offiziell :wink: ) lesend auf PostGIS zugreifen.
Für das von dir beschriebene minDistance-Problem hatte ich neulich was im Zusammenhang mit PostGIS 1.4 gelesen AFAIR. Kann sein, das es dafür was neues gibt, ich muss aber erst suchen.

Grüssle Uwe

Lieber Uwe!
Vielen Dank fuer deine Antwort. Ich moechte eigentlich mit ArcGIS 9.2 arbeite, weil ich das auf meinem Computer habe und schon damit gearbeitet habe. Vielleicht koennte ich an der Uni auf 9.4. zugreifen. Die Daten moechte ich dann in GAMS einspeissen und dort weiterverarbeiten. Deshalb brauchte ich sie nur in tabellarischer Form. Es sollen vom bestehenden naechstegelegenen Stromnetz die minimale Distanz zur naechstgelegenen Gemeindegrenze ausgerechnet werden und das fuer jede Gemeinde. Hast du schon mit st_distance gearbeitet? Ich versteh leider nicht ganz wie ich das in die command line eingebe. Aber wenn es auch irgendwie mit PostGIs gehen solte wuerde mir das genauso viel weiterhelfen.
Vielen, vielen Dank !
Liebe Gruesse,
Marianne

Lieber Uwe!
Ich denk mir es ist einfacher folgendermassen vorzugehen: Ich teile die Bezirke in solche ein, die ein Stromnetz haben und die die keines haben. Dann muesste ich die Entfernung von den Bezriken ohnen Netz zu dem naeheliegendsten Bezirk mit Netz ausrechnen.
Danke nochmal fuer deine Hilfe.

Hallo Marianne!

Leider hatte ich keine Zeit dir zu antworten, bzw. mir Gedanken zu machen weil hier gerade die Kuh am fliegen ist. Vielleicht fällt mir aber noch was ein, vergessen hab ichs jedenfalls nicht, weil mir ähnliche Auswertungen drohen.

Bis dahin

Veile Grüsse Uwe

Hallo nochmal!

Du könntest (zumindest mit PostGIS) sowas versuchen:

select t1.id, st_distance(t1.the_geom, t2.the_geom)
  from (select alle_ohne_strom) t1, (select st_union(alle_mit_strom)) t2

Du könntest unter PostGIS 1.5 auch ST_ShortestLine statt ST_Distance verwenden, dies liefert auch die dazugehörige Geometrie mit der gleichen Länge wie ST_Distance.

Um das anwenden zu können, kannst du entweder eine Oberfläche für Postgres zB. PGAdmin verwenden, oder du schreibst den SQL-Code in eine einfache Text-Datei und führst diese mit dem Befehl ‘psql -u USER -d DATENBANK -f SQL-DATEI aus’. Oder du lässt es dir gleich in ein Shapefile schreiben, mit ‘pgsql2shp -d Datenbank -u USER -f SHAPEFILE -c SQL-BEFEHL’

Grüsse Uwe