Text file is easiest. But if you still want to keep everything in code, you can always use a string table lookup like the example below with about the same amount of code yet with more flexible/sortable formatting:
rem hold data as string (much like a 'read data' technique)
rem this also has a nice side effect of holding the data in sortable indexes within the string array
global map_data$ as string[16] = [
"1,4,0,0,41,0,0,16,0,0,10,0,21,22,0,0,0,0,0,0,",
"3,2,39,6,11,63,115,167,0,0,0,7,24,0,0,0,0,0,0,0,",
"222,0,0,40,12,64,116,168,0,0,0,43,37,5,38,42,33,48,49,0,",
"230,0,46,44,13,65,117,169,0,0,0,56,0,0,0,104,52,51,50,0,",
"30,0,47,45,14,66,118,170,18,26,27,28,29,0,0,0,0,0,0,0,",
"67,68,69,70,0,0,0,0,0,0,0,0,161,162,163,60,61,62,0,0,",
"71,72,73,74,0,0,180,181,182,183,0,0,0,0,0,0,0,0,0,0,",
"75,76,77,78,0,0,184,185,186,187,0,0,0,0,0,0,0,0,0,0,",
"123,124,125,126,0,0,188,189,190,191,0,0,0,210,211,212,213,0,0,0,",
"171,172,173,174,0,0,192,193,194,195,0,208,0,0,0,0,0,0,0,0,",
"223,224,225,226,0,0,196,197,198,199,0,0,0,0,216,0,0,0,0,0,",
"119,120,121,122,0,0,200,0,0,0,107,0,0,0,0,0,0,0,0,0,",
"175,176,177,178,0,0,0,0,58,59,0,0,0,0,0,0,0,0,0,0,",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"]
dim map_obj[19,16] ` your target multi-dimensional array
rem now feed the data into integer indexes as needed
for py = 0 to 16
for px = 0 to 19
s$=GetStringToken2(map_data$[py],",",px+1)
map_obj[px,py]=val(s$)
next px
next py