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í.
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.
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.
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.