[ncl-talk] help with plotting shapefile polygons

Vanessa Vincente vincente at ucar.edu
Tue Apr 5 16:28:57 MDT 2022


Hello,

I am having trouble plotting polygon data from a shapefile of a burn scar
perimeter over a map of Colorado with counties.  I am using the example
shapefiles_15.ncl from the ncl page
<https://www.ncl.ucar.edu/Applications/shapefiles.shtml>. I am able to
successfully plot the state of Colorado and its counties, but not the burn
scar perimeter.  Burn scar shapefile can be found here
<https://ftp.wildfire.gov/public/incident_specific_data/rocky_mtn/2018/SpringCreek/IR/20180715/PerimeterFileProvidedByIncident/>.
 Can you please help? Thanks in advance!

Below is a copy of my ncl script:

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
load "./shapefile_utils.ncl"

;----------------------------------------------------------------------
; This function creates a cylindrical equidistant map of Colorado.
;----------------------------------------------------------------------

function create_colorado_map(wks,res,draw_ncl_outlines)
local a, mpres
begin
  mpres                       = res

  mpres at gsnMaximize           = True
  mpres at gsnPaperOrientation   = "portrait"

  mpres at gsnDraw               = False
  mpres at gsnFrame              = False

  mpres at mpFillOn              = False

;---Turn on fancier tickmark labels.
  mpres at pmTickMarkDisplayMode = "Always"
  mpres at tmXBLabelFontHeightF  = 0.008      ; smaller tickmark labels

;---Zoom in on area of interest
  mpres at mpLimitMode           = "LatLon"
  mpres at mpMinLatF             =   37
  mpres at mpMaxLatF             =   41
  mpres at mpMinLonF             = -109.05
  mpres at mpMaxLonF             = -102.05
  mpres at mpFillOn              = False

  if(draw_ncl_outlines) then
    mpres at mpOutlineOn           = True
    mpres at mpOutlineBoundarySets    = "AllBoundaries"
    mpres at mpDataBaseVersion        = "MediumRes"
    mpres at mpDataSetName            = "Earth..4"      ; U.S. counties
  else
    mpres at mpOutlineOn              = False
  end if

;---Create map.
  map = gsn_csm_map(wks,mpres)

  return(map)
end

;--------------------------------------------------
; Main code
;--------------------------------------------------
begin
  wtype          = "png"              ; send graphics to PNG file
  wtype at wkWidth  = 2000
  wtype at wkHeight = 2000
  wks = gsn_open_wks(wtype,"shapefiles")

  ncl_version = get_ncl_version()

;---Create two maps of Colorado
  res                   = True
  res at tiMainFontHeightF = 0.015

  res at tiMainString  = "Colorado counties - shapefile"
  map_shp = create_colorado_map(wks,res,False)

  res at tiMainString = "Colorado counties - NCL (version " + ncl_version + ")"
  map_ncl  = create_colorado_map(wks,res,True)

;---Add shapefiles to one of the maps
  lnres             = True
  lnres at gsLineColor = "red"

  plot_line_shp =
gsn_add_shapefile_polylines(wks,map_shp,"./usa/gadm40_USA_2.shp",lnres)

;---Add a slightly transparent marker to both maps to show location of
county updates
  mkres                  = True
  mkres at gsMarkerIndex    = 16        ; filled dot
  mkres at gsMarkerOpacityF = 0.5       ; make the marker half transparent
  mkres at gsMarkerColor    = "red"
  mkres at gsMarkerSizeF    = 50.

  counties_lat_center =   39.8
  counties_lon_center = -104.9

  plot_marker_ncl =
gsn_add_polymarker(wks,map_ncl,counties_lon_center,counties_lat_center,mkres)
  plot_marker_shp =
gsn_add_polymarker(wks,map_shp,counties_lon_center,counties_lat_center,mkres)

print("Adding polygons to ncl map and shp map...")

filename = "Perimeter_20180715_SpringCreek_COHUX001313.shp"

 ;---Set some options for the polygons
   bscar = True
   bscar at gsLineColor = "Blue"
   bscar at gsLineThicknessF = 3.0  ; 3x thickness

id1 = gsn_add_shapefile_polygons(wks,map_ncl,filename,bscar)
id2 = gsn_add_shapefile_polygons(wks,map_shp,filename,bscar)

;---Panel both plots. Markers, lines, and polygons will be drawn.
  pres             = True
  pres at gsnMaximize = True
  gsn_panel(wks,(/map_ncl,map_shp/),(/1,2/),pres)

end



-- 
Vanessa Vincente
Associate Scientist
The COMET® Program
University Corporation for Atmospheric Research

*My working hours may differ from your own.  Please do not feel obligated
to reply outside of standard business hours.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20220405/648eb316/attachment.html>


More information about the ncl-talk mailing list