Ready-made map drawing styles can be selected and used from Dictionary editing, project editing layer selection screens.
GEODI map drawing styles are set with css. A new style can be defined by placing a css file in %AppData%Dece/App/GEODI/SystemStyles or in the SystemStyles folder next to the application . Custom style constraints can be applied based on a layer.
CSS definitions support cascading architecture. A label can take a red color from one definition and a blue background from another definition.
Properties that will let you provide separate definitions for the label, point, line, area, GDI settings can be used.
For label edits label-... , for point edits point-.... , for area edits polygon-..., for line edits line-...., for GDI settings map-... definitions can be used..
Definitions cannot be used directly. It can be used in a block with the target or class name that it will affect.
Blocks can be defined as.[ClassName] { .. } , #[Target] {..}, #[TypeName] {..} or layer{...} . A definition in the block called "layer" affects all geometries.
If a geometry is affected by multiple definitions in the list during drawing, the property in the last definition applies. For a higher definition to always be valid, !important statement can be used in the definition.
/* In this example, the MyClass class tags a selected layer named MyLayer. - It is drawn in red. The class name defined by "." is at the end of inheritance. - Black background used. Altough the layer,that is defined by ".", is trying to make the backgroud gray, background becomes black because usage of !important at the "#" layer definition makes the layers statue higher at the inheritence level. - Text edges are set to be white. Halo definition is inherited from "#" layer definition. */ .MyCLass { label-Color:Red; label-BackgroundColor:Gray; } layer { label-Color:Blue; } #MyLayer { label-Halo:White; label-BackgroundColor:Black !important; } |
Macro can be used for style values. For syntax rules, see the Macros page. The [ ] characters should not be used in style values.
.MyCLass_A { point-Color:$context.GetColor(context.ID) ; } .MyClass_B { point-Color:=Color.FromArgb(200,(int)Math.Abs((context.Geometry.Centroid.Y/10000)%255),(int)Math.Abs((context.Geometry.Centroid.X/10000)%255),(int)Math.Abs((context.Geometry.Centroid.X/10000)%255)); } .MyClass_C { label-Enable:=c.MapScale>1000; } |