Autor Zpráva
RastyAmateur
Profil
Zdravím,

hledám knihovnu na vytvoření grafu, konkrétně kartogramové mapky okresů ČR. Nemusí být s legendou, nějaký hover efekt s konkrétní hodnotou by byl vhodnější. Vzhledově by měla vypadat asi následovně:



Co jsem si tak pozjišťoval, tak to umožňuje nějakým způsobem leaflet. Jenže to je obrovská knihovna a minimálně v examplech jsem nenašel to, co konkrétně potřebuji. Pak i na d3js (fialová sekce Maps) jsem našel nějaké mapky, ale stále to není to, co přesně potřebuji.

Nemá s tím někdo zkušenost?

Díky, RA
RastyAmateur
Profil
Zjistil jsem, že je to zmiňovaný leaflet, do kterého se vloží pouze nějaký geojson, ve kterém jsou definovány různé polygony představující právě kraje a okresy. Poté už je to jen o práci s tím leafletem. Hádám, že se mu nějakými vlastnostmi změní výchozí design polygonů, zakážou se různé ovládací prvky (zoomControl, dragging, attributionControl na false) a nakonec se nastaví bílé pozadí.

Přijde mi to docela jako hloupost, stahovat celou knihovnu a nějaký geojson jen kvůli tomu, aby mi to pokaždé vygenerovalo jeden "statický" obrázek. Vygenerovat si ho jednou, uložit a pak ho vkládat jako normální svg soubor by mi přišlo lepší. Ale zase je pak náročnější úprava a podobně...
Tomášeek
Profil
RastyAmateur:
Tak to nepotřebujes přeci generovat, ne?

Nebylo by pro tebe řešením stáhnout/koupit (dle práv samozrejme) svg mapu republiky rozdělenou na okresy a pak jednoduše nad nějakým jednoduchým rozhraním pracovat s ni? Je to práce na “chvilku”, radové par hodin.

Nasypes scriptu data (předpokládám z db), podle min/max hodnot si určis barevnou skalu (která hodnota má jakou barvu) a pak jednotlivým častem mapy priradis barvu/třídu.
RastyAmateur
Profil
Tomášeek:
Víceméně to tak aktuálně řeším, ano. Jen jsem přímo tu mapu nestáhl, ale vygeneroval si jí pomocí toho geojsonu (nakonec ne v leafletu, ale v d3js, je to abstraktnější, tam se s tím pak lépe pracuje a lze si to snáze přizpůsobit).
Tomášeek
Profil
RastyAmateur:
Podle #2 to vypadalo, ze s tím pořad valcis a něco se ti na tom nepozdava. Takže mas vyřešeno? Ono moc dalších možnosti nebude.
RastyAmateur
Profil
Tomášeek:
Víceméně ano. Mám nějaký hrubý nástřel, už to funguje, dělá to, co má, optimalizaci budu řešit později. Já jsem spíše původně doufal, že existuje nějaká super knihovna, které jen řeknu pomocí různých identifikátorů a kódů, že chci zvýraznit tyhle a tyhle části a ona to udělá. Nečekal jsem, že musím vážně vkreslit polynomy do mapy nebo tam vkládat nějaké GPS souřadnice...

Co mi ještě tak napadá pro případ, že by to někdo řešil - mé postřehy: d3js je lepší v tom, že si snadno upravit výsledný DOM. Ovšem importovat celý d3js jen kvůli tomuto je blbost. Navíc leaflet má mnohem mnohem lépe řešený ten převod geojsonu do SVGčka. Výsledné svg je z leafletu mnohonásobně menší, než z d3js.
Kcko
Profil
RastyAmateur:
www.novato.cz (mrkni dolů, je to děláno přes JS knihovnu co umí s SVG, mapu si asi můžeš "vykrást" taky ;-)
RastyAmateur
Profil
Kcko:
Ta vypadá také hezky :D Už jsem si poradil, ale děkuji :)
Kcko
Profil
RastyAmateur:
OK, np, jen že jsem to kdysi dělal a bylo to dosti snadné a dosti ohebné a ta JS knihovna jde použít na jakoukoliv SVG mapu.
Btw. mimo téma (fotbalizér vám nějak exnul ne? ;)
Keeehi
Profil
RastyAmateur:
Ovšem importovat celý d3js jen kvůli tomuto je blbost.
Je to ten jednodušší zpusob. Ovšem d3jd je modulární, takže kdo chce může si sestavit vlastní verzi jen z částí co potřebuje.
RastyAmateur
Profil
Kcko:
Btw. mimo téma (fotbalizér vám nějak exnul ne? ;)
Co je fotbalizer? Nebo to nebylo na mě? :D

Keeehi:
Ovšem d3jd je modulární, takže kdo chce může si sestavit vlastní verzi jen z částí co potřebuje.
To jsem nevěděl, paráda :)
Kcko
Profil
RastyAmateur:
Co je fotbalizer? Nebo to nebylo na mě? :D
Někdo tady vyvíjel fotbalový portál a tahal data z fotbal.cz, myslel jsem, že ty; s někým jsem si Tě spletl :)
RastyAmateur
Profil
Kcko:
Někoho kdo tahal data z fotbal.cz si taky pamatuji! :D Jen nevím, že vyvíjel toto. Každopádně to já nejsem. Já, bohužel, zatím neudělal žádný projekt, který by používala nějaká širší veřejnost :D

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0