Yep, it'll check for subfolders too, thanks to "-r -l inf" (-r makes it recursive - ie looking through subfolders, -l inf makes it search through all levels (an "infinite" number of levels) of subfolders).
It will create files and subfolders as needed.
You can even toy around with options like -X to exclude certain files or subfolders (based on wildcard patterns like "*.cache"). I often also use -A option to limit the downloads to only certain files, ie -A "*.ZIP" to get only *.ZIP files.
--cut-dirs=n makes wget cut off "n" directories from the target path.
ie: if your target is ftp://my.ftp.ip/maps/
, then -nH will make wget not create a folder called "my.ftp.ip", --cut-dirs=1 will make it not create a "maps" folder (but it will create subfolders of "maps" if needed). -nd should prevent wget from creating any directories.
Should the download be interrupted, just add the "-c" option to make wget continue the file downloads that were interrupted.
--mirror can be a useful shorthand for "-N -r -l inf --no-remove-listing" in your case. Only difference to your command is the "--no-remove-listing" option (makes wget not throw away the list of downloaded files).