This task downloads OpenStreetMap® vectors based on the result of a query. OpenStreetMap data is available under Open Database Licence, www.openstreetmap.org/copyright.

Example


This example downloads and displays vectors for buildings, highways, and schools. Copy and paste the code into the IDL Editor and save it as DownloadOSMVectorsTaskExample.pro. Then compile and run the example.

PRO DownloadOSMVectorsTaskExample
COMPILE_OPT IDL2
 
; Start the application
e = ENVI()
 
; Open an input file
File = Filepath('qb_boulder_msi', Subdir=['data'], $
  Root_Dir=e.Root_Dir)
Raster = e.OpenRaster(File)
 
; Get the task from the catalog of ENVITasks
Task = ENVITask('DownloadOSMVectors')
 
; Specify inputs
Task.SUB_RECT=[-105.23, 39.98, -105.2, 40.01]
Task.FEATURE_NAMES=['Buildings','Highways and Roads']
Task.CUSTOM_NAMES=['amenity=school']
Task.VECTOR_TYPES=['Polygon','Polyline']
 
; Run the task
Task.Execute
 
; Display the result
View = e.GetView()
Layer = View.CreateLayer(Raster)
 
FOREACH vector, Task.OUTPUT_VECTOR DO BEGIN
 
  ; Add to Data Manager
  e.Data.Add, vector
 
  ; Display the result
  Layer2 = View.CreateLayer(vector)
 
ENDFOREACH
END

Syntax


Result = ENVITask('DownloadOSMVectors')

Input properties (Set, Get): CUSTOM_NAMES, FEATURE_NAMES, MERGE_FEATURES, OUTPUT_DIRECTORY, SUB_RECT, VECTOR_TYPES

Output properties (Get only): OUTPUT_VECTOR

Properties marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Properties marked as "Get" are those whose values you can retrieve but not set.

Methods


This task inherits the following methods from ENVITask:

AddParameter

Execute

Parameter

ParameterNames

RemoveParameter

Properties


This task inherits the following properties from ENVITask:

COMMUTE_ON_DOWNSAMPLE

COMMUTE_ON_SUBSET

DESCRIPTION

DISPLAY_NAME

NAME

REVISION

TAGS

This task also contains the following properties:

CUSTOM_NAMES (optional)

Specify a string array with custom feature names to query, using the format key=value. For example, the "power" feature (key) contains several sub-features (values) such as "plant", "cable", and "line." See https://wiki.openstreetmap.org/wiki/Map_Features for a list of keys and values. An example is power=tower. Not all sub-features will be available for a given feature, depending on the selected query region.

FEATURE_NAMES (optional)

Specify a string array with the standard feature names to query. The following are valid strings to use:

Aerial Transportation
Airport Infrastructure
Amenities
Barriers
Boundaries
Buildings
Crafts
Emergency
Geological
Highways and Roads
Historic
Land Use
Leisure
Man Made
Military
Natural
Offices
Places
Power
Public Transport
Railways
Routes
Shops
Sports
Tourism
Waterways

MERGE_FEATURES (required)

Set this property to true to merge features into a single vector file. For example, if you select three features to query, then all polygon vectors from these features will be merged into one vector file. The same applies for polyline and point vectors. The default value is false.

OUTPUT_DIRECTORY (optional)

Set this property to a string indicating the directory in which to save the resulting files. By default, the selected features will be downloaded and saved as shapefiles to the directory indicated in the ENVI Temporary Directory preference.

OUTPUT_VECTOR

This property contains an array of output ENVIVectors.

SUB_RECT (required)

Set this property to a four-element array expressing the spatial range for the query. The array is of the form: [minLongitude, minLatitude, maxLongitude, maxLatitude] in geographic coordinates.

VECTOR_TYPES (required)

Specify a string array with the vector types to download. Sometimes a single feature will contain elements of different vector types that must be stored in different files. The default behavior is to download all three vector types.

Polygon
Polyline
Point

Version History


ENVI 5.5. 1

Introduced

API Version


4.3

See Also


ENVITask, ENVIVector, ReprojectVector Task