Basics
GEOlayers is your new best friend when you want to design and animate maps. It hooks you up with up-to-date geospatial data and satellite imagery. It lets you design complex map styles with a few clicks and animate them in 3D space.
Watch this tutorial to get started. Learn how to create Mapcomps, change styles, animate, and finalize them.
Mapcomps
Mapcomps are Compositions filled with map imagery and/or geographical labels.
They are the basic building block of each GEOlayers project.
To start a project you need to create a Mapcomp. Do this by creating a new project from the projects window or click the little arrow top left in the main window and hit + Add Mapcomp.
There are two steps to add a new Mapcomp:
- 1. Composition options and location
- Choose a name, pixel size, duration, and framerate. These values are set from the currently selected composition. Don't forget to navigate the preview map to the location you're interested in. You can also use the search bar to jump to a place. Once you did this hit Next
- 2. Map Style
- Now select a basic style for your map. You can select imagery presets from the section below the preview map, choose color presets, or change individual colors. The Mapcomp can be styled more detailed once it is created, so hit Create for now!
Now you can see the actual Mapcomp has beed created in the currently selected composition. Above it you can see the Mapcomps anchor layer. This is a helper layer that matches the Mapcomp's view animation and can be used to parent layers.
If you don't want to start from scratch you can also choose a sample project to start from. Find the projects panel in the context- or flyout menu of the GEOlayers panel.
Whenever you open a project that already contains Mapcomps you can see and select them clicking top left in the main window. This will open the Mapcomp list.
As you hover over a Mapcomp the following buttons appear:
- Mapcomp Settings
- Click to open the Mapcomp settings panel. There you can style the map's imagery and labels, change its name, link its view to other mapcomps, and more.
- Duplicate
- Clicking will lead you to the following options:
- Duplicate the containing Comp with all Mapcomps inside
- Duplicate only the selected Mapcomp inside the containing Comp
- Split the Mapcomp's Imagery and Labels to separate Mapcomps
- Remove
- Click here to get rid of your Mapcomp and all related project items like imagery tiles and labels.
- Finalize
- Click to finalize only a single Mapcomp. The finalize Button in the main panel will finalize all related Mapcomps.
- Hold ALT/OPT to finalize in preview quality.
- Hold CTRL/CMD to finalize in only the current frame.
- Hold SHIFT to finalize all Mapcomps in the project.
- Preferred Mapcomp for Template Labels
- If you have a group of linked Mapcomps you can define a preferred one to put template labels on. This one will then be used to label features instead of the currently selected Mapcomp. This is useful for more complex projects like 3D landscapes.
- Preferred Mapcomp for Drawing Features
- If you have a group of linked Mapcomps you can set a preferred one to draw on. This one will then be used to draw features on instead of the currently selected Mapcomp. This is useful for more complex projects like 3D landscapes.
- Lock Mapcomp Settings
- You can lock Mapcomps so you don't accidently hit any of the additional buttons selecting your Mapcomps. This will not prevent the map to be animated or finalized.
Below the list on the left side you can toggle display modes.
- Sort by linked Views to see exactly which mapcomps are linked
- Sort by Mapcomp name to order all Mapcomps by their Names
- Sort by Layer Order in containing Comp to show Mapcomps grouped by their containing comp in the layer order
Animate your Mapcomp
You can animate your Mapcomps with the effect controls of your Mapcomp Layer in the timeline. The easiest way is to click bottom left of the preview map in the main panel. This will create keyframes on all properties at the current time. If you move the current time indicator to a different position and change a Mapcomp's view GEOlayers will automatically add keyframes to the properties that have changed. For example, only the zoom or bearing.
Finalize your Mapcomp
Once your animation is done you need to finalize your Mapcomp.
Finalizing a Mapcomp means:
- 1. Analyzing
- The animation is analyzed and GEOlayers pulls the necessary tiles (imagery and data) from the basemap.
- 2. Rendering Imagery
- The required geospatial data or imagery is downloaded, rendered, imported to your project, and blended according to your animation's zoom level transitions. If needed, a provider attribution is created.
- 3. Adding Labels
- Labels are added and blended according to their importance.
Click the button in the top right of the main panel to finalize the selected Mapcomp and related ones. Mapcomps are related if their views are linked. Hold SHIFT to finalize all.
Additionally you can hold ALT/OPT to finalize in preview quality or CTRL/CMD to finalize only the current frame.
Mapcomp Settings
All settings of your Mapcomp are here. You can open the Mapcomp Settings by clicking in the Mapcomp list.
General
- Name
- You should change your Mapcomps name only here since related expressions will automatically be updated.
- Linked Mapcomp
- Select another Mapcomp here to link their views. Note that this option is only visible if you have more than one Mapcomp in your project.
- Language
- You can select a language for your Mapcomp here. This affects naming of features in the browser and search as well as the mapcomp labels. Note that not every location is named in every language. In this case, the international names are being used.
- Max Zoom
- This value describes how far the Mapcomp can be zoomed in. Note that this depends on the imagery you use. Imagery can be overzoomed but the quality will suffer in this case.
Imagery
You can generally enable and disable imagery rendering for Mapcomps. This can also be done in the Mapcomp list. If it is enabled you have the following options:
- Imagery Presets
- Click one of the thumbnails to apply an imagery preset to your Mapcomp. Each preset has different options. You can set them up by clicking in the top right.
- Quality
- The quality describes the resolution related to the zoom in which the imagery is being rendered. Normally 80% is a good setting for most cases.
- Blend Duration
- Depending on the zoom level, imagery from map providers will have different detail levels being rendered. After finalization, those zoom level transitions are blended with the duration that is set up here. Note that the duration can be shortened if there is not enough time.
Mapcomp Labels
The labels are After Effects text layers which you can style however you want. Those layers are called Mapcomp Label Templates and can be found inside the Mapcomp.
You can enable and disable automatic labels for Mapcomps. This can also be done in the Mapcomp list. If it is enabled you have the following options:
- Label Presets
- Depending on the colors of your imagery, GEOlayers suggests label styles. You can click one of the presets to apply the labels to your Mapcomp. Note that the existing Mapcomp label template layers are being removed. Click in the top right to reveal the layers in your Mapcomp. This also helps you to apply colors to all layers with one click, select the contents and block certain labels.
- Density
- The label density describes the amount of labels per view. Note that a higher density results in a slower finalization and longer render times.
- Size
- Set up a global label size here. Relative sizes can be set on the individual label template layers. Reveal them by clicking in the top right.
- Blend Duration
- After finalization, Mapcomp labels are blended in and out depending on zoom levels and other more important labels that intersect. The blend duration can be set up here.
On the bottom of the Mapcomp settings panel you can find two more buttons:
- If expressions break due to changing names of related layers or comps you can repair them from here.
- If there are image render errors in your project, hit this button to force GEOlayers to re-render.
Toolbar
The toolbar is below the Mapcomp bar.
- Pin Layer to Map
- Select one or more layers in your selected Mapcomp's containing composition and click this button to snap them to your map. After doing so, the layer will stay at the exact same geographical position as you animate your map. If the selected layer is allready pinned to a map it will be unpinned.
Pinned Layers
A pinned layer is a layer in your Mapcomp's containing composition that is fixed to a certain geographical position.
Have a look at the pinned layers effect controls and find the following options:
- Latitude, Longitude and Height
- These three controls represent the geographical position of the layer. The Height is the z-offset in pixels at the zoom the layer has been pinned.
- Pixel Offset
- 3D point control is very handy to adjust the layer's geographical position with normalized values. Even if you're zoomed in very close and incremental latitude changes would lead to a different position of the label. This property allows for quick adjustments. Note that the z-offset here is independent from the zoom.
- Scale with Map
- Check this option to scale the pinned layer according to your Mapcomp's zoom.
- Rotate with Map
- Check this option to rotate the pinned layer according to your Mapcomp's bearing and pitch. Note that you must enable the label layer as 3D in After Effects for this to work.
- Rotate along path
- If the geoposition of the layer is animated it can be rotated along its movement path with this option.
- Bearing offset
- If the layer is rotated with the map you can set an offset for the bearing.
- Position Progress
- If the Latitude, Longitude or Height properties are keyframed you can animate the layer's position with this progress slider between a value of 0 and 100. Note that you need to enable the effect therefore. It makes things easier if you want to ease complex route animations.
If you want to overlay a layer to your map, you can also parent it to the Mapcomp anchor layer.
- Create Controller Mapcomp
- Click this button to create a Mapcomp that displays neither imagery or labels. It can be used to link other Mapcomps to it or to draw geo-referenced shape layers on it.
- Create Water Mask Mapcomp
- Click this button to create a linked luma water mask mapcomp next to the selected Mapcomp.
- Draw 3D Buildings
- Click this button to draw 3D buildings as shape layers in the Mapcomp's containing composition. Note that this requires the Ray Traced or CINEMA 4D renderer. Note that this will considerably slow down After Effects.
- Create 3D Landscape
- You can create a 3D Landscape using other extensions such as Mettle FreeFormPro, Rowbyte Plexus 3, or Trapcode Mir 3.
- Draw Diagram
- Click this button to create a line or area chart from a .csv or .tsv file. Each column of the spread sheet represents a property that you can draw. Each line of one column represents a value in the sequence. Note that value sequences for the X-Axis need to be strictly ascending or descending.
- Run Script file
- Click this button to directly run script files. Note that button is not shown unless you have set up script file folders in the preferences.
- Add Template label
- This button will add a label based on the selected label template to your Mapcomp. GEOlayers will ask for the data fields specified in the label template. In your Mapcomp's containing comp you'll find a 'Location Picker' layer temporarily to adjust the position of the Label.
Label Template Selector
A label template is a composition with graphical elements and text or footage templates that will be set from feature properties when a feature is labeled.
In comparison to the mapcomp labels which are created automatically, these labels are more powerful and can be used to highlight certain places, add symbols, or even show whole datasets like weather information.
In the dropdown you can select the label template if you label a feature from the toolbar, the search, or the browser. You can hold ALT/OPT and click to reveal the label template Composition in your After Effects project. It is also possible to hold SHIFT to reveal the ColorComp of the label template if it has one. This is a composition where you can globally define colors for your label set.
You can easily filter the labels by name typing anything into the filterbar. If you're building template projects it might come also handy that you can right click the filterbar to set up filtering by Mapcomp. You can define label templates that are only visible if you have a certain Mapcomp selected.
Underneath the label template List you can find more options:
- Swap Label Template
- Once you have created a label you can swap its template by selecting a different label template, selecting the label layer in your timeline, and clicking this button.
- Import Templates
- Click this button to import label templates from an After Effects project. You can find several label template projects in the GEOlayers projects panel.
- Download Templates
- Click this button to open the projects panel showing all label template projects for you to download.
- Label on preferred Mapcomp
- If you have a group of linked Mapcomps you can set a preferred one to put template labels on in the Mapcomp list. This one will be used to label features instead of the currently selected Mapcomp. This is useful for more complex projects like 3D landscapes.
- Draw Arrow
- Click this button to set up an arrow shape layer. Once that is done you can draw the arrow with the pen tool. Check out the arrow layers Effect Controls to style and animate it. Note that the initial style and color depends on the selected Shape Layer Style. You can use the styles to create arrow presets.
- Add Shape Layer
- This button will create and pin a shape layer to your Mapcomp on which you can draw manually.
Shape Layer Style Selector
A shape layer style is a preset in which shape layers can be drawn. They are saved with the After Effects project.
They can be very powerful as their options can be data-driven by properties of the feature that is drawn.
In the dropdown, you can select a shape layer style that is used if you draw a feature even from the search or the browser.
You can easily filter the shape layer styles by name typing anything into the filterbar. If you're building template projects it might come also handy that you can right click the filterbar to set up filtering by Mapcomp. You can define shape layer styles that are only visible if you have a certain Mapcomp selected.
Underneath the shape layer styles you can find more options:
- Swap Layers Style
- You can apply a shape layer style to already drawn layers with this button. Select a layer and click it.
Additionally, there are some global settings for drawing shape layers:
- Simplify Geometry
- If enabled, GEOlayers will reduce geometry details that are visually unimportant. For maximum performance, keep this setting enabled. There is two modes, simply click the checkbox to toggle through the options:
- by Current Zoom: The geometry of the feature will be simplified according to the current view of your Mapcomp.
- by Max Zoom: The geometry will be simplified according to the largest zoom in your animation.
- Auto Stroke Width
- If checked, stroke widths will be animated according to the Mapcomp's zoom level so they appear to have the same width at each zoom.
- Individual Layers
- If you draw more than one Feature, you can select whether they should be drawn on a single or individual layers. Note that if feature styles have different extrusions, features will split to layers with the same extrusions.
- Inside Mapcomp
- For quick animations, you might want to draw features inside the Mapcomp so they appear below the Mapcomp Labels and don't add complexity to your containing composition.
- Draw on preferred Mapcomp
- If you have a group of linked Mapcomps, you can define a preferred one to draw on in the Mapcomp list. This one will then be used to draw Features on instead of the currently selected Mapcomp. This is useful for more complex projects like 3D landscapes.
Searchbar
With the search bar, you can query geographical features from the OpenStreetMap and Natural Earth databases. Type in a term and matching features will appear in a list below. The symbol next to the name lets you know if its point data () or an OSM way or relation () - in the latter instance, the geometry can be either a line or a polygon. You can also find features by simply clicking a place in the preview map. Note that this feature is only available if you have a Matiler account connected.
As you hover over the search results, they are previewed in the map and additional options appear:
Feature Browser
Browse and manage your geographical features here. Drag them around or ALT/OPT + DRAG to copy features. You can jump to them on your Mapcomp, label and draw them, or have a look at their properties. The ones you add to your favorites will be saved for use in other GEOlayers projects.
Features are geospatial geometries. They can be one of three types: points, lines, or polygons. In some instances, features can be a combination (known as a collection). They can have additional data stored as properties (For example: population sizes, total area, or names of locations).
Add Features
Click the button on the left side above the browser to add features to the browser. A few options will appear.
- Download Features
- Click here to download features in global datasets or for the Current View. World view datasets are provided by Natural Earth. Local datasets for the current view are downloaded from OpenStreetMap.
This service is provided by Natural Earth.
No attribution is needed, but if you want to give credit to Natural Earth, use this text: Made with Natural Earth.
Thisservice is provided by OpenStreetMap.
If you show data aquired with this service it must be attributed as follows: ©OpenStreetMap contributors.
- Import File
- If you want to import custom geospatial data from other databases or from your own research, GEOlayers can import and ingest these file types:
- .geojson
- .shp
- .gpx
- .kml
- .kmz
- .csv/tsv (needs latitude and longitude fields)
- .zip (with .shp and .dbf inside)
- Current Mapcomp View
- Save the current latitude, longitude, zoom, bearing, and pitch of the selected Mapcomp in a point feature. You can apply the exact same view to Mapcomps clicking Fit view to Feature with view feature selected.
- Feature from Layer
- You can create and import features from almost every layer in a composition that has a Mapcomp inside. Select a Template Label layer, Nulls to get point features or draw lines and polygons on a shape layer to import complex geometries. Open paths will result in line features, whereas closed paths will be interpreted as polygons. Note that self intersecting rings in a polygon are not allowed and can lead to errors. Bezier curves will get rendered in the quality necessary for your current view.
Filter Features
You can filter your list of saved features in the browser. Just type in a search term.
- Anything
- Any word will check all feature properties for a match.
- Certain Properties
- You can also filter by certian properties. Do this by typing in the property name, an operator, and a value. For example, kind=country or population<100000.
Additionally you can filter by geometry type (points, lines, polygons).
Feature Actions
Storing features in the browser is a powerful tool in GEOlayers. Select one or more features and the following buttons appear below the browser:
- Fit View
- You have four options to fit your Mapcomp's view to the selected feature.
- Fit View to Feature
- This will fit your Mapcomp's view to the bounds of the selected feature. It changes latitude, longitude, and zoom, but will not affect bearing or pitch.
- Animate View to Feature
- You can animate the selected Mapcomp's view from anywhere to the selected feature. The duration of this animation can be set in the preferences.
- Animate View along Feature
- This will animate your Mapcomp's view along the geometry of the selected feature. You can follow a route or .gpx track on a map. It animates latitude and longitude, but will not affect bearing, pitch, and zoom. The motion path of your view gets smoothened according to the zoom level. If you zoom in further, the view will be more detailed along the feature's path. The duration of this animation can be set in the preferences.
- Animate View between Features
- If you have two or more features selected you can animate the selected Mapcomp's view from one to another. The duration of this animation can be set in the preferences.
- Pin Layers
- You have two options to pin layers to your Mapcomp.
- Pin Layers to Feature
- This will snap selected layers in your Mapcomp's containing composition to the geographical position of the selected feature.
- Animate Layers along Feature
- Click to animate selected layers in your Mapcomp's containing composition along the geometry of the selected feature. The duration of this animation can be set in the preferences.
- Add Label
- You have two options to add feature labels to your Mapcomp.
- Add Label
- This will add a feature label created with the selected label template to your Mapcomp's containing composition.
- Animate Label along Feature
- This will add a feature label created with the selected label template to your Mapcomp's containing composition and animate it along the geometry of the selected feature. The duration of this animation can be set in the preferences.
- Add Labels with Time Offset
- This adds labels for each selected feature with an offset in time. The overall offset depends on the default animation duration which can be set in the preferences. The offset can also be data-driven. Set up a timing property for a whole Feature Collection by opening its Feature Properties.
- Draw Features
- You have two options to draw features to your Mapcomp.
- Draw Features
- This draws the selected features with the selected shape layer style to your Mapcomp. If a feature has a shape layer style applied this one will be used instead.
- Animate Feature Path
- This draws the selected features with the selected shape layer style to your Mapcomp and animate its trim path property. If a feature has a shape layer style applied this one will be used instead. The duration of this animation can be set in the preferences.
- Draw with Time Offset
- This draws each feature with an offset in time. The overall offset depends on the default animation duration which can be set in the preferences. The offset can also be data-driven. Set up a timing property for a whole Feature Collection by opening its Feature Properties.
- Add Feature Collection
- This adds a feature collection around the selected features. You can think of it like a directory for files. Use it to structure your features in the browser.
- Feature Properties
- Click to open the feature properties panel. You can see a list of all properties the feature has. You can rename it, apply a shape layer style to it, adjust the position of Labels and even create data-driven shape layer styles matching feature properties with just a few clicks.
- Also if you want to edit feature properties or import data from a spreadsheet to an actual polygon feature collection you can use the import/export properties to .csv buttons. Note that you'll need to select a Feature Collection therefore. You'll find the buttons under all the Collective Feature Properties.
- GEOlayers supports data that changes over time. In this case the property needs to be an array of values. If you have a file sequence that holds the same geometries but with different property values like increasing or decreasing population you can also import this sequence and its properties will be merged to arrays.
- Connect Features
- If you have at least two features selected you can create line features connecting them. You have the following options:
- Straight Line Mesh
- This will create a feature collection with lines connecting each feature with each other. If you select one single feature and a collection, lines from all features in the collection to the single one will be created. Lines appear to be straight in projection your Mapcomp has.
- Plane Route Mesh
- This will create a feature collection with lines connecting each feature with each other. If you select one single feature and a collection, lines from all features in the collection to the single one will be created. Lines appear to be curved since they show the shortest connection on the globe.
- Straight Line
- This will create a line connecting all selected Features.
- Plane Route
- This will create a line connecting all selected Features. The line appears to be curved since they show the shortest connection on the globe.
- Pedestrian
- With this option you can connect five features max. It will calculate a route based on OpenStreetMap.
- Bicycle
- With this option you can connect five features max. It will calculate a route based on OpenStreetMap.
- Car
- With this option you can connect five features max. It will calculate a route based on OpenStreetMap.
- Lines from Polygons
- This function will create a line feature from selected polygons. Use it for example to create clean boundaries from selected country polygons.
- Merge Features
- This merges the geometry of two or more Features. Note that complex geometries can result in very long calculation times.
- Subtract lower Feature
- This will subtract the geometry of the selected Feature that is lower in the browser from the one above. Note that complex geometries can result in very long calculation times.
- Split Feature
- This splits a feature into individual geometries. For example, a country feature that contains islands will be split into multiple layers.
- Points inside Polygons
- You a few options what to do with Points and Polygons.
- Points inside Polygons
- Select Points as well as at least one Polygon Feature and get back Collections of Points that are within the certain Polygons.
- Inject Point Properties to Polygons
- Imagine you have spreadsheet data for a bunge of countries. This data will be imported as Point Features. If you load Country Polygons into your Browser select both the Points and Polygons and click this option, the data from your spreadsheet will be injected into the Country Polygon Features.
- Convert Polygons to Points
- Convert Polygon or Line Geometries to simple Points.
- Draw Property Charts
- This tool helps you creating line or area charts from Feature data. For example an elevation chart of a gpx track. Note that your selected Feature(s) need to have Array properties to be able to visualize it in a chart.
Label Templates
GEOlayers allows you to use custom compositions to label features. You can label features from the feature browser or directly from the search bar. In the toolbar you select the label template to use.
Label templates are stored in your After Effects project under GEOlayers 3 Items/Label Templates. You can add and remove compositons to this folder and use them as your custom labels. On an empty project a default set of label templates will be loaded.
Default Labels
The default label templates are set up for two color schemes and can be customized. To do that open the following composition: GEOlayers 3 Items/Items/LabelColors. There you can adjust the fill colors of the containing shape layers or simply hide them if you don't want straps for example.
Once a feature is labeled you can change the label layer's anchor point property to offset the text strap while the pointer still sits at the correct geoposition.
Create Custom Labels
Each composition that is inside GEOlayers 3 Items/Label Templates in your After Effects project is noticed by GEOlayers as a label template. Note that the labels anchor point is at the center of the template composition by default. If you want it to be somewhere else add a layer called Label Anchor Point to your template composition. This layer should have a z-positon of 0 and be not parented to another one. The anchor point of each label created with this template will then be adjusted to this layer's position in the template comp. An expression will link its position to the label's anchor point. This allows dynamic labels.
If you want a Label Template to be a 3D layer as you add it to a map switch on the 3D layer flag of the Label Anchor Point layer. Same goes for collape transformation.
Additionally you can control a labels default behaviour by adding the following effect controls to the Label Anchor Point layer:
- Checkbox control: Scale with Map
- Checkbox control: Rotate with Map
- Checkbox control: Rotate along path
- Angle control: Bearing Offset
Text layers that are not locked are used as template fields. The text layer's name or content defines the text that is inserted to it as you create a label.
- Any name will tell GEOlayers to insert just the feature name.
- A feature property in curly brackets in the name or text layers' content will lead to replacing the source text with a certain property's value. Multiple properties are supported. So a text layer's name or content could be {population} or Latitude: {lat}, Longitude: {lon} for example. If the Features' property is an Array the text will be animated. Change the duration of this animation with the Default Animation Duration in the preferences.
Footage layers that are not locked and are named like a property in curly brackets are used as footage template fields. The layers' source will be replaced when the Feature provides a suitable property for this. Properties can hold the following data:
- An absolute local path to a file with or without the file extension D:\my_folder\my_file(.jpg)
- A local path or file name with or without file extension that is relative to the template footage my_file(.jpg)
- A http or https URI http://www.myserv.er/my_image.jpg
Inspect a feature's properties by clicking the feature properties button in the feature browser.
Shape Layer Styles
Edit your shape layer styles by clicking Edit Styles on the Shape Layer Style Selector.
A shape layer style is a definition of how features will be drawn to shape layers. It defines colors, opacities, strokes, extrusion etc.
At the top of the dialog you can reset, import, and export shape layer styles. Styles are saved inside your After Effects project.
- Create Styles based on Mapcomp
- Click this button get a set of shape layer styles based on the selected Mapcomp's imagery.
Edit Styles
Select a style from the grid to edit its properties. You can also drag them around, create new ones, duplicate, or remove them.
- Pick Style from Layer
- You can pick Styles from Shape Layers or certain Content Groups on Shape Layers directly. Simply select one or multiple Layers or Groups and click this button to add Styles to your palette. Note that not all Shape Layer Properties are supported. For example Gradient Fill or Strokes are not possible.
The selected style can be edited below. You can select whether a fill and a stroke property should be drawn. Unlike polygons, line and point geometries will be drawn with a stroke also if it is not checked. For each of the both you can define a color and a opacity. The stroke has some additional options. The Width, which is relative to your selected Mapcomps current view, and a dash slider. Use it to draw your Stroke dashed or dotted. Note that this increases the time for the drawing process.
A style can also contain an extrusion. As a result, the containing composition's renderer will be set to CINEMA 4D. Features with different extrusions will be drawn on separate layers due to limitations with After Effects. Same goes for different Layer Blending Modes and the Preserve Transparency toggle.
Data-driven Styling
Each setting of a shape layer style can be data-driven. Click the button to automatically adapt the setting to a certain feature property.
Type in the property's name and a value range. You can then, for example, colorize a stroke according to the drawn feature's population property. If you define numbers in the value range, colors in between will be styled across a range. String data (words) will change the setting on an exact match. Numbers can be treated as a string if you use quotation marks.
For Stroke Width and Outline Width you can choose Circle Area as an interpolation setting next to the Property name. Use it if you want to draw Point Features whose surface area should represent the property value. This makes visually more sense than the diameter which represents the stroke width. Note that in this case you should have only 2 items in the value range.
If the data-driving property of the Feature is an Array GEOlayers will animate the corresponding shape layer settings. In the browser you will see a little icon if the Features' property is suitable for an animation. The duration of this animation can be adjusted changing the Default Animation Duration in the preferences
By checking the rnd setting, it will be randomized in the given value range.
The little icon in the style thumbnail indicates that the style has at least one data-driven setting. Thumbnails in the feature browser also preview data-driven settings. If the icon is not spinning the Feature has no property to data-drive the Shape Layer Style.
Projects
Find the projects panel in the flyout menu of the extension.
Create a new Project
Click this button to create a new GEOlayers project and Mapcomp.
Import a Project
If you want to integrate a GEOlayers 3 project in the one that is already open. GEOlayers will take care of unique comp names, update expressions, merge shape layer styles of both projects, and sort your items into the required folder structure.
Open a Project
Click this button to open any After Effects project.
Recent Projects
In this section you can find and open your recent GEOlayers projects.
Sample Projects
You can directly download sample projects to get you started. The projects can contain shape layers styles and label templates. Features can be delivered with the project. In this case, they will be added to your browser when the project is loaded.
The icon top right lets you download the project with your browser.
If there is a top right you can also watch a related video to learn more.
Label template projects can be directly imported to your GEOlayers project if one is currently open.
Preferences
Find the preferences in the context or flyout menu of your GEOlayers panel.
General
- Default Composition Settings
- Choose some defaults for creating Mapcomps. Note that you can also select a Composition before you create a Mapcomp to apply its composition settings and place the Mapcomp inside.
- Default language
- Choose a language which Mapcomps will use by default.
- Smoothen view animations
- If this setting is checked all view animations will be eased automatically. Smoothing will also be applied if you animate a Mapcomp's view along a feature.
- Easing
- If you have smoothen view animations enabled you can choose the velocity influence for the keyframes.
- Default animation duration
- This duration is used for animating views, markers, labels, or draw shape layers along a feature. If the feature has timed information like GPX tracks and the Mapcomp's duration is long enough the original time will be used to animate. If the composition is not long enough the speed is scaled up relatively to match the default animation duration.
- To adapt the animation length once it is drawn, select all the keyframes and drag the last keyframe around holding ALT/OPT.
- Show Tooltips
- You can disable tooltips here.
- Show Hints
- You can disable the Hints that pop up after certain actions.
- Use System Color Picker
- Select whether you want to use the GEOlayers color picker or the system default.
- Finalize only containing comps work area
- Instead of the whole duration only the work area of the composition your Mapcomp is placed inside is finalized. This can be handy for long, complex animations.
- Show Bounding Box of previewed Features
- Show a Bounding Box around Features in the preview map.
Feature Search
- Services
- You can set up multiple services for your searchbar and the search by coordinate function. Note that MapTiler is only available if you have have connected your MapTiler Cloud account.
Mapcomp Imagery
- Render Directory
- Into this directory all the Imagery will be rendered.
- Render to project directory
- Enable this setting and GEOlayers will try to render the imagery to the directory your After Effects project file is stored. It is more efficient to use a global render directory and collect files as the project is finished since GEOlayers will be faster using already rendered imagery on different projects.
Labels
- Custom Label Template Project
- Apart from the Default Label Templates you can define a custom .aep that will be loaded when you create a new GEOlayers 3 project.
- Ask for missing data before adding Template Label
- If you want to add a label for a feature and the Label Template requires data that can't be provided by the feature GEOlayers will show a dialog that lets you enter the missing data.
- Renaming
- You can set up a renaming table for the automatic Mapcomp labels. Type in the location name you don't want to see and a name with which it should be replaced.
Shape Layer drawing
- Change renderer for extruded layers
- The After Effects Classic 3D renderer can't display extrusions. GEOlayers can change the renderer to Ray-Traced or the CINEMA 4D renderer once a shape layer is drawn with extrusion. The Mapcomp itself can't be rendered with a different renderer such as Classic 3D due to the layer blending during zoom level transitions. This is why extruded shapes can't be drawn inside Mapcomps. They will be offset in z-space.
- Cast shadows
- You can set up newly drawn shape layers to cast shadows by default.
- Accept shadows
- You can set up freshly drawn shape layers to not accept shadows by default.
- Duplicate Features across Date Line
- Draw features multiple times if they cross the date line or your view is zoomed out that far that it shows the whole world multiple times.
- Dash Zoom Threshold
- As you zoom a map that has a shapelayer with a dashed stroke attached and it was drawn with the Auto Stroke Width setting GEOlayers needs to adjust the dash length according to the stroke width to keep it visually balanced. This slider lets you adjust how much streching of the dash length is allowed. 0 means no stretching at all. A value of 1 ends up in one step each zoomlevel.
- Accurate Topology Simplification
- Polygons with shared borders are simplified more accurate to avoid glitches. This method is slower.
- Simplification Detail (Zoom Offset)
- Features are simplified according to a certain zoom of your map. Increasing this value will lead to more detail in the geometry allowing you to add a little zoom to your animation afterwards without the need to draw the feature again.
Finalization
- Max tiles for finalized Mapcomp
- The maximum number of imagery layers GEOlayers will allow during finalization. Keep in mind that your machine might get pretty busy if you allow a really high amount of layers.
- Base Sample Rate
- Define the frames to be left out during analyzation before finalizing. GEOlayers will automatically sample more details depending on the map movement it detects. Nevertheless, if you have problems with missing tiles on the mapcomp edges, you can lower this value and finalize again.
Mapcomp Label Engine
There is a complex algorithm setting up the Mapcomp labels. Changing these values might end up in unwanted results.
- Title Safe Area
- The minimum distance from the border of the frame, relative to the Mapcomp size, in which Mapcomp labels can be drawn
- Label Buffer
- The buffer around each label, relative to the Mapcomp size, which prevent labels from displaying if they collide.
- Min Appearance Time
- If a label doesn't reach this time to be displayed it won't be added to the Mapcomp since you wouldn't be able to read it.
- Collision Sample Rate
- The rate in which GEOlayers looks for label collisions and sets up blending during finalization.
- Max labels to sample per view
- The maximum amount of labels that can influence each other.
- Lock Mapcomp Labels
- Lock created Mapocmp labels after finalization.
Pinned Layers
- Rotate along path smoothing
- This setting describes the smoothing applied to the rotation, if you animate a pinned layer or label along a feature and enable its rotate along path effect.
Scripts
- Script folders
- Add directorys that store .jsx or .jsxbin files to run them from the GEOlayers toolbar.
- Detect script files in project directory
- Show .jsx or .jsxbin files in the toolbar script runner that are in the same directory as your current After Effects project file.
Render Queue
Once your Finalization is done GEOlayers displays the option to add a compostion to the After Effects or Media Encoder Render Queue.
- Render Directory
- You can either keep the default behaviour of After Effects setting your output folder or specify an absolute or relative path.
- Create Directory if not existing
- You can allow GEOlayers to create the render directory if it doesn't exist.
Scripting API
There is an extend script API that you can use to automate tasks with GEOlayers. Feel free to get in touch and tell us what you need to create automated workflows. In general, the GEOlayers panel needs to be open when you want to call any function of the API.
Find an overview of the functions the API exposes:
- geolayers3.importProject(file[, isLabelTemplateProject])
-
Import a project to your current one. GEOlayers will sort everything into its project structure, take care of unique comp names and update expressions accordingly.
Arguments:- file: A File object referencing an .aep or .aet file.
- isLabelTemplateProject: Boolean, set to true if the project to import only contains Label Templates.
- geolayers3.finalize(comps, callback[, options])
-
Use it to finalize Mapcomps.
Arguments:- comps: Either one or an array of Mapcomp names, Mapcomps or comps that contain Mapcomps, or undefined to finalize all Mapcomps in the project.
- callback: A function (error, mapcomps) that is called async when all finalizations are done.
- options: An options object with the following possible boolean properties: "onlyCurrentFrame", "previewQuality", "onlyWorkArea" and "purgeImageryCache".
- geolayers3.duplicate(comp[, options])
-
Use it to duplicate Mapcomps or comps that contain Mapcomps. This method also updates all related expressions.
Arguments:- comp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- options: An options object. Use it for naming the duplicates. If you're duplicating a Mapcomp use the property "newName". If you duplicate a containing comp use "newContainingCompName"
- geolayers3.setViewAtTime(comp, view[, forceKeyframe[, time]])
-
Use it to set or animate views of Mapcomps.
Arguments:- comp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- view: An object with the following float properties: "latitude", "longitude", "zoom", "bearing" and "pitch".
- forceKeyframe: Set this to true to set a keyframe even if the property is not keyframed yet.
- time: The time in the containing comp to set the value. If it is undefined it takes the current time.
- geolayers3.fitViewAtTime(comp, bbox[, forceKeyframe[, time]])
-
Use it to set or animate views of Mapcomps by a bounding box.
Arguments:- comp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- bbox: A geojson bounding box Array [LongitudeMin, LatitudeMin, LongitudeMax, LatitudeMax] (WGS 84)
- forceKeyframe: Set this to true to set a keyframe even if the property is not keyframed yet.
- time: The time in the containing comp to set the value. If it is undefined it takes the current time.
- geolayers3.removeMapcompControlKeys(comp)
-
Removes all keyframes from the Latitude, Longitude, Zoom, Bearing and Pitch controls of the specified Mapcomp.
Arguments:- comp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- geolayers3.getMapcomps()
- Returns all mapcomps of the project.
- geolayers3.getMapcompAnchor(mapcomp)
-
Returns the mapcomp's anchor layer in their containing comp.
Arguments:- mapcomp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- geolayers3.getLabelTemplateComps()
- Returns the projects Label Template Compostioions or an empty Array.
- geolayers3.addLabel(comp, labelTemplateComp, labelData)
-
Use it to add Labels to Mapcomps.
Arguments:- comp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- labelTemplateComp: A composition, label template name or an integer representing the number of the label template in the project.
- labelData: An object with the following required float properties: "latitude" or "lat" and "longitude" or "lon" plus the string properties the label template requires like "name" ect.
- geolayers3.updateLabelData(labelLayer, newLabelData)
-
Use it to update data in already created Template Labels.
Arguments:- labelLayer: A Label Layer
- newLabelData: An object with the string properties the label template requires like "name" ect.
- geolayers3.getLayersGeoPosition(layer)
-
Use it to get longitude and latitude of a layer in relation to a Mapcomp.
Arguments:- layer: A layer in a mapcomps containing comp
- geolayers3.fetchText(url, callback[, initObject])
-
Hit an url and get back the response as text.
Arguments:- url: The url you want to fetch.
- callback: A function(error, data) that is called async when the response has been processed.
- initObject: Please search the fetch API docs for the init object.
- geolayers3.fetchJson(url, callback[, initObject])
-
A quick way to hit json apis.
Arguments:- url: The url you want to fetch.
- callback: A function(error, data) that is called async when the response has been processed.
- initObject: Please search the fetch API docs for the init object.
- geolayers3.geocode(searchString, callback[, options])
-
A quick way to geocode a string. Pretty much the same as if you would type it into the searchbar.
Arguments:- searchString: The search term or address you want to geocode.
- callback: A function(error, features) that is called async when the response has been processed.
- options: An options object with the following possible ISO639 string property: "language". By default the selected Mapcomp's setting will be used.
- geolayers3.watch(fileOrFolder, callback[, options])
-
Watches a file or folder for changes. If a file or folder is allready being watched it will be canceled.
Arguments:- fileOrFolder: A File or Folder object to watch.
- callback: A function(file) or function(changedFilesInFolder, allFilesInFolder) that is called each time the file or a file in the folder changes. If the scripting api is busy finalizing(or any other async method) the function will be called after the next interval.
- options: An options object with the following possible integer property: "interval" which is the intervall between the checks in ms defaults to 10000.
- geolayers3.watchCsv(csvFile, callback[, options])
-
Watches a file or folder for changes. If a file or folder is allready being watched it will be canceled.
Arguments:- csvFile: A File object referencing a .csv, .tsv or .txt file to watch.
- callback: A function(changedRows, allRows) that is called each time the csv file changes. If the scripting api is busy finalizing(or any other async method) the function will be called after the next interval.
- options: An options object with the following possible properties: "interval" integer which is the intervall between the checks in ms, defaults to 10000. "delimiter" string used to split values of the file, defaults to ",".
- geolayers3.unwatch()
- Stops the current watch task.
- geolayers3.addToBrowser(addObj, [callback[, options]])
-
Adds fretures to the browser even from a file, a geocoding request, an overpass api query or a geojson object.
Arguments:- addObj: Can be one of the following objects:
- ExtendScript File object referencing a geospatial file
- Url to a geospatial file. The url should contain the file extension.
- geojson object
- {
type: "geocode",
query: "Term to geocode"
} - {
type: "overpass",
query: "Overpass query"
} - {
type: "osm",
id: "OpenStreetMap Id (something like node1234 or way4321 or rel1243)"
} - {
type: "geojsonurl",
url: "Url to geojson"
}
- callback: A function(error, data) that is called after the data has been imported to the browser.
- options: An options object with the following possible properties:
- returnData boolean: Set to true to return the data in the callback, defaults to false since this can be very slow for larger features.
- pointGeometries boolean: Return the Feature as a Point representation, which is way faster for complex Geometries.
- normalizeToFeatureArray boolean: Return an Array of Features instead of possible nested Feature Collections.
- name string: A name for the root feature or feature collection that is imported.
- namingProp string: The property that should be used to name all imported features.
- addObj: Can be one of the following objects:
- geolayers3.clearBrowser([callback])
-
Removes all features but the favorites from the browser.
Arguments:- callback: A function(error, data) that is called after the browser has been cleared.
- geolayers3.removeBrowserSelection([callback])
-
Removes selected features from the browser.
Arguments:- callback: A function(error, data) that is called after features have been removed.
- geolayers3.getBrowserSelection([callback[, options]])
-
Get features that are selected in the browser.
Arguments:- callback: A function(error, data) with an Array of selected features as data.
- options: An options object with the following possible properties:
- fullGeometry boolean: Set to true to return the features full geometry instead of just a point. This can be very slow for large geometries.
- geolayers3.drawBrowserSelection(comp, [callback[, options]])
-
Draws features which are selected in the browser of the GEOlayers 3 panel to a Mapcomp.
Arguments:- comp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- callback: A function(error, data) that is called after the data has been drawn.
- options: An options object with the following possible properties:
- shapeLayerStyle: an index number, name or shape layer style object
- drawInsideMapcomp: defaults to false
- autoStrokeWidth: defaults to false
- simplify: defaults to true
- simplyfyByZoomRange: defaults to false
- simplificationZoomOffset: defaults to 0
- useTopoSimplificationIfPossible: defaults to false
- individualLayers: defaults to false
- autoChangeRenderer: defaults to false
- addTrimPaths: defaults to false
- duration: defaults to 10
- dateBorderCopy: defaults to false
- dashThreshold: defaults to 1
- absoluteZScale: defaults to false
- castsShadows: defaults to false
- acceptsShadows: defaults to false
- lockLayerTransforms: defaults to false
- geolayers3.draw(comp, addObj, [callback[, options]])
-
Draws features to a Mapcomp. Features are specified with an addObj like in the .addToBrowser() method.
Arguments:- comp: A Mapcomp name, Mapcomp or comp that contains a Mapcomp
- addObj: Can be one of the following objects:
- ExtendScript File object referencing a geospatial file
- Url to a geospatial file. The url should contain the file extension.
- geojson object
- {
type: "geocode",
query: "Term to geocode"
} - {
type: "overpass",
query: "Overpass query"
} - {
type: "osm",
id: "OpenStreetMap Id (something like node1234 or way4321 or rel1243)"
} - {
type: "geojsonurl",
url: "Url to geojson"
}
- callback: A function(error, data) that is called after the data has been drawn.
- options: An options object with the following possible properties:
- shapeLayerStyle: an index number, name or shape layer style object
- drawInsideMapcomp: defaults to false
- autoStrokeWidth: defaults to false
- simplify: defaults to true
- simplyfyByZoomRange: defaults to false
- simplificationZoomOffset: defaults to 0
- useTopoSimplificationIfPossible: defaults to false
- individualLayers: defaults to false
- autoChangeRenderer: defaults to false
- addTrimPaths: defaults to false
- duration: defaults to 10
- dateBorderCopy: defaults to false
- dashThreshold: defaults to 1
- absoluteZScale: defaults to false
- castsShadows: defaults to false
- acceptsShadows: defaults to false
- lockLayerTransforms: defaults to false
- geolayers3.filesInDir(folder[, filterRegEx[, includeSubDirectories]])
-
Returns File objects of all Files in the given folder matching the filter regular expression. It can also include sub directories.
Arguments:- folder: Extend Script Folder Object.
- filterRegEx: Regular expression to test on the file name.
- includeSubDirectories: Boolean, set to true to include files from sub directories.
- geolayers3.readFile(file[, encoding])
-
Reads the contents of a file.
Arguments:- file: Extend Script File Object or filename string.
- encoding: String, defaults to UTF8. For details check out the Extend Script Tools Guide
- geolayers3.readFileCsv(file[, encoding])
-
Reads the contents of a .csv or .tsv file.
Arguments:- file: Extend Script File Object or filename string.
- encoding: String, defaults to UTF8. For details check out the Extend Script Tools Guide
- geolayers3.readFileJson(file[, encoding])
-
Reads the contents .json file.
Arguments:- file: Extend Script File Object or filename string.
- encoding: String, defaults to UTF8. For details check out the Extend Script Tools Guide
- geolayers3.writeFile(file, content[, encoding])
-
Writes a file to disk.
Arguments:- file: Extend Script File Object or filename string.
- content: String to write to the file.
- encoding: String, defaults to UTF8. For details check out the Extend Script Tools Guide
- geolayers3.userFolder()
- Returns a Folder Object referencing the GEOlayers User Folder.
- geolayers3.userFile(fileName)
-
Returns a File Object referencing a File with the fileName inside the GEOlyers User Folder.
Arguments:- fileName: File 'basename.extension' string.
- geolayers3.modalEditObject(obj, callback[, options])
-
Use the GEOlayers 3 UI to edit properties of a simple flat javascript object. It can handle strings, numbers and booleans.
Arguments:- obj: A simple flat object to edit like: {name: "New York", id: 12, selected: true}
- callback: A function(error, editedObj) that is called after the user applied his edits or canceled.
- options: An options object with the following possible string properties: "title", "message" Both to be displayed in the UI.
- geolayers3.modalActions(actions, callback[, options])
-
Use the GEOlayers 3 UI to let the user choose one of a certain number of actions.
Arguments:- actions: An array of strings to be displayed as buttons
- callback: A function(error, actionsIndex) that is called after the user clicked one of your action buttons or canceled. The index of the action in the actions array or undefined in case he canceled will be returned as actionsIndex.
- options: An options object with the following possible string properties: "title", "message" Both to be displayed in the UI.
- geolayers3.githubBrowser([options])
-
Show a panel in which you can browse GitHub Repos and perform actions like importing files from it.
Arguments:- options: An object that can have the following properties and methods:
- title (String) panel title
- defaultUser (String) initial GitHub username
- defaultRepo (String) initial GitHub repository name
- fixedRepo (Boolean) allow the user to change github user and repo or not
- flatten (Boolean) initial Flatten folders value
- filterText (String) initial text for the browsers filter bar
- actionBtnText (String) text to display the button that triggers the action callback, defaults to "Import to GEOlayers"
- actionFilter (Function) filter function(item) that should return true if the item is suitable for the action callback, defaults to accepting geojson files
- action (Function) function(item, url) to be performed as the user clicks the action button, defaults to importing it the Feature Browser
MapTiler Data
Some functions of GEOlayers are only possible because we partnered with MapTiler as a data provider.
This partnership allows us to provide these features:
- Stylized Mapcomp Imagery (The imagery styles with the MapTiler icon)
- Find Features by clicking the preview map
- Mapcomp labels in different languages
- Watermask Mapcomps from the toolbar
- Feature import for the current view to the browser
- Drawing 3D buildings from the toolbar
After the free trial to check it out you'll need a Flex plan on MapTiler Cloud to enable these features.
You can of course use GEOlayers without it.
Disclaimer
The terms of use of the map service providers apply. Content must be attributed unless otherwise agreed with the map service provider.
GEOlayers cannot ensure that every tileserver, geocoding-service, or other external geodata source work properly all the time. Certain functions will not work if remote servers are down, which are out of our control.
The creators of GEOlayers are not responsible for the topicality, correctness, completeness, or quality of the information provided or acquired with this software from the aforementioned exernal map service providers. GEOlayers cannot be held liable for damages caused by the use of any information provided, including any kind of information which is incomplete or incorrect. All offers are unbinding and without obligation.
The creators of GEOlayers do not claim any ownership or license for the images and data you acquire with this software from any map service provider.