YaCy POI Suche mit OpenStreetMap Karte

Ereignisse, Vorschläge und Aktionen

YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Orbiter » Mi Mai 30, 2012 4:55 pm

Marc und ich basteln an einer POI (Point Of Interest) Suche und ich habe dazu einen Suchserver aufgesetzt um das zu testen.
Bitte mal ausprobieren:

http://poi.yacy.net

Momentanes Manko: keine Synonyme. Sucht man bsp. einen Kindergarten, so müssten 'KiTa' und 'Kindergarten' synonym sein. Anderes Beispiel: 'Restaurant' und 'Imbiss'.
Deswegen bitte ich euch um Mithilfe: Analysiert die Karte auf Dinge in euerer Umgebung und schreibt alle Bugs auf die euch auffallen und auch Synonyme die fehlen.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Quix0r » Mi Mai 30, 2012 7:13 pm

Ist "Limericks" (ein irisches Pub u.a. in Krefeld) ein passendes Suchwort? Dort taucht nur eines in Paderborn auf, nicht aber das aus Krefeld.
Quix0r
 
Beiträge: 1345
Registriert: Di Jul 31, 2007 9:22 am
Wohnort: Krefeld

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Orbiter » Mi Mai 30, 2012 10:24 pm

es kann nur das drin sein was in der OSM Karte ist. Zur Kontrolle dorthin zoomen und einfach auf die Karte gucken wenn man meint es fehle was.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon PCA42 » Do Mai 31, 2012 2:33 pm

Nach ein paar Tests: funktioniert. Hab auch gleich mal getestet mit den Burger-Bratern dieser Republik. Anregung daher: "mcdonalds" == "mc donalds", "burger king" == "burgerking". Die Osm ist leider nicht immer schön gleichmäßig aufbereitet.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Do Mai 31, 2012 7:58 pm

Hier eine AlphaAlphaAlpha-Version eines Clients für Android (Nina hat darauf hingewiesen, dass da 3x Alpha steht und ich habe gesagt, dass das OK ist. ;)).

Die Datei muss von YaCyPOISearch.zip in YaCyPOISearch.apk umbenannt werden (das Forum lässt mich keine APKs hochladen).

Den Quellcode werde ich demnächst bei Gitorious veröffentlichen, ich komme zur Zeit nur nicht dazu.

@Orbiter: Ich hoffe, dass ich mich morgen bei dir mal per Mail melden kann. Bin grad etwas im Stress... :geek:
Dateianhänge
YaCyPOISearch.zip
(179.56 KiB) 344-mal heruntergeladen
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Orbiter » Do Mai 31, 2012 10:14 pm

SUPERGUT! Habs gleich ausprobiert und funktioniert!

ich habe eben noch was am Protokoll geändert, damit das Suchergebis im GeoRSS nicht alle Ergebnisse liefert, sondern auf den sichtbaren Bereich einschränken kann. Ansonsten brauch die Ladezeit für viele Objekte (zB. Kindergarten > 3000 Treffer) schon lange. Das Protokoll ist nun so:

bsp:
Code: Alles auswählen
http://poi.yacy.net/yacysearch_location.rss?dom=alltext&maximumTime=<millis>&maximumRecords=<count>&query=<querystring>&lat=<lat>&lon=<lon>&r=<radius>


Neu ist also lat, lon und r. Die Werte beziehen sich auf EPSG:4326, also die WGS 84 Projektion.
Der Radius r muss mindestens die Hälfte der angezeigten Bilddiagonale sein und den gleichen Maßstab haben wie lon und lat. Suchergebnisse kommen dann nur aus diesem Bereich. Das bedeutet, dass jedesmal wenn der Ausschnitt verändert wird, die Suche neu abgeschickt werden muss. Um das effizienter zu machen würde ich r vervielfachen und dann nur neu suchen wenn der Ausschnitt aus dem vorher geladenen Bereich herausläuft.

Der Suchindex hat zur Zeit > 1 Mio POIs von der germany.osm Datei mit > 21GB. Ich mache mich jetzt an die besseren Synonyme damit mehr gefunden wird.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Fr Jun 01, 2012 10:00 am

Wie meinst du das denn, dass der Maßstab des Radius der gleich sein muss wie der von lon und lat? Lon und lat werden doch in Grad angegeben. Also Radius auch in Grad oder wie?

Erwartest du lon und lat als Dezimalzahl, also z.B. lon = 13.4194444, lat = 52.5486111 (irgendwo in Berlin)?

Verbreitet ist ja auch eine Darstellung, bei der lon und lat mit 10^6 multipliziert werden, um die Werte dann in Integern speichern zu können.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Orbiter » Fr Jun 01, 2012 10:22 am

Low012 hat geschrieben:Wie meinst du das denn, dass der Maßstab des Radius der gleich sein muss wie der von lon und lat? Lon und lat werden doch in Grad angegeben. Also Radius auch in Grad oder wie?

Einfach die Kantenlängen des Ausschnittes anhand der Koordinaten berechnen und dann Pythagoras / 2.
Das folgende Codestück aus yacysearch_location.html dokumentiert das vielleicht einfacher:
Code: Alles auswählen
var center = map.getCenter().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
var extend = map.getExtent().transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
var radius = Math.sqrt(extend.getWidth() * extend.getWidth() + extend.getHeight() * extend.getHeight()) / 2;

Das bedeutet also: mit r=180 deckst du den ganzen Globus ab.
Low012 hat geschrieben:Erwartest du lon und lat als Dezimalzahl, also z.B. lon = 13.4194444, lat = 52.5486111 (irgendwo in Berlin)?

genau, als Dezimalzahl.
Low012 hat geschrieben:Verbreitet ist ja auch eine Darstellung, bei der lon und lat mit 10^6 multipliziert werden, um die Werte dann in Integern speichern zu können.

Ich verwende die Notation wie es auch die API zu OpenStreetMap nutzt. Für das Caching der Suchanfrage kappe ich auf 5 Stellen hinter Komma, das ist immer noch auf einen Meter genau. OSM nutzt glaube ich auch 6 Stellen.

Details zum API Abruf habe ich im Javascript von yacysearch_location.html eingebaut, das könnte daher als Referenz dienen.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Fr Jun 01, 2012 11:24 am

Danke für die Hinweise, ich werde mal schauen, dass ich das schnell eingebaut bekomme.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » So Jun 03, 2012 3:11 pm

Habe für den Android-Client jetzt ein Repository auf Gitorious erzeugt:

https://gitorious.org/yacy-poi-search-c ... rch-client
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Lotus » Sa Jun 09, 2012 2:28 pm

Cool!
Nach was wird da gesucht? Eine Suche nach Aldi findet nur 2 von 3 Aldi in Wolfenbüttel.
Der dritte ist auch in der Karte eingetragen: http://www.openstreetmap.org/?lat=52.16 ... 8&layers=M

Über einem roten Pin darf der Mauszeiger auch gerne zur Hand werden.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Orbiter » Sa Jun 09, 2012 4:59 pm

Das Script welches aus den OSM World-Dateien eine YaCy Surrogat-Datei macht ist wahrscheinlich buggy und 'verschluckt' POIs, vermute ich. Das ist tricky weil die Datenmenge recht groß ist. Bin da noch nicht ganz fertig.

@Marc: ich hab noch nicht herausgefunden wie man in der Android App merkt dass der User den Kartenausschnitt bewegt hat. Kannst du da was machen?
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Mo Jun 11, 2012 9:26 am

Orbiter hat geschrieben:@Marc: ich hab noch nicht herausgefunden wie man in der Android App merkt dass der User den Kartenausschnitt bewegt hat. Kannst du da was machen?


Ich glaube, man muss eine eigene Klasse schreiben, die von MapView abgeleitet ist und in der man onTouchEvent und onTrackballEvent sinngemäß so überschreibt (den Code schreibe ich direkt hier in das Forum, habe grad keine Möglichkeit, die Richtigkeit zu überprüfen):

Code: Alles auswählen
public boolean onTouchEvent(final MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_MOVE) {
        Log.d("Test", "Karte wurde bewegt!);
    }
    return super.onTouchEvent(event);
}


Ich habe am Samstag noch ein paar Sachen an der App geändert, aber noch nicht eingecheckt, weil ich nicht ganz fertig geworden bin. :(

edit: Ich bin nicht ganz sicher, ob man das beim MapView machen kann oder ob man das ggf. beim Overlay machen muss.

editedit: Anmerkung an mich selbst: Oder analog zu dem hier: http://pedroassuncao.com/blog/2009/01/2 ... s-mapview/
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Mo Jun 11, 2012 7:57 pm

Orbiter hat geschrieben:Kannst du da was machen?


[x] done und im Git

Sobald die Karte bewegt wird, wird die Karte nicht mehr automatisch nachgeführt. Jetzt müsste man das nur wieder einschalten könne...
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Mi Jun 13, 2012 1:25 pm

Vorschlag für Synonyme:

Schlachter, Schlachterei, Fleischer, Fleischerei, Metzger, Metzgerei
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Orbiter » Mo Okt 27, 2014 3:20 pm

es gibt nun ein Tutorial-Video zur Kombination von YaCy + Openstreetmap:
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Mi Okt 29, 2014 12:03 pm

Nachdem ich im git gesehen habe, dass es da letztens einen kleinen Commit gab, habe ich mich auch wieder an die App erinnert. Eigentlich würde ich die gerne nochmal komplett neu beginnen, aber Zeit und so...
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Orbiter » Mi Okt 29, 2014 1:47 pm

ja ich hatte eine Kleinigkeit fixen müssen, aber das ganze sollte noch genau so gehen.

Ich würde ja schon gerne eine YaCy app für die Suche machen, da wäre es dann toll wenn die Karte als Suchdarstellungsoption mit drin wäre. Ich habe sogar schon angefangen, es geht aber nicht richtig weiter weil mir zu viel Vorkenntnisse fehlen um an kleinen 'es geht nicht weiter und ich verstehe den Fehler nicht'-Stellen weiterkommen zu können.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: YaCy POI Suche mit OpenStreetMap Karte

Beitragvon Low012 » Mi Okt 29, 2014 7:35 pm

Ich mache ja seit 3 Jahren kaum was anderes und kenne mittlerweile recht viele Stolperfallen, Bugs und Limits von Android.Ich kann mich abends leider nur selten aufraffen, das gleiche, was ich schon den ganzen Tag mache, auch zu hause noch fortzusetzen... ;-)

Mir ist übrigens aufgefallen, dass die POI-Suche über das HTML-Interface von YaCy nicht funktioniert, wenn man YaCy über HTTPS lädt:


Begründung siehe Screenshot.
Dateianhänge
screenshot_firebug.png
screenshot_firebug.png (92.46 KiB) 7390-mal betrachtet
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm


Zurück zu Mitmachen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast