[JavaScript][MySQL][PHP]Kontury na obrazku |
[JavaScript][MySQL][PHP]Kontury na obrazku |
22.03.2018, 10:49:54
Post
#1
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Witam szczerze mówiąc nie wiem jak się do tego zabrać ale potrzebuję zrobić coś takiego jak jest na tym obrazku
Wartości były by pobierane z bazy danych mysql
Teraz jak połączyć te wartości liniami zaokrąglonymi (tak jak na obrazku wyżej) i na koniec jak kolorować pola odcinane liniami? Czy jest to możliwe w php? |
|
|
22.03.2018, 10:55:30
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
No najpierw musisz wyliczyc te obszary a to z php ma sredni zwiazek - ot kupa obliczen matematycznych na podstawie jakiegos fajnego algorytmu.
ps: w cudny sposob pobierasz dane z bazy -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
22.03.2018, 10:55:44
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A masz w bazie zapisane współrzędne tych punktów?
-------------------- |
|
|
22.03.2018, 11:13:14
Post
#4
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Mogę mieć te współrzędne.
|
|
|
22.03.2018, 11:19:41
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Jeśli w PHP to przychodzi mi taki pomysł:
1. Dla każdego punktu danych obliczasz w jakim promieniu ma sąsiadów. 2. Kreślisz okręgi o wyliczonym promieniu względem środka (punktu danej), zaczynając od tych 3. Na całość nakładasz mocny gaussian blur. 4. Potem robisz posteryzację obrazka. 5. Po posteryzacji otrzymane kolory obszarów mogą nie odpowiadać tym, którymi chcesz kolorować obszary, więc musisz znaleźć wszystkie jakie otrzymałeś, zamapować do docelowych i pokolorować obszary tymi docelowymi. Być może przy kreśleniu okręgów powstaną czarne przestrzenie jeśli gdzieniegdzie okręgi nie będą się ze sobą stykać, więc rozwiązaniem może być wypełnienie całości na start kolorem powiązanym z najniższym zakresem i już niekreślenie okręgów przypisanych do tego zakresu. A w JS być może to: https://developers.google.com/maps/document...s/layer-heatmap Ten post edytował trueblue 22.03.2018, 11:26:40 -------------------- |
|
|
22.03.2018, 21:03:13
Post
#6
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Znalazłem troszkę inny na to sposób tylko mam jeden problem
Jak zastąpić dane w "" danymi z bazy mysql
|
|
|
22.03.2018, 21:07:40
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
|
|
|
22.03.2018, 22:12:51
Post
#8
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Nie bardzo wiem jak to zrobić.
Pojawił się jeszcze jeden problem pobierane wartości z bazy danych mogą być też ujemne. Czy w tym kodzie jaki podałem wyżej mogę zastosować jakąś tablicę gdzie przypiszę coś takiego danem z bazy mysql 1 = -22 (wartość z bazy) 2 = -21 (wartość z bazy) 3 = -20 (wartość z bazy) itd Teraz w tym miejscu chciałbym to zastosować var meteoPoints = [ [53.165246, 15.405640, "0"], [53.423798, 14.546544, "0"], [54.188946, 16.177284, "0"], [53.901899, 14.243151, "0"], ... Tu gdzie jest 0 |
|
|
22.03.2018, 22:46:13
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Te punkty meteo mają być luzem w kodzie? Coś mi to się nie podoba.
|
|
|
22.03.2018, 23:01:54
Post
#10
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Mogą być luzem lub przypisane na sztywno albo mogą też być pobierane z bazy danych.
Ważne aby były w takiej formie
To co w cudzysłowie to ma się pobierać z bazy danych. Współrzędne mogą być przypisane na sztywno. Ten post edytował brzanek 22.03.2018, 23:04:24 |
|
|
22.03.2018, 23:24:00
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Dobrze, ale w jaki sposób mają się połączyć? Jaka cecha przypisuje dany punkt do danej liczby? Bo po samej kolejności to raczej dziwacznie.
|
|
|
23.03.2018, 06:51:04
Post
#12
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Trzeba poszukać bibliotek na hasła:
dla izoterm: contour | isoline jeśli idzie o wygładzanie łamanych: interpolation https://jpgraph.net/download/manuals/chunkhtml/ch15s06.html https://plot.ly/nodejs/contour-plots/ |
|
|
23.03.2018, 07:36:48
Post
#13
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Chodzi o to że kolory jakie są przypisane do wartości są od 0 do 1
Nie mam jak zastosować danego koloru do ujemnej wartości dlatego chcę zrobić coś takiego jak tablice w php czyli np.
Teraz do pola gdzie podawane są współrzędne i wartości dodał bym coś takiego zapytanie do bazy i
trzczy ten plot to fajna sprawa ale nie ma tam chyba możliwości wykorzystania tego w php. Tam jest chyba tylko opcja na pythona którego próbowałem odpalić ale coś poszło nie tak i nie zadziałał. |
|
|
23.03.2018, 07:40:17
Post
#14
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Tam chyba jest też javascript. Jeszcze może ten trop https://github.com/d3/d3-contour
|
|
|
23.03.2018, 09:13:54
Post
#15
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Ta strona też nie jest zła tylko tam nie mogę dodać tam mojej mapy z obrazkiem
Chyba jestem zmuszony pracować na tym co dałem wyżej tylko muszę uporać się z tym #13 |
|
|
23.03.2018, 11:10:04
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Sporo już w tym siedzisz, a masz problemy z podstawami.
Interpolacja zakresu <xmin,xmax> do <0,1>: y=(x-min)/(xmax-xmin) -------------------- |
|
|
23.03.2018, 15:52:56
Post
#17
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Chyba nie bardzo
x i y to współrzędne a wartość pobierana z bazy danych to tak zwane z czyli wysokość |
|
|
23.03.2018, 15:55:00
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A co maja do tego współrzędne x i y? Interpolujesz z.
-------------------- |
|
|
24.03.2018, 19:15:55
Post
#19
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Nic mi nie chce wyjść.
Mam przypisane kolory do danych wartości a i tak skrypt robi sobie co chce i daje jakieś swoje dziwne kolory. Mam taki kod do wyświetlania obrazka
Ten kod odpowiada za interoplacje leaflet-idw.js http://brzanek.webd.pl/2017/Leaflet.idw-ma.../leaflet-idw.js |
|
|
24.03.2018, 19:33:10
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Zakres temperatur <-20,10>
xmin=-20 xmax=10 Dla x=-20, y=(-20 - -20)/(10 - -20)=0 Dla x=10, y=(10 - -20)/(10 - -20)=1 Dla x=0, y=(0 - -20)/(10 - -20)=0,6666 itd. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 21:47 |