Openlayers i GeoJSON w prezentacji zdj. zbior. - pytanie

w tym bazy PTG : Geneteka, Metryki .. Nasze bazy, Wyszukiwarki na Genealodzy.pl oraz szukaj w Postach i Tematach.. na Forum

Moderatorzy: elgra, maria.j.nie

Awatar użytkownika
hniew

Sympatyk
Posty: 759
Rejestracja: czw 11 lis 2010, 22:49

Openlayers i GeoJSON w prezentacji zdj. zbior. - pytanie

Post autor: hniew »

Witam,
Od kiedy zabrałem się za klecenie strony chodzi mi po głowie temat prezentacji i opisu zdjęć zbiorowych.
Dziś wydaje mi się, że jestem blisko satysfakcjonującego rozwiązania.
Robiąc mapki zorientowałem się, że narzędzia do ich tworzenia i wyświetlania mogą się nadać także do umieszczania w sieci dużych zdjęć.
Pewnie nie nowy pomysł, ale dla mnie małe objawienie ;)
Na dziś doszedłem do takiego etapu:
http://lik.info.pl/OLzbiorowe2013.php
tzn:
- za pomocą MapTilera pokafelkowałem zdjęcie
- za pomocą QGISa zrobiłem obrysy osób i zapisałem w pliku geojson (dla testów tylko dla części górnych szeregów)
- za pomocą biblioteki Openlayers umieściłem obie warstwy na prowizorycznej stronie
- dzięki OpenLayers.Control.SelectFeature po kliknięciu w wybraną osobę jest ona zaznaczana/podświetlana (zmienia się styl wypełnienia poligonu).

I na tym etapie utknąłem - tuż przed końcem etapu minimum.
Dla zakończenia niezbędna jest jeszcze możliwość wyświetlania danych wskazanej osoby.
Nazwiska i imiona zawiera w „properties” plik geojson.

Można wykorzystać dymki/popupy ale to rozwiązanie jakoś mi nie leży.

Jak uzyskać efekt podobny do takiego:
http://ol3js.org/en/master/examples/ima ... layer.html
tzn wyświetlania danych wskazanego pola pod/obok/poza mapą???
W powyższym przykładzie działa w oparciu o hover a u mnie ma działać na kliknięcie.
Powyższe działa w oparciu o dopiero rozwijany OL3, ja robię na aktualnie stabilnym OL.

Fragment geojsona wygląda tak:
...
"features": [
{ "type": "Feature", "properties": { "osoba": "Kowalski Jan" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 984.65271226725224, -439.66828667034429 ], [ 980.06645293824295, -409.88500684763187 ], ... ] ] } },
{ "type": "Feature", "properties": { "osoba": "Nowak Adam" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 977.32118401394018, -454.03808204683594 ], ...

Pozdrawiam
Hubert

PS. Przy okazji jeszcze jedna sprawa.
Czy w Notepad++ można jakoś hurtem zamienić w geojsonie takim jak wyżej wszystkie wyrażenia takie jak
[ 984.65271226725224, -439.66828667034429 ],
na takie
[ 984.0, -439.0 ],
tzn zwyczajnie zamienić dziesiętne na „zero” bez stosowania się do reguł zaokrąglania?
T0masz_0

Sympatyk
Posty: 199
Rejestracja: czw 07 lip 2011, 12:07

Re: Openlayers i GeoJSON w prezentacji zdj. zbior. - pytanie

Post autor: T0masz_0 »

hniew pisze: PS. Przy okazji jeszcze jedna sprawa.
Czy w Notepad++ można jakoś hurtem zamienić w geojsonie takim jak wyżej wszystkie wyrażenia takie jak
[ 984.65271226725224, -439.66828667034429 ],
na takie
[ 984.0, -439.0 ],
tzn zwyczajnie zamienić dziesiętne na „zero” bez stosowania się do reguł zaokrąglania?
Na przykład tak:
http://static.pokazywarka.pl/bigImages/ ... 1392190955
Pozdrawiam i życzę powodzenia.
Tomek
Awatar użytkownika
hniew

Sympatyk
Posty: 759
Rejestracja: czw 11 lis 2010, 22:49

Re: Openlayers i GeoJSON w prezentacji zdj. zbior. - pytanie

Post autor: hniew »

Genialne w swojej prostocie i skuteczności zarazem!
Wielkie podziękowanie
Hubert
Wojciech11

Sympatyk
Posty: 32
Rejestracja: sob 18 wrz 2010, 16:13
Kontakt:

Post autor: Wojciech11 »

Witam.
Czy to musi być zrobione w OpenLayers 2? Jeśli tak, to te funkcje z http://ol3js.org/en/master/examples/ima ... layer.html nie zadziałają.

Jeśli ma być w OpenLayers 2, to jak się zamieni onSelect takim czymś:
onSelect: function(feature) {
var info = document.getElementById('info');
info.innerHTML = feature.attributes.dane;
},
I wpisze powyżej mapy ten kod:
div id="info" class="alert alert-success" /div
(nie można wpisać html na tym forum)
To wtedy po kliknięciu wyświetli się powyżej imię i nazwisko.
Tylko tyle udało mi się napisać.
I dziękuję za ciekawe przykłady.

Pozdrawiam,
Wojtek
Awatar użytkownika
hniew

Sympatyk
Posty: 759
Rejestracja: czw 11 lis 2010, 22:49

Post autor: hniew »

Witam,
Wcześniej udało mi się dojść jako tako do ładu z popupami ale to rozwiązanie jest o wiele lepsze.
Dodałem tylko:
onUnselect: function(feature) {info.innerHTML = "";},
i działa jak marzenie
:) :) :)

Dzięki i pozdrawiam
Hubert
ODPOWIEDZ

Wróć do „Ogólne”