Nautical charts and services

Nautical charts, navigational products and survey results from the Canadian Hydrographic Service.

Follow us

Services and information

Nautical charts and publications

Buy nautical charts and publications, view replaced and withdrawn charts, download commemorative and sample charts.

Data products and surveys

Free 10m & 100m resolution bathymetry, learn about surveys and data, and contribute to the development of S-100 applications and software.

Copyright and licensing

Available copyright agreements, royalty rates, and authorized manufacturers for charts, data, and publications for non-navigational use.

Arctic charting

The Canadian Arctic stretches across northern Canada, from the Beaufort Sea east to Baffin Bay and southwards to 60° north latitude.

Help and information

Frequently asked questions and contact information for the Canadian Hydrographic Service.

Hydrography

Learn about hydrography.

What we are doing

Features

New S-100 Service

New S-100 Service

Access S-100 subscription service with S-102 Bathymetric Surfaces and S-111 Surface Currents.

Download 2021 Tides Tables

Canadian Tide and Current Tables

The complete publication of the 2021 Canadian Tide and Current Tables are now available to download for free.

Release of CHS NONNA-10

Release of CHS NONNA-10

Access the new CHS NONNA-10 for an improved, more accessible way to see beneath the surface.


<% '----------------------------------------------------------------------------------------------------------------------' '-----------------------------------Encoding the page to make the email send out as UTF-8------------------------------' '----------------------------------------------------------------------------------------------------------------------' Response.ContentType = "text/html" Response.AddHeader "Content-Type", "text/html;charset=UTF-8" Response.CodePage = 65001 Response.CharSet = "UTF-8" %>
<% if Session("nZqtiH88nd")="remove" then %>
Report a problem or mistake on this page

Thank you for your help!

You will not receive a reply. For enquiries, contact us.

<% else %>
Report a problem or mistake on this page
Please select all that apply:
<% end if %> <% '-------------------------------------------------------------------------------------------' '-----------------------only trigger the ASP code when the form POSTs-----------------------' '-------------------------------------------------------------------------------------------' If Request.ServerVariables("Request_Method") = "POST" Then '-------------------------------------------------------------------------------------------' '--------------------------------------recaptcha check--------------------------------------' '-------------------------------------------------------------------------------------------' Dim widgetRecaptchaSecret, widgetSendstring, widgetObjXML, widgetRecaptchaCheck, widgetResponseString widgetRecaptchaSecret = "6LdGyzEaAAAAAAfSTKpfhDex6IFD1HoAXyvlr8Tk" widgetSendstring = "https://www.google.com/recaptcha/api/siteverify?secret=" & widgetRecaptchaSecret & "&response=" & Request.form("g-recaptcha-response") Set widgetObjXML = Server.CreateObject("MSXML2.ServerXMLHTTP") widgetObjXML.Open "GET", widgetSendstring, False widgetObjXML.Send widgetResponseString = split(widgetObjXML.responseText, vblf) Set widgetObjXML = Nothing if Right(widgetResponseString(1),5) = "true," then widgetRecaptchaCheck = true else widgetRecaptchaCheck = widgetResponseString(1) end if Set widgetObjXML = Nothing '-------------------------------------------------------------------------------------------' '-------------redirect variable that is used even if recaptcha is not verified--------------' '-------------------------------------------------------------------------------------------' widgetRedirect = Server.HTMLEncode(trim(Request.QueryString("redirect"))) if widgetRecaptchaCheck = true Then '-------------------------------------------------------------------------------------------' '--------------ASP code to create variables for the values of each form field---------------' '------------------------------HTMLEncode sanitizes the values------------------------------' '-------------------------------------------------------------------------------------------' widgetLang = Server.HTMLEncode(trim(request.form("widgetLang"))) widgetSubject = Server.HTMLEncode(trim(request.form("widgetSubject"))) widgetPageTitle = Server.HTMLEncode(trim(request.form("widgetPageTitle"))) widgetProblem1 = Server.HTMLEncode(trim(request.form("widgetProblem1"))) widgetProblem2 = Server.HTMLEncode(trim(request.form("widgetProblem2"))) widgetProblem3 = Server.HTMLEncode(trim(request.form("widgetProblem3"))) widgetProblem4 = Server.HTMLEncode(trim(request.form("widgetProblem4"))) widgetProblem5 = Server.HTMLEncode(trim(request.form("widgetProblem5"))) widgetProblem6 = Server.HTMLEncode(trim(request.form("widgetProblem6"))) widgetProblem7 = Server.HTMLEncode(trim(request.form("widgetProblem7"))) widgetProblem8 = Server.HTMLEncode(trim(request.form("widgetProblem8"))) widgetProblem9 = Server.HTMLEncode(trim(request.form("widgetProblem9"))) widgetProblem10 = Server.HTMLEncode(trim(request.form("widgetProblem10"))) widgetProblem11 = Server.HTMLEncode(trim(request.form("widgetProblem11"))) widgetProblem12 = Server.HTMLEncode(trim(request.form("widgetProblem12"))) widgetEmailSubject = trim(request.form("widgetPageTitle")) '-------------------------------------------------------------------------------------------' '--------------------------------------build the email--------------------------------------' '-------------------------------------------------------------------------------------------' dim widgetMsg, widgetEmailForm set widgetEmailForm = server.CreateObject ("CDO.Message") widgetEmailForm.From = "CHS-ProdService.XNCR@dfo-mpo.gc.ca" widgetEmailForm.To = "Timothy.Wiens@dfo-mpo.gc.ca" widgetEmailForm.Subject = "Website problem: " & widgetEmailSubject widgetMsg = "" widgetMsg = widgetMsg & "" widgetMsg = widgetMsg & "" widgetMsg = widgetMsg & "" widgetMsg = widgetMsg & "" if widgetProblem1 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem2 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem3 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem4 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem5 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem6 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem7 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem8 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem9 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem10 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem11 <> "" then widgetMsg = widgetMsg & "" else end if if widgetProblem12 <> "" then widgetMsg = widgetMsg & "" else end if widgetMsg = widgetMsg & "

Report a problem

Language" & widgetLang & "
Subject" & widgetSubject & "
Page Title" & widgetPageTitle & "
widgetProblem1" & widgetProblem1 & "
widgetProblem2" & widgetProblem2 & "
widgetProblem3" & widgetProblem3 & "
widgetProblem4" & widgetProblem4 & "
widgetProblem5" & widgetProblem5 & "
widgetProblem6" & widgetProblem6 & "
widgetProblem7" & widgetProblem7 & "
widgetProblem8" & widgetProblem8 & "
widgetProblem9" & widgetProblem9 & "
widgetProblem10" & widgetProblem10 & "
widgetProblem11" & widgetProblem11 & "
widgetProblem12" & widgetProblem12 & "
" widgetEmailForm.HTMLBody = widgetMsg widgetEmailForm.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 widgetEmailForm.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "CDCSMTP.ent.dfo-mpo.ca" widgetEmailForm.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 widgetEmailForm.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 widgetEmailForm.Configuration.Fields.Update '-------------------------------------------------------------------------------------------' '----if the email is valid then send it and then empty it to prepare for new submissions----' '------use session variable to lock out submissions for 1 minute and change the widget------' '-------------redirect back to widget (anchor) on page widget was submitted on--------------' '-------------------------------------------------------------------------------------------' widgetEmailForm.Send set widgetEmailForm=nothing Session("nZqtiH88nd")="remove" Session.Timeout=1 Response.Redirect(widgetRedirect) Else '-------------------------------------------------------------------------------------------' '----------------------------fallback redirections for failures-----------------------------' '-------------------------------------------------------------------------------------------' if widgetRedirect = "" then Response.Redirect("/index-eng.html") Else Response.Redirect(widgetRedirect) End If End If Else End If %>
Date modified: