Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ewidencja danych na mapie

369 views
Skip to first unread message

Phantom

unread,
Apr 9, 2012, 4:30:30 AM4/9/12
to
Witam serdecznie!

Szukam rozwiązania dot. umieszczania danych na mapie, czyli de facto
przypisania współrzędnych geograficznych dla rekordu w bazie danych.
Chodzi mi o lokowanie w przestrzeni lamp oświetlenia ulicznego. Potem
oczywiście filtrowanie mapy wg np.: pokaż zmodernizowane, z nowymi
źródłami, z modułem zmierzchowym, bez modułu i takie tam.
W archiwum znalazłem link do stronki BraZby:http://www.bratki.w.v1.pl/
- niestety ta nie działa.
Marzeniem byłoby połączenie mapy google z Accessem ale to chyba zbyt
wygórowane marzenie ściętej głowy.
W każdym razie mechanizm działania modułu wyobrażam sobie następująco:
1. Pracownik wprowadza dane dla słupa oświetleniowego;
2. Przy zapisie danych generuje się numer słupa i otwiera się mapa ze
zbliżeniem ulicy np.: Bracka, która jest przypisana do rekordu słupa;
3. Pracownik klika na mapie (współrzędne wpisują się do bazy) lub
wpisuje współrzędne z palca;
4. Potem szaleństwo - czyli filtrowanie danych na mapie;

PS.: Swego czasu wszedłem w posiadanie podobnego rozwiązania
współpracującego z kontrolką firmy ESRI a dokładnie MapObject LT.
Niestety jest to bardzo drogie rozwiązanie z punktu widzenia
konieczności wykonania własnej mapy wektorowej, co w dzisiejszych
czasach mija się z celem. Istnieje przecież tyle gotowych map
aktualizowanych na bieżąco.

Trochę się za bardzo rozpisałem!
Proszę i liczę na pomoc.
Pozdrawiam
Tomek
607-69-92-69

Maciej Tokarz

unread,
Apr 9, 2012, 11:07:58 AM4/9/12
to

Witaj,

Nie korzystałem z WebBrowser w Access, ale da się zapewne:
http://www.databasedev.co.uk/access_web_page_viewer.html

Do wykorzystania masz np. darmowe mapy http://www.openstreetmap.org/
Do wyszukiwania geolokalizacji adresów np. http://open.mapquestapi.com/nominatim/
Do implementacji w oparciu o JavaScript np. bibliotekę http://openlayers.org/

Ładowanie mapy:

<script type="text/javascript">

var map, markers;

function init() {

map = new OpenLayers.Map('map');
var layer = new OpenLayers.Layer.OSM("OSM");
map.addLayer(layer);
epsg = new OpenLayers.Projection("EPSG:4326");
projectTo = map.getProjectionObject();
var lonLat = new OpenLayers.LonLat(19.480556, 52.069167).transform(epsg, projectTo);
map.setCenter(lonLat, 6);
markers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(markers);
PageMethods.MarkersAdd(onSucceeded, onFailed);

}

Pewnie prościej było by napisać wszystko w ASP.Net

Pozdrawiam,
Maciej

Zbigniew Bratko

unread,
Apr 10, 2012, 3:40:13 PM4/10/12
to
W dniu 2012-04-09 10:30, Phantom pisze:
> Witam serdecznie!
>
> Szukam rozwiązania dot. umieszczania danych na mapie, czyli de facto
> przypisania współrzędnych geograficznych dla rekordu w bazie danych.
> Chodzi mi o lokowanie w przestrzeni lamp oświetlenia ulicznego. Potem
> oczywiście filtrowanie mapy wg np.: pokaż zmodernizowane, z nowymi
> źródłami, z modułem zmierzchowym, bez modułu i takie tam.
> W archiwum znalazłem link do stronki BraZby:http://www.bratki.w.v1.pl/
> - niestety ta nie działa.

Prawdopodobnie chodzi Ci o przykład:
"Wstawianie graficzno-tekstowego znacznika w określonym punkcie mapy,
rozpoznawanie obszaru i znaczników, nad którym znajduje się wskaźnik
myszy oraz wymuszenie reakcji pola tekstowego znacznika na kliknięcie.
Dowolne powiększanie mapy, bez zmiany rozmiaru znacznika."

http://www.accessbazy.pl/06_Bitmapa.htm#bookMarkMapAPI

Jest to stary przykład i jako taki raczej nie nadaje się do tego celu.

> Marzeniem byłoby połączenie mapy google z Accessem ale to chyba zbyt
> wygórowane marzenie ściętej głowy.

Prawdopodobnie jest to możliwe, ale ja na razie nie wiem jak. Jedynie
tytułem wprawek zrobiłem wyznaczanie tras i pobieranie odległości
pomiędzy punktami za pomocą Google Directions API. Jest to rozwinięcie
tematu "Google maps" z 18.02.2012.
Na razie nie publikowałem jeszcze tego rozwiązania.


> W każdym razie mechanizm działania modułu wyobrażam sobie następująco:
> 1. Pracownik wprowadza dane dla słupa oświetleniowego;
> 2. Przy zapisie danych generuje się numer słupa i otwiera się mapa ze
> zbliżeniem ulicy np.: Bracka, która jest przypisana do rekordu słupa;
> 3. Pracownik klika na mapie (współrzędne wpisują się do bazy) lub
> wpisuje współrzędne z palca;
> 4. Potem szaleństwo - czyli filtrowanie danych na mapie;

Mnie ten temat interesuje, ponieważ mam zamiar zrobić graficzną
reprezentację przebytej trasy zarejestrowanej na GPS, jako track, na
mapie rastrowej z umieszczeniem odnośników do zdjęć wykonanych z miejsca
określonego przez współrzędne geograficzne.
Jest zgodne z Twoim założeniem (ja klikam w miejsce wykonania zdjęcia,
Ty w miejsce gdzie stoi lampa).


Wyobrażam sobie to tak:
Mamy skalibrowana mapę rastrową dużej rozdzielczości i w zależności od
żądanego powiększenia generujemy w locie bitmapę będącą fragmentem
macierzystej bitmapy, którą wstawiamy do formantu Image. Musimy zapewnić
płynne przesuwanie i płynne powiększenie bitmapy, kontrolując i
przeliczając po każdej zmianie skalę bitmapy, jej przesunięcie tak,
byśmy mogli dokładnie określić miejsce kliknięcia i przeliczyć na wsp.
geograficzne.
Coś na podobieństwo przykładu:

Powiększanie i przewijanie bitmapy w formancie Image (do 40 MB)

http://www.accessbazy.pl/06_Bitmapa.htm#bookScrollBmp

Obecnie możliwe jest operowanie na bitmapach ok. 200mb.
Oczywiście do zaprzęgnięcia do roboty jest cała masa GDI API, co w
przypadku istnienia obok siebie systemów 32bit i 64bitowych generuje
dodatkowe nakłady pracy.
Przyda się zapewne biblioteka FreeImage.dll, z którą nie miałem kontaktu
od dość dawna.

Warto zobaczyć darmową mapę GPS dla urządzeń GPS Garmin
http://mapa.ump.waw.pl/ump-www/.

Nie wiem jeszcze jak pobrać pojedyncze "kafelki" przy różnych
powiększeniach, by je scalić w całość i potem na nich operować.
Ale dla obszaru jednego miasta możliwe jest przeglądnięcie obszaru
miasta w przeglądarce i pobranie z Folderu Tymczasowych Plików
Internetowych ściągniętych pojedynczych kafelków i połączenie je w
całość. Czynność należy powtórzyć dla różnych powiekszeń.

Powiem szczerze, nie bardzo wiem, co jeszcze można zasugerować w tym
temacie. Temat jest potwornie obszerny i wymaga wiele czasu i
wytrwałości by go zrealizować.

Jak pisałem wcześniej:
Mam taki zamiar, ale czy temat ten mi się nie znudzi, bądź mnie
przerośnie, tego nie wiem. Na razie zgłębiam tajniki plików *.gpx

--
Pozdrawiam
BraZby

Maciej Tokarz

unread,
Apr 10, 2012, 5:55:51 PM4/10/12
to
> Powiem szczerze, nie bardzo wiem, co jeszcze można zasugerować w tym
> temacie. Temat jest potwornie obszerny i wymaga wiele czasu i
> wytrwałości by go zrealizować.
>

Pisząc od podstaw biblioteki do wczytywania kafelków mapy, absolutnie temat może pochłonąć i 5 lat :-)

> Jak pisałem wcześniej:
> Mam taki zamiar, ale czy temat ten mi się nie znudzi, bądź mnie
> przerośnie, tego nie wiem. Na razie zgłębiam tajniki plików *.gpx

przykład wykorzystania OpenLayers:
http://jp.my-poi.pl/OffersMap.aspx

Generalnie wizualizacja danych to interesująca sprawa.

Maciej Tokarz

unread,
Apr 11, 2012, 3:56:39 AM4/11/12
to

Zbigniew Bratko

unread,
Apr 11, 2012, 5:10:37 AM4/11/12
to
W dniu 2012-04-10 23:55, Maciej Tokarz pisze:
>> Powiem szczerze, nie bardzo wiem, co jeszcze można zasugerować w tym
>> temacie. Temat jest potwornie obszerny i wymaga wiele czasu i
>> wytrwałości by go zrealizować.
>>
>
> Pisząc od podstaw biblioteki do wczytywania kafelków mapy, absolutnie temat może pochłonąć i 5 lat :-)

Chodzi mi o kafelki tylko z interesującego obszaru roboczego. Sprowadza
się to do biegania myszką po mapie (niestety mapa musi być darmowa, więć
GoogleMaps odpada)i sczytywaniu Tymczasowych plików internetowych,
które potem łączymy za pomocą Accessa w większą całość.
I tak dla kilku skal powiększenia.
Napisanie procedury w Accessie do sczytywania plików ~ 1 pracownik przez
kilka godzin powinien to zrobić (dla jednego miasta). A potem to już
czysty Access + operacje graficzne na bitmapach.

>
>> Jak pisałem wcześniej:
>> Mam taki zamiar, ale czy temat ten mi się nie znudzi, bądź mnie
>> przerośnie, tego nie wiem. Na razie zgłębiam tajniki plików *.gpx
>
> przykład wykorzystania OpenLayers:
> http://jp.my-poi.pl/OffersMap.aspx
>
> Generalnie wizualizacja danych to interesująca sprawa.

[...]

Podobny sposób wizualizacji proponuje Google Maps poprzez interfejs
Google Maps API. W powijakach pod tym w/m jest projekt UMP-pcPL, ale
jako darmowa mapa do GPS-ów marki Garmin jest moim zdaniem
bezkonkurencyjny.
http://www.openstreetmap.org/ jak widzę też fajnie chodzi.

Nie wiem jak openstreetmap.org, ale Google Maps Direction (Wyznaczanie
tras)ma następujące ograniczenia:
Dzienny limit zapytań za pomocą usługi Google Directions API wynosi 2
500 tras.
Dla użytkownika prywatnego żądanie nie może zawierać więcej niż 8
punktów pośrednich („waypointów”) w przekazywanej trasie.

Małe co, nieco o usłudze Google Directions API, jeszcze bez kodu VBA
odcztującego odległości popełniłem na:
http://www.gps.msaccess.pl

Jeżeli chodzi o prezentację śladów, czy tras to nie doszedłem jeszcze do
tych zagadnień.

Czy warunki licencyjne openstreetmap.org nie zmienią się po pewnym
czasie. Czy projekt będzie dalej realizowany, czy ..., czy ...
I wtedy zostaniemy z Accessem, danymi, ale bez mapy !

Załóżmy, ze chcemy pokazać wszystkie latarnie (lub inne, dowolne punkty)
na ulicy Warszawskiej, które spełniają nasze warunki. Czy w ogóle
zostanie wyświetlona (wygenerowana mapa zawierająca np. 1000 latarni) i
w miarę powiększania będziemy przeglądali poszczególne. I każdy rodzaj
latarni powinien mieć przypisany swój symbol. Czy łatwo będzie to zrobić
za pomocą API Google, lub funkcji OpenStreetMap ???

Bardziej podchodzi mi to pod prezentację "śladów" z GPS-a, które możemy
jakoś opisać. Jeżeli prezentacja śladów, to może najprościej:

1. Firma kupuje GPS Garmina
2. Pobieramy ze strony Garmin program MapSource i (lub) BaseCamp.
3. Korzystamy z mapy zakupionej wraz z Garminem i płacimy za
aktualizacje, lub wczytujemy darmową UMP pcPl, która jest aktualizowana
na bieżąco.
3. Tworzymy, wczytujemy, poprawiamy, modyfikujemy pliki *gpx (ślady,
trasy, waypointy) i podglądamy w programie.
Myślę, że firma ma dokładną mapę z umiejscowionymi latarniami, ale
jeżeli nie to np. pracownik (w żadnym wypadku pracownia, bo to może
podpadać pod stręczycielstwo :-))) idzie od latarni do latarni i
rejestruje trasę. Dodatkowo rejestruje waypoint w danym miejscu.

Strasznie upierdliwe będzie nanoszenie opisów i aktualizacji
poszczególnych punktów, ale powinno to się dać zrobić. Największym
problemem będzie powiązanie tego wszystkiego z Accessem.

Inna wersja:
Kupujemy mapę rastrową np. w compass.krakow.pl i ją przystosowujemy
(kalibrujemy ze wsp. geograficznymi) no i tworzymy cały interfejs do
malowania po bitmapie w Accessie.

Można kupić w Urzędzie Miasta w Wydziale Geodezji - Ośrodek Dokumentacji
Geodezyjno-Kartograficznej



Może to wszystko trochę chaotyczne, ale trudno to na jeden raz
usystematyzować. Pomysłów może być i tysiąc, ale gorzej z realizacją.

--
Pozdrowienia
BraZby



Maciej Tokarz

unread,
Apr 11, 2012, 6:23:51 AM4/11/12
to

> Podobny sposób wizualizacji proponuje Google Maps poprzez interfejs
> Google Maps API. W powijakach pod tym w/m jest projekt UMP-pcPL, ale
> jako darmowa mapa do GPS-ów marki Garmin jest moim zdaniem
> bezkonkurencyjny.
> http://www.openstreetmap.org/ jak widzę też fajnie chodzi.

Nie zawsze OSM (OpenStreetMap) działa gładko, ale jest to darmowa usługa więc nie ma co kręcic nosem :-)

>
> Nie wiem jak openstreetmap.org, ale Google Maps Direction (Wyznaczanie
> tras)ma następujące ograniczenia:
> Dzienny limit zapytań za pomocą usługi Google Directions API wynosi 2
> 500 tras.
> Dla użytkownika prywatnego żądanie nie może zawierać więcej niż 8
> punktów pośrednich ("waypointów") w przekazywanej trasie.
>
> Małe co, nieco o usłudze Google Directions API, jeszcze bez kodu VBA
> odcztującego odległości popełniłem na:
> http://www.gps.msaccess.pl
>

Google API ma szereg ograniczeń, również takie że można wykorzystywać je z mapami Google. Generalnie jest to płatne jeśli myśleć o sprzedawaniu rozwiązań bazujących na mapach Google.

> Jeżeli chodzi o prezentację śladów, czy tras to nie doszedłem jeszcze do
> tych zagadnień.
>

Na mapie można malować, jeśli węzłami będą poszczególne punkty trasy nie ma problemu:

http://openlayers.org/dev/examples/draw-feature.html


> Czy warunki licencyjne openstreetmap.org nie zmienią się po pewnym
> czasie. Czy projekt będzie dalej realizowany, czy ..., czy ...
> I wtedy zostaniemy z Accessem, danymi, ale bez mapy !

Nie rozważałem takiej możliwośći, można uruchomić własny Map Server - nie próbowałem.

>
> Załóżmy, ze chcemy pokazać wszystkie latarnie (lub inne, dowolne punkty)
> na ulicy Warszawskiej, które spełniają nasze warunki. Czy w ogóle
> zostanie wyświetlona (wygenerowana mapa zawierająca np. 1000 latarni) i
> w miarę powiększania będziemy przeglądali poszczególne. I każdy rodzaj
> latarni powinien mieć przypisany swój symbol. Czy łatwo będzie to zrobić
> za pomocą API Google, lub funkcji OpenStreetMap ???

Powinienem przeciążyć dodawanie markerów aby móc odpowiedzieć na pytanie, jak to będzie przy 1000 elementach. W javascript skorzystałem z dostępu do metod serwera (załadowanie danych do mapy).

PageMethods.MarkersAdd(onSucceeded, onFailed);

}

function onSucceeded(response, userContext, methodName) {
for (var i in response) {
addMarker(response[i].offerId, response[i].serialNo, response[i].category, response[i].type, response[i].thumbnail, response[i].lon, response[i].lat);
}
}
function onFailed(error, userContext, methodName) {
alert("Nie można wyświetlić znaczników, odśwież stronę (klawisz F5).")
}

Powinno "udźwignąć" i 10k punktów (ograniczeniem są mozliwości komputera klienckiego).

>
> Bardziej podchodzi mi to pod prezentację "śladów" z GPS-a, które możemy
> jakoś opisać. Jeżeli prezentacja śladów, to może najprościej:
>
> 1. Firma kupuje GPS Garmina
> 2. Pobieramy ze strony Garmin program MapSource i (lub) BaseCamp.

Można posłużyć się dowolnym podkładem, kwestia posiadania licencji.

P.S. Niestety nie mam czasu aby zrobić przykład bazujący na OSM w Access. Sądzę, że nie będzie to trudne. Aczkolwiek jak napisałem w pierwszym wątku lepiej całość napisać w ASP (nie wiem czy dało by się "przenieść" możliwość wywoływania z kodu strony metod udostepnianych w Access).

Pozdrawiam,
Maciej



Zbigniew Bratko

unread,
Apr 11, 2012, 1:44:51 PM4/11/12
to
W dniu 2012-04-11 12:23, Maciej Tokarz pisze:
[...]
>
> Nie zawsze OSM (OpenStreetMap) działa gładko, ale jest to darmowa usługa więc nie ma co kręcic nosem :-)

ale ja nie kręcę nosem. Bardzo mi się OSM podoba.

[...]

>
>
>> Czy warunki licencyjne openstreetmap.org nie zmienią się po pewnym
>> czasie. Czy projekt będzie dalej realizowany, czy ..., czy ...
>> I wtedy zostaniemy z Accessem, danymi, ale bez mapy !
>
> Nie rozważałem takiej możliwośći, można uruchomić własny Map Server - nie próbowałem.
>

[...]

>
>>
>> Bardziej podchodzi mi to pod prezentację "śladów" z GPS-a, które możemy
>> jakoś opisać. Jeżeli prezentacja śladów, to może najprościej:
>>
>> 1. Firma kupuje GPS Garmina
>> 2. Pobieramy ze strony Garmin program MapSource i (lub) BaseCamp.
>
> Można posłużyć się dowolnym podkładem, kwestia posiadania licencji.

To nie tak. MapSource i moim zdaniem trochę gorszy, ale nowszy BasaCamp,
to programy służące do edycji map na lokalnym komputerze. Instalujemy
MapSource i możemy wczytać dowolną (obsługiwaną) przez program mapę na
dysk. Ja korzystam z mapy UMP pcPL (350 MB) oraz z mapy Topo Bieszczad z
wyrysowanymi wszystkimi szlakami. Także można dokupować mapy dedykowane
dla Garmina we wspomnianym już compass.pl, ale jest wiele rastrowych,
darmowych map topograficznych, które można zainstalować. Wiele map można
samemu wykonać.

Tytułem próby, za pomocą Accessa, utworzyłem zbiór punktów (8500),
przekształconych z połączonych śladów. Wczytanie wszystkich 8500 punktów
przez MapSource nie trwa zbyt długo (plik zajmuje ok. 6,3MB).
Podgląd, skalowanie mapy i przesuwanie jest błyskawiczne.
Możemy nanosić zmiany, przesuwać punkty, zmieniać flagi, dopisywać dane.
Problemem jest przekazanie zmian do Accessa, ale przykładowo zmieniając
kategorię punktu na określającą dokonanie zmian i po zapisaniu zmian w
pliku *gpx, można z poziomu Accessa odczytać zmienione rekordy. To są
już szczegóły. Ważne, ze mamy mapę lokalnie na twardym dysku.

Co jest istotne, w programie MapSource można filtrować po kategoriach
plików (w sumie 16 kategorii), a każdemu punktowi przypisać jedną z
dziesiątek ikon.

Wczytywany plik *.gpx nie musi zawierać, aż tylu punktów. W łatwy sposób
możemy wyfiltrować punkty z poziomu Accessa i utworzyć plik *.gpx.

Poniżej struktura pojedynczego punktu:
<wpt lat="50.025269296020269" lon="19.991871630772948">
<time>2012-04-11T12:50:03Z</time>
<name>001</name>
<cmt>cmt...Komentarz, może być dość długi, Jest widoczny w oknie
Właściwości punktu</cmt>
<desc>...Opis </desc>
<sym>Flag, Blue</sym>
<extensions>
<gpxx:WaypointExtension
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
<gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
<gpxx:Categories>
<gpxx:Category>Kategoria 10</gpxx:Category>
</gpxx:Categories>
<gpxx:Address>
<gpxx:StreetAddress>jakas ulica</gpxx:StreetAddress>
<gpxx:City>jakies iasto</gpxx:City>
<gpxx:State>jakies województwo</gpxx:State>
<gpxx:Country>kraj</gpxx:Country>
<gpxx:PostalCode>jakis kod</gpxx:PostalCode>
</gpxx:Address>
</gpxx:WaypointExtension>
</extensions>
</wpt>


Jak widac plik *gpx to zwykły XML.

Przykładow zrzuty można oglądnąć na:
http://www.accessfaq.pl/tmp/gps.html

--
Pozdrowienia
BraZby

Maciej Tokarz

unread,
Apr 11, 2012, 2:21:04 PM4/11/12
to
W dniu środa, 11 kwietnia 2012 19:44:51 UTC+2 użytkownik Zbigniew Bratko napisał:
> W dniu 2012-04-11 12:23, Maciej Tokarz pisze:
> [...]
> >
> > Nie zawsze OSM (OpenStreetMap) działa gładko, ale jest to darmowa usługa więc nie ma co kręcic nosem :-)
>
> ale ja nie kręcę nosem. Bardzo mi się OSM podoba.
>

No tak na wyrost napisałem :-)

>
> Jak widac plik *gpx to zwykły XML.
>

Przedstawiłem sposób na wykonanie zadania w Access. Jest wiele różnych programów, do turystyki polecam również darmowy TrekBuddy.

Najlepiej będzie jednak, jak napiszę o co mi chodzi w przykładzie - może się komuś nada.

Pozdrawiam,
Maciej


Maciej Tokarz

unread,
Apr 11, 2012, 7:36:26 PM4/11/12
to
Zamieściłem przykład na stronie:
http://my-poi.pl/mactok.aspx
Microsoft Access i OpenStreetMap...

Pozdrawiam,
Maciej

Zbigniew Bratko

unread,
Apr 12, 2012, 6:00:55 AM4/12/12
to
W dniu 2012-04-12 01:36, Maciej Tokarz pisze:
> Zamieściłem przykład na stronie:
> http://my-poi.pl/mactok.aspx
> Microsoft Access i OpenStreetMap...

[...]

OpenStreetMap jeszcze bardziej mi się podoba. Nie spodziewałem się,
że to aż tak proste. Jak się zdecyduję na OpenStreetMap, to jeszcze
nie raz pomęczę Ciebie na ten temat.

Niewielkim minusem mapy OpenStreetMap względem mapy UMP pcPL,
jest jej niższa szczegółowość dla obszaru Polski, ale jest to
zrozumiałe i wynika z mniejszej ilości dostarczanych danych
z naszego obszaru.
Ale do celów poglądowych jest idealna.

Prosty przykład, a jak wiele pokazuje.
Dzięki.

--
BraZby

Maciej Tokarz

unread,
Apr 12, 2012, 6:17:05 AM4/12/12
to
> OpenStreetMap jeszcze bardziej mi się podoba. Nie spodziewałem się,
> że to aż tak proste. Jak się zdecyduję na OpenStreetMap, to jeszcze
> nie raz pomęczę Ciebie na ten temat.

Nie ma sprawy!

>
> Niewielkim minusem mapy OpenStreetMap względem mapy UMP pcPL,
> jest jej niższa szczegółowość dla obszaru Polski, ale jest to
> zrozumiałe i wynika z mniejszej ilości dostarczanych danych
> z naszego obszaru.

Znaczy i Ty możesz współtworzyć OSM, która z zasady jest podobna do Wikipedii.
Warto na stronie OSM się zalogować, spróbować utowrzyć kawałek tej mapy samemu :-)

> Ale do celów poglądowych jest idealna.

OpenLayers umożliwia więcej niż korzystanie z OSM:
http://gis.ibbeck.de/ginfo/apps/OLExamples/Index/index.html

>
> Prosty przykład, a jak wiele pokazuje.
> Dzięki.
>

Proszę bardzo :-)
Maciej

Maciej Tokarz

unread,
Apr 12, 2012, 6:43:27 AM4/12/12
to

Zbigniew Bratko

unread,
Apr 12, 2012, 10:26:42 AM4/12/12
to
W dniu 2012-04-12 12:43, Maciej Tokarz pisze:
> Jeszcze cuś:
> http://ump.fuw.edu.pl/wiki/UMP-pcPL_online#Mapa_UMP-pcPL_na_Twojej_stronie
[...]

Byłem tam, ale niewielkie możliwości tam przedstawione spowodowały,
że nie wczytywałem się. Teraz spróbowałem Twój przykład dostosować
do UMP pcPl, ale jak na razie poległem. Jak sie wczytuje mapa,
to nie ma znaczników. Jak są znaczniki to na samej górze na białym
tle (działa wtedy zapis współrzędnych), a mapa poniżej.

No cóż, jeszcze trochę powalczę i ewentualnie będę pytał.

--
Pozdrowienia
BraZby

Maciej Tokarz

unread,
Apr 12, 2012, 12:12:00 PM4/12/12
to
Dałem ciut zmienioną wersję (pod tym samym linkiem).
Posłużyłem się klasami dla obiektu Marker i Position.
Jak będziesz potrzebował pomocy napisz!

Zbigniew Bratko

unread,
Apr 12, 2012, 2:09:50 PM4/12/12
to
W dniu 2012-04-12 18:12, Maciej Tokarz pisze:
> Dałem ciut zmienioną wersję (pod tym samym linkiem).
> Posłużyłem się klasami dla obiektu Marker i Position.
> Jak będziesz potrzebował pomocy napisz!

[...]

Są kłopoty ponieważ UMP korzysta z własnych skryptów
layers.js oraz map.js, a dodatkowo skrypt OpenLayers.js
nie może leżeć na dysku. Muszę się przez to przegryźć,
ale zrobiłem próbę z ilością znaczników. Przy 3000 znaczników
kończy się przyjemność oglądania mapy. Strasznie wolno chodzi,
ale da się przeglądać.


I to tylko tyle sukcesów. Muszę się przegryźć przez te skrypty, bo nawet
odczyt współrzędnych geograficznych nie działa.

--
Pozdrowienia
BraZby



Maciej Tokarz

unread,
Apr 12, 2012, 2:24:22 PM4/12/12
to
Jest jeszcze taka mapa: http://osmapa.pl/
całkiem ładnie się prezentuje.
Zobaczę jak podmienić źródło na to UMP PL

Maciej Tokarz

unread,
Apr 12, 2012, 2:45:54 PM4/12/12
to
OK!

Otwórz do edycji plik Osm.html i podmień linijkę

z:
var layer = new OpenLayers.Layer.OSM("OSM");

na:
var layer = new OpenLayers.Layer.OSM("UMP", "http://1.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png");

Pozdrawiam,
Maciej

Maciej Tokarz

unread,
Apr 12, 2012, 2:54:27 PM4/12/12
to
To do kompletu mapa OSM przerobiona i hostowana przez Trail.pl (http://tile.openstreetmap.pl/):

var layer = new OpenLayers.Layer.OSM("Trail", "http://tile.openstreetmap.pl/${z}/${x}/${y}.png");

na początek powinno wystarczyć :-)
Takich map serwerów jest mnóstwo! Jak z nich korzystać? Podpowiedź jest u źródła, Other tile sets :

http://wiki.openstreetmap.org/wiki/OpenLayers_Simple_Example


Zbigniew Bratko

unread,
Apr 12, 2012, 4:09:09 PM4/12/12
to
W dniu 2012-04-12 20:54, Maciej Tokarz pisze:
Jeszcze raz wielkie dzięki.

Korzystając ze skryptów UMP wygląd okna mapy jest zgodny z tym co widać
na stronie, ale nie mogłem dostać się do obiektów. Analiza skryptów to
katorga.

Jedna podmiana podanej przez Ciebie linijki załatwiła chyba wszystko.
No to mam zabawkę na dłuższy okres czasu.

Jak dla mnie mapa www.osmapa.pl robi wrażenie. Bardzo fajna kolorystyka
i narysowane w 3D. Kilka podglądów różnych typów map. Projekt młody, ale
ma sponsorów. Miejmy nadzieję, że nie padnie, lub nie wprowadzi ograniczeń.

Jednak ja bedę zachwalał UMP, bo jest najbardziej szczegółowa. Chodzi
mi o drobne obiekty, zabytki, historyczne miejsca, ruiny, forty i ich
pozostałości i cała masa malutkich pierdół. No i możesz wgrać do GPS
i zasuwać od miejsca do miejsca.
No i dla dużo podróżujących na bieżąco uaktualniana mapa radarów.

Dawno na grupie accessowej nie było takiego ruchu. Wczorajszy
i dzisiejszy dzień zaliczam do b. udanych.

--
Pozdrowienia
BraZby



HerC

unread,
Apr 17, 2012, 7:16:46 AM4/17/12
to
> PS.: Swego czasu wszedłem w posiadanie podobnego rozwiązania
> współpracującego z kontrolką firmy ESRI a dokładnie MapObject LT.
> Niestety jest to bardzo drogie rozwiązanie z punktu widzenia
> konieczności wykonania własnej mapy wektorowej, co w dzisiejszych
> czasach mija się z celem. Istnieje przecież tyle gotowych map
> aktualizowanych na bieżąco.

To ja chciałem dorzucić swoje 3 grosze.
Ja korzystam z podobnego rozwiązania jak MapObject LT które bazuje na
plikach wektorowych shape (*.shp) jest to darmowy MapWindow (ocx).
Właściwie to wprowadzam dane w Access'ie, generuję warstwę, którą
przeglądam, filtruję już w darmowych GIS-owych programach (MapWindow
GIS, Qgis, TatukGis Viewer).
Można by całą obsługę mapy zaimplementować w Accesie ale chyba szkoda
czasu jeżeli jest tyle darmowych gotowców.

RC

Maciej Tokarz

unread,
Apr 17, 2012, 6:01:31 PM4/17/12
to
To do kompletu przyda się:
http://download.geofabrik.de/osm/europe/

Zbigniew Bratko

unread,
Apr 18, 2012, 11:28:56 AM4/18/12
to
W dniu 2012-04-18 00:01, Maciej Tokarz pisze:
> To do kompletu przyda się:
> http://download.geofabrik.de/osm/europe/

No tak, ale jeśli nawet pobiorę, to co dalej Accessowicz ma zrobić ?

Tak samo te przykłady
http://gis.ibbeck.de/ginfo/apps/OLExamples/Index/index.html

Jak je zastosować. Kilogramy JavaScript. Wiele przykładów nie działa.
Odwołują się, jak dla mnie, do tajemniczych linkowanych bibliotek.

Nie zrażając się tym wszystkim, popełniłem stronę z mapami na której
narysowany jest mój ślad wkoło J. Dabrowskiego i przykładowe fotki
usytuowane w miejscach ich wykonania.
http://www.gps.msaccess.pl/ump.html

Docelowo ma działać w Accessie, ale napotkałem dość duży problem:

Dlaczego ślad GPS (track) jest widoczny po osadzeniu strony na serwerze,
a nie jest widoczny po uruchomieniu na dysku lokalnym. Rysowane markery,
punkty, linie są widoczne, jedynie warstwa ze śladem GPS nie jest
widoczna. Na pewno warstwa jest tworzona, bo czasami, (ale bardzo
rzadko) przez chwilę jest widoczna, ale w ułamku sekundy znika ???

Można rysować poszczególne linie łączące kolejne punkty śladu, ale nie o
to chyba chodzi.

--
Pozdrowienia
BraZby
www.accessfag.pl





Maciej Tokarz

unread,
Apr 18, 2012, 12:14:42 PM4/18/12
to
Posłałem Ci maila z pewnym wyjaśnieniem odnośnie przykładu. Generalnie jakbyś mógł pobrać aktualną wersję. Chodzi o to, że nie wszystkie składowe OpenLayers zawarłem w pierwszych wersjach: Access i OpenStreetMap - też się tego uczę :-) i za dużo poobcinałem na początku składników tej bliblioteki.
Obecny przykład ma wszystko to na co wskazuje readme OpenLayers.

Pozdrawiam,
Maciej

P.S. później odniosę się do Twoich pytań...

Zbigniew Bratko

unread,
Apr 18, 2012, 2:31:20 PM4/18/12
to
W dniu 2012-04-18 18:14, Maciej Tokarz pisze:
> Posłałem Ci maila z pewnym wyjaśnieniem odnośnie przykładu. Generalnie jakbyś mógł pobrać aktualną wersję. Chodzi o to, że nie wszystkie składowe OpenLayers zawarłem w pierwszych wersjach: Access i OpenStreetMap - też się tego uczę :-) i za dużo poobcinałem na początku składników tej bliblioteki.
> Obecny przykład ma wszystko to na co wskazuje readme OpenLayers.
>

Jak na razie pocztę na gazeta.pl mam pustą. Ewentualnie prześlij na:

brazby małpka accessfaq kropa pl

Ja miałem pobraną przez siebie bibliotekę OpenLayers. Przy
niepowodzeniach ze śladami na mapie, linkowałem skrypt bezpośrednio na
stronę openstreet. I także nic.

--
Pozdrowienia
BraZby

Maciej Tokarz

unread,
Apr 18, 2012, 2:49:23 PM4/18/12
to
W dniu środa, 18 kwietnia 2012 17:28:56 UTC+2 użytkownik Zbigniew Bratko napisał:
> W dniu 2012-04-18 00:01, Maciej Tokarz pisze:
> > To do kompletu przyda się:
> > http://download.geofabrik.de/osm/europe/
>
> No tak, ale jeśli nawet pobiorę, to co dalej Accessowicz ma zrobić ?

Są to dane OpenStreetMap. Zamiast pisać co i jak odniosę się do tego artykułu:
http://www.gis-support.pl/openstreetmap-skad-wziac-dane/

>
> Tak samo te przykłady
> http://gis.ibbeck.de/ginfo/apps/OLExamples/Index/index.html
>
> Jak je zastosować. Kilogramy JavaScript. Wiele przykładów nie działa.
> Odwołują się, jak dla mnie, do tajemniczych linkowanych bibliotek.

Chcąc coś uzyskać niezbędne będzie poznanie podstaw JavaScriptu oraz Gis.

>
> Nie zrażając się tym wszystkim, popełniłem stronę z mapami na której
> narysowany jest mój ślad wkoło J. Dabrowskiego i przykładowe fotki
> usytuowane w miejscach ich wykonania.
> http://www.gps.msaccess.pl/ump.html
>

Strona nie działa, to znaczy mapa na stronie.

> Docelowo ma działać w Accessie, ale napotkałem dość duży problem:
>
> Dlaczego ślad GPS (track) jest widoczny po osadzeniu strony na serwerze,
> a nie jest widoczny po uruchomieniu na dysku lokalnym. Rysowane markery,
> punkty, linie są widoczne, jedynie warstwa ze śladem GPS nie jest
> widoczna. Na pewno warstwa jest tworzona, bo czasami, (ale bardzo
> rzadko) przez chwilę jest widoczna, ale w ułamku sekundy znika ???

Czegoś brakuje zapewne, w źródle strony nie widzę kodu JS więc ciężko się odnieść...

>
> Można rysować poszczególne linie łączące kolejne punkty śladu, ale nie o
> to chyba chodzi.
>

Wydaje mi się, że rysowanie śladu będzie tak wyglądało - poprzez rysowanie poszczególnych odcinków. Trzeba by jakąś funkcję napisać...

Pozdrawiam,
Maciej

Zbigniew Bratko

unread,
Apr 18, 2012, 3:36:40 PM4/18/12
to
W dniu 2012-04-18 20:49, Maciej Tokarz pisze:
> W dniu środa, 18 kwietnia 2012 17:28:56 UTC+2 użytkownik Zbigniew Bratko napisał:
>> W dniu 2012-04-18 00:01, Maciej Tokarz pisze:

[...]

>> Nie zrażając się tym wszystkim, popełniłem stronę z mapami na której
>> narysowany jest mój ślad wkoło J. Dabrowskiego i przykładowe fotki
>> usytuowane w miejscach ich wykonania.
>> http://www.gps.msaccess.pl/ump.html
>>
>
> Strona nie działa, to znaczy mapa na stronie.

Rano sprawdzałem w pracy na kilku komputerach i działało. U mnie teraz
jakby też działało na Chrome i FF.

Nie działa w badziIEwiu 9.

[..]

>
>>
>> Można rysować poszczególne linie łączące kolejne punkty śladu, ale nie o
>> to chyba chodzi.
>>
>
> Wydaje mi się, że rysowanie śladu będzie tak wyglądało - poprzez rysowanie poszczególnych odcinków. Trzeba by jakąś funkcję napisać...

Wstępne rysowanie linii i punktów rozpracowałem.

Track był rysowany w następujący sposób:

var gpx = new OpenLayers.Layer.GML('J. D&#261;browskie', gpxfile, {
format: OpenLayers.Format.GPX,
displayInLayerSwitcher: true,
projection: new OpenLayers.Projection("EPSG:4326"),
style: {strokeColor: "cyan", strokeWidth:3, strokeOpacity: 0.75}
});
map.addLayer(gpx);

Sru i po wszystkim, ale tylko z na serwerze.


Dzięki. Będę walczył.

--
Pozdrowienia
BraZby



Maciej Tokarz

unread,
Apr 18, 2012, 9:56:15 PM4/18/12
to
Hej!

Uzupełniłem przykład o ślady gpx: http://my-poi.pl/mactok.aspx

Maciej

P.B.

unread,
Apr 19, 2012, 3:13:32 AM4/19/12
to
W dniu 2012-04-19 03:56, Maciej Tokarz pisze:
> Hej!
>
> Uzupełniłem przykład o ślady gpx: http://my-poi.pl/mactok.aspx
>
> Maciej

Run Time error 70
Permission denied

Access 2010

P.B.

Zbigniew Bratko

unread,
Apr 19, 2012, 3:23:50 AM4/19/12
to
W dniu 2012-04-19 03:56, Maciej Tokarz pisze:
> Hej!
>
> Uzupełniłem przykład o ślady gpx: http://my-poi.pl/mactok.aspx
>



Procedura rysująca ślad gpx jest dokładnie taka sama.
Twój przykład działa w Accessie, ale w samodzielnej stronie nie działa
(tak jak u mnie) rysowanie śladu gpx.

W celach poglądowych zmieniłem Twój przykład:

w Accessie, kodzie formularza remuję w funkcji

Private Sub MyWebBrowser_DocumentComplete
linijki:
' myDocument.parentWindow.execScript "init();"
' AddGpx
' AddMarkers

funkcja init() zostanie uruchomiona w zdarzeniu onload sekcji <body>

a w funkcji init() na samym końcu dodaję
addGpx('gpx1', 'Gpx/20100906-135626.gpx');
addGpx('gpx2', 'Gpx/20100907-110333.gpx');
addGpx('gpx3', 'Gpx/20100907-150815.gpx');
addGpx('gpx4', 'Gpx/20100908-145226.gpx');
addGpx('gpx5', 'Gpx/20100909-160934.gpx');
addGpx('gpx6', 'Gpx/20100910-162147.gpx');

// i testowy jeden marker
addMarker('4944383', 'My-Poi!', 'Images/2.jpg', 21.723312, 53.753178, true);

W kodzie HTML strony:

w sekcji body przenoszę <div id="map" z formularza do body (bo się mapa
nie wyświetlała na normalnej stronie. Sekcja <body> ma postać:

<body onload="init();">
<div id="map" style="height: 100%; width: 100%" />

<form id="Form1" action="">
<input id="lon" type="hidden" value="" />
<input id="lat" type="hidden" value="" />
</form>
</body>


tak zapisane strona "DZIAŁA" w Accessie - pokazuje pokazuje mapę, ślad i
Marker
ale jako normalna strona, uruchomiona dwuklikiem:
w FF działa dobrze - pokazuje mapę, ślad i Marker
w Chrome pokazuje tylko mapę i Marker
w IE pokazuje tylko mapę


I tutaj jest cały problem !!!

po osadzeniu na serwerze
http://www.gps.msaccess.pl/mc/Maps.html
działa we wszystkich przeglądarkach.

Czyli praktycznie wracam do punktu wyjścia.


--
Pozdrowienia
BraZby

Maciej Tokarz

unread,
Apr 19, 2012, 3:55:58 AM4/19/12
to

>
> Run Time error 70
> Permission denied
>
> Access 2010
>

Witaj,
Nie mam Accessa 2010, przykład jest napisany w 2007. Dlaczego masz taki komunikat niestety nie mam jak sprawdzić - czarów tam nie ma w sumie z tym kodem.

Maciej

Maciej Tokarz

unread,
Apr 19, 2012, 4:09:49 AM4/19/12
to
>
> tak zapisane strona "DZIAŁA" w Accessie - pokazuje pokazuje mapę, ślad i
> Marker
> ale jako normalna strona, uruchomiona dwuklikiem:
> w FF działa dobrze - pokazuje mapę, ślad i Marker
> w Chrome pokazuje tylko mapę i Marker
> w IE pokazuje tylko mapę
>
>
> I tutaj jest cały problem !!!

Hmm... Przede wszystkim aby strona zapisana do pliku działała poza serwerem to trzeba pozmieniać odwołania. U mnie o dziwo mapa się otworzyła, choć jak sądzę tylko dlatego, że gdzieś w temp siedzą pliki OpenLayers. Czyli przydało by się zmienić ścieżki:

z
<SCRIPT type="text/javascript" src="Maps_pliki/OpenLayers.js"></SCRIPT>
na
<SCRIPT type="text/javascript" src="http://mojastrona.pl/OpenLayers.js"></SCRIPT>

z
addGpx('gpx6', 'Gpx/20100910-162147.gpx');
na
addGpx('gpx6', 'http://mojastrona.pl/20100910-162147.gpx');

itd.

Maciej

Zbigniew Bratko

unread,
Apr 19, 2012, 4:25:40 AM4/19/12
to
W dniu 2012-04-19 10:09, Maciej Tokarz pisze:
Maciej.
Strona poza serwerem (lokalnie) działa prawidłowo pod Firefoxem, trochę
gorzej pod Chrome prawie wcale pod IE.
Czy jest odwołanie bezpośrednie, czy względne jest bez znaczenia. Aby
było prawidłowe, a odwołania są prawidłowe (patrz FF).
W przypadku nieprawidłowych odwołań jest totalna porażka. Nie ma nic!

--
Pozdrowienia
BraZby

Zbigniew Bratko

unread,
Apr 19, 2012, 8:27:47 AM4/19/12
to
W dniu 2012-04-19 10:25, Zbigniew Bratko pisze:
> W dniu 2012-04-19 10:09, Maciej Tokarz pisze:
[...]

Czy można prosić o may test. Czy to cuś działa.
Jeśli można prosić o info :
Czy działa, system, przeglądarka.

http://www.gps.msaccess.pl/mp/nowa.html


--
Pozdrowienia
BraZby



Jacek

unread,
Apr 19, 2012, 9:35:18 AM4/19/12
to
Win 7/64/Chrome - mapa się ładuje, zdjęcia się otwierają, znaczniki nie
działają.

Zbigniew Bratko

unread,
Apr 19, 2012, 10:08:40 AM4/19/12
to
W dniu 2012-04-19 15:35, Jacek pisze:
Dzięki.

Miniatury zdjęć pełnią rolę znaczników.
Małe, różnokolorowe "znaczniki" to tylko graficzne oznaczenia punktów na
mapie. Takie same jak cztery zielone kółeczka na czerwonawej kresce.

Jeżeli widać szlak wkoło jeziora w kolorze "cyan" to wszystko jest OK.

--
BraZby




Jacek

unread,
Apr 19, 2012, 10:25:30 AM4/19/12
to
Widać szlak.:)

Maciej Tokarz

unread,
Apr 19, 2012, 10:41:04 AM4/19/12
to
Widać wszystko w FF, IE i Chrome :-)

można zmienić:
"http://1.tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png"
na
"http://tiles.ump.waw.pl/ump_tiles/${z}/${x}/${y}.png"

Maciej

Zbigniew Bratko

unread,
Apr 19, 2012, 11:12:08 AM4/19/12
to
W dniu 2012-04-19 16:41, Maciej Tokarz pisze:
[...]

U mnie Lokalnie na dysku bez zmian.
Trasy i fotek w IE nie widać, w Chrome nie widać trasy.
Na pocieszenie dodam, że w Accessie działa super. Widać wszystko.

[OT]
JavaScript, a raczej IE + JS to jedno wielkie jajo.
Poprawiałem prawie wszystko i co pewien czas sprawdzałem.
w pewnym momencie przekopiowuję troszkę kodu i w IE nie ma nic.

Zero reakcji ze strony IE. Pozostałe przeglądarki OK.
Remuję linijka po linijce i okazuje się że IE nie rozumie czegoś takiego:

Deklaracja zmiennych i stałych:
<script language="javascript" type="text/javascript">
const COS = 'ala';

zamieniam na

var cos = 'ala';

i wszystko działa, a godzina daremnej roboty w plecy.
[/OT]

--
Pozdrawiam
BraZby










Maciej Tokarz

unread,
Apr 19, 2012, 11:26:24 AM4/19/12
to
Za tydzień będziesz MVP JavaScriptu :-)

Pewnie też chodzi po części o ochronę przed wykonaniem złośliwego kodu. Co innego jak uruchamia się stronę z serwera, a co innego widać jak lokalnie z dysku - pewnie masz komunikaty o niebezpiecznej zawartości.

Ładnie ta UMP wygląda... Access może pełnić rolę edytora strony.

Pochwal się linkiem ostatecznej wersji...

Pozdrawiam,
Maciej

Zbigniew Bratko

unread,
Apr 19, 2012, 3:11:21 PM4/19/12
to
W dniu 2012-04-19 17:26, Maciej Tokarz pisze:
[...]

Jeszcze dużo czasu upłynie zanim coś konkretnego z tego będzie.
Zapewne od czasu do czasu będę prosił o przetestowanie strony.
Jak na razie to zgłębiam rysowanie po mapie.

Brakuje mi jakiegoś debuggera do JavaScriptu, ale tu się okazuje pomocny
Access.
Przynajmniej on zgłasza czasami, że w takiej a takiej linijce coś nie teges.

Może ktoś zna coś prostego do debugowania JS.

--
Pozdrowienia
BraZby




Maciej Tokarz

unread,
Apr 19, 2012, 4:33:40 PM4/19/12
to

> Może ktoś zna coś prostego do debugowania JS.

Sam piszę w VS 2010, ale tu wsparcia nie ma wielkiego dla JS - ponoć VS 11 ma mieć to lepiej rozwiązane. Kiedys korzystałem z NetBeans, ale pod kątem napisania czegoś na komórkę więc nie wiem jak on wspiera kodowanie na stronę internetową. Eclipse jest jeszcze no i pewnie sporo można wyszukać:

http://www.eclipse.org/webtools/
http://netbeans.org/
rodzimy: http://www.migajek.com/?c=hateml
i pewnie wiele innych. Nie testowałem.

Maciej

Maciej Tokarz

unread,
Apr 19, 2012, 4:46:14 PM4/19/12
to

Maciej Tokarz

unread,
Apr 19, 2012, 6:53:22 PM4/19/12
to
Jeszcze przydatny tool: http://fiddler2.com/fiddler2/
można błędy wychwycić...

Zbigniew Bratko

unread,
Apr 20, 2012, 3:40:23 AM4/20/12
to
W dniu 2012-04-20 00:53, Maciej Tokarz pisze:
> Jeszcze przydatny tool: http://fiddler2.com/fiddler2/
> można błędy wychwycić...


Niektóre te programy są zbyt skomplikowane jak dla tak prostych celów.

Okazało się, że wystarczająco dobry dla mnie debugger mam zainstalowany
na dysku.
Otwieramy stronę w IE 9, wciskamy F12 i już mamy to co potrzebne.

Dzięki za linki.

--
Pozdrowienia
BraZby

Maciej Tokarz

unread,
Oct 20, 2016, 5:30:07 PM10/20/16
to
Odgrzeję kotleta, może komuś się przyda a zmieniłem lokalizację przykładów:
https://mactok.blogspot.com/
pozdrawiam,
Maciej
0 new messages