Is there any better way to XY map a square containing a large amount

Is there any better way to XY map a square containing a large amount of pixels on each side?

I have a 3x3m dropped ceiling in my kitchen where I have installed 180 pixels per side, resulting in a total of 720 pixels. I’m using an OCTOWS2811 controller with teensy 3.2 but only using 4 of the 8 available outputs.

When doing a manual XY map with Excel (to convert to a CSV file to drop into my XYMap.h) it means that there are 32,400 fields, most of which are NULL pixels (labelled as ‘0’ which my function is programmed to ignore) but would this cause an issue for memory storing all of these zero’s?

Is there another way of getting patterns to act as if they were mapped to a square? or am I stuck with programming patterns as if it were a continuous length of 720 pixels? Many thanks any help would be appreciated!

There are some great suggestions on handling this kind of mapping in the comments here: https://plus.google.com/+JasonCoon1/posts/PsFjSyFbf2e

Thanks for the advice Jason, I hope to get a bit of tinkering time tonight after work