Select to view content in your preferred language

Vytvořte si vlastní symboly do webové aplikace

596
0
03-08-2023 01:33 AM
CyrilDynka_Mrva
Esri Contributor
0 0 596

V rámci ArcGIS Maps SDK for Javascript je možné definovat symboliku vrstev pomocí třídy esri/symbols/CIMSymbol, která vychází ze specifikace CIM (Esri Cartographic Information Model).

Dokumentace CIM publikovaná na platformě GitHub obsahuje specifikaci kartografického informační modelu, která slouží k definici kartografických vlastností datových sad v prostředí ArcGIS. Specifikace CIM je reprezentována ve formátu JSON a používá se v aplikacích a rozhraních prostředí ArcGIS nejen pro tvorbu webových aplikací, ale můžete ji využít také pro automatizovanou úpravu projektů v ArcGIS Pro včetně symboliky vrstev, obsahu map, výkresů a datových zdrojů.

Pro snadnější tvorbu symbolů můžete využít volně dostupnou webovou aplikaci CIM Symbol Builder, která umožňuje definovat symboly bodových, liniových a plošných vrstev pomocí grafického rozhraní.

 

CyrilDynka_Mrva_0-1678189047826.png

 

 

V aplikaci je možné vytvářet symboly složené z vrstev a upravovat jejich parametry. Je možné vybírat z předdefinovaných symbolů ikon, tvarů, linií a výplní. Dále je možné symboly rozšířit vložením URL adresy vlastního webového stylu a grafiky ve formátu SVG nebo rastrové bitmapy.

 

CyrilDynka_Mrva_0-1678189120951.png

CyrilDynka_Mrva_0-1678189154598.png

 

Rastrový obrázek pro symbol CIMPictureMarker je možné vložit do parametru URL jako odkaz na umístění obrázku nebo převedený na formát Data URI.

 

CIMpicturemarker.gif

 

Změny parametrů se okamžité projeví v náhledu (Preview) a po kliknutí na Apply to feature layer i v mapě. Vytvořený symbol je poté možné po kliknutí na Get Symbol JSON zobrazit v JSON formátu a použít do vlastní webové aplikace.

 

CyrilDynka_Mrva_0-1678189304651.png

 

 

var symbol = new CIMSymbol({

    data: {

        type: "CIMSymbolReference",

        symbol: {VLASTNI_SYMBOL} // {VLASTNI_SYMBOL} nahraďte zápisem symbolu v JSON formátu

    }

});

 

Pro testování můžete také využít ukázkovou aplikaci v prostředí Codepen, kde nahradíte řetězce: pointSymbolJSON, lineSymbolJSON a polygonSymbolJSON vlastními JSON symboly.

Více o nastavení jednotlivých symbolů a jejich vlastností se dozvíte v článku CIM Symbol Builder na blogu Esri.