From: <no...@so...> - 2002-01-30 10:52:41
|
Bugs item #505009, was opened at 2002-01-17 10:56 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104091&aid=505009&group_id=4091 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Koordinaten eines Polygons?? Initial Comment: Hallo Ich will durch Pointen auf einem Polygon alle Koordinaten seiner Eckpunkte rausfinden ! wer kann mir helfen ? Danke. Mark ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-01-28 12:18 Message: Logged In: NO Hallo Stefan, vielen Dank für deine Hilfe. du hast mir echt sehr viel geholfen. Gruss, Mark ---------------------------------------------------------------------- Comment By: Stefan Rasemann (formelement) Date: 2002-01-28 05:51 Message: Logged In: YES user_id=441087 Hallo Mark, leider kann ich zu Deinem Codeschnipsel nicht sehr viel sagen, da ich bisher kaum mit shape files zu tun hatte. Daher kann ich jetzt auf Anhieb keinen Fehler entdecken, aber ich schaue es mir nochmal in einer ruhigen Minute an, dann kann ich vielleicht mehr sagen. An diesen Comment haenge ich ein kleines applet an, das James Macgill auf deinen request hin geschrieben hat und das ziemlich das machen sollte, was du brauchst. D.h. es lädt ein shapefile, zeigt es an und durch clicken mit der Mouse erhälst Du _alle_ Koordinaten, des entsprechenden Polygons und die Position des Mauszeigers. Die Möglichkeit sich nur die Koordinaten der geclickten Linie des Polygons ausgeben zu lassen existiert wohl zunaechst nicht. Du müsstest dann rauskriegen, welches Liniensegment Deiner momentanen Mouseposition am naechsten ist, aber dazu faellt mir auf Anhieb gerade auch nichts ein. Probier doch einfach mal das applet aus, und lass mich wissen, ob es dir weiter hilft oder ob neue Probleme auftauchen. Gruss, Stefan ------------------------PolygonFetchTest.java------- import java.applet.*; import java.awt.*; import java.net.*; import java.io.*; //now import the main geotools package import uk.ac.leeds.ccg.geotools.*; //finaly import the toolbar from the widgets package import uk.ac.leeds.ccg.widgets.*; public class PolygonFetchTest extends Applet implements HighlightChangedListener { Viewer view = new Viewer(); // Note it is declared and initalized here Theme t; //Initalise the applets comonents and sort out the layout public void init(){ setLayout(new BorderLayout()); add(view,"Center"); //Add the view to the center so that it will expand to fill available space ToolBar tools = new ToolBar(view);//Constucted with the Viewer to control add(tools,"South");//add the toolbar to the south of the applet } public void start(){ //load maps try{ loadMaps(); } catch(IOException e){ this.showStatus("Error loading map file "+e); } } public void loadMaps() throws IOException{ String shapefile = this.getParameter("shapefile"); //this should be a relative address. URL url = new URL(getCodeBase(),shapefile); ShapefileReader sfr = new ShapefileReader(url); t = sfr.getTheme(); HighlightManager hm = new HighlightManager(); t.setHighlightManager(hm); hm.addHighlightChangedListener(this); view.setHighlightMode(view.REQUEST); view.addTheme(t); } public void highlightChanged(HighlightChangedEvent hce) { MixedLayer layer = (MixedLayer)t.getLayer(); GeoPolygon poly = (GeoPolygon)layer.getGeoShape(hce.getHighlighted()); java.util.Vector points = poly.getPoints(); GeoPoint clicked = view.getMapGeoPoint(); System.out.println(clicked); for(int i=0;i<points.size();i++){ GeoPoint p = (GeoPoint)points.elementAt(i); System.out.println(""+p.getX()+" "+p.getY()); } } } -----PolygonFetchTest.html----------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1"> <META NAME="GENERATOR" Content="Visual Page 2.0 for Windows"> <TITLE>Example 4 - Using the zoom level picker</TITLE> </HEAD> <BODY> <H1>Example 4</H1> <H2>The zoom level picker</H2> <P><APPLET ARCHIVE="jars/support.jar,jars/geotools.jar,jars/collections.jar" CODE="PolygonFetchTest" WIDTH="430" HEIGHT="270" ALIGN="BOTTOM"> <PARAM NAME="shapefile" VALUE="maps/theme4"> <PARAM NAME="shadeby" VALUE="UNEMPLOY"> <PARAM NAME="tooltip" VALUE="STATE_NAME"> </APPLET> </P> Double Click on key to configure.<p> <P><<A HREF="Example4.java">source</A>></P> <P><CODE><APPLET ARCHIVE="jars/geotools.jar,jars/collections.jar" CODE="Example3.class" WIDTH=430 HEIGHT=270><BR> <PARAM name="shapefile" value="amap"><BR> <PARAM name="tooltip" value="acolumn"><BR> <PARAM name="shadeby" value="acolumn"><BR> </APPLET></CODE> </BODY> </HTML> ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-01-25 11:10 Message: Logged In: NO Hallo Stefan, hier schreibe ich den Teil-code mit dem ich versuche die Koordinaten eines Polygons aufzulisten, aber ich kriege immer nur vier Koordinatenpaare ! was mache ich falsch ? eine Antwort von dir würde mich freuen. Mark Theme t; . . loader = new ShapefileReader(url); . t = loader.getTheme(); HighlightManager high = new HighlightManager(); t.setHighlightManager(high); . . . public void selectionChanged(SelectionChangedEvent e){ GeoRectangle bounds = t.getSelectionMapExtent(); Vector points; points = bounds.getPoints() ; for( i=0;i<points.size();i++){ GeoPoint gpo =(GeoPoint)points.elementAt(i); System.out.println("#==============>"+gpo.getX() +"#==============>"+gpo.getY() ); } } ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-01-23 07:31 Message: Logged In: NO Hallo Stefan, danke dass du dich gemeldet hast. unter allen Fällen die du aufgelistet hast,trifft der dritte Fall zu. das heisst ich will die Koordinaten der Linie (teil eines Polygons) auf die ich daraufgeclickt habe (Highlightmanager!), rausholen. wie kriege ich die Koordinaten des Anfang- und Endpunkt ? Gruss, Mark ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-01-23 04:07 Message: Logged In: NO Hallo Mark, jetzt muss ich nochmal nachfragen. wo genau das Problem ist: 1. Beim einlesen des shapefiles? 2. Beim darstellen auf dem Viewer? 3. Beim draufclicken mit der Maus (Highlightmanager)? 4. Oder beim Ausgeben der Koordinaten? 5. Moechtest Du die Koordinaten aller Punkte des Polygons oder nur die zwei Endpunke des Linienabschnittes des Polygons ueber dem sich die Mouse gerade befindet? Gruss, Stefan ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-01-22 11:11 Message: Logged In: NO Hallo ich warte immer noch auf eine Antwort. du wirst mir sehr viel helfen, wenn du mir antworten könntest. Danke Mark ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-01-18 09:50 Message: Logged In: NO Hallo, vorerst danke für deine Antwort. Zurück zu meinem Problem, Nach dem Laden der shape-file habe ich mehrere geschlossene Polygone,für weitere geometrische Berechnungen z.B (Gradenschnitt) benötige ich die Koordinaten der jeweiligen Seite,diese möchte ich durch Daraufpointen herausfinden. Mit freundlichen Grüßen Mark ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2002-01-18 09:27 Message: Logged In: NO Hallo Mark, beschreib Dein Problem doch bitte noch etwas genauer. Möchtest ein Polygon im Viewer darstellen und durch draufclicken mit der Maus oder darüber positionieren des Mauszeigers die Koordinaten der Punkte dieses Polygons ausgeben? Oder meinst du etwas anderes? ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104091&aid=505009&group_id=4091 |