Mine's not art heavy (no new art needs to be created), it is "developer heavy", in that the developer has to decide what locations to mark, but it'd be very little effort (depending on your map editing tools), and take very little memory.
Yeah, it is a good approach.
Personally I prefer "non heavy". With my approach I just program a system that finds walls and ceilings and I don't have to mark out indoor areas at all.
Both have their advantages and disadvantages. Your disadvantage (and a minor one) is the developer marking out the rooms. Mine is a runtime hit of having to line trace periodically to find the ceiling.
The time I save in developer effort is paid back at runtime in a relatively expensive maths operation... :)