Interpretation 1) (If the problem is that you don't see your gridded values) : I think you just need to change the order in your panel function:
panel = function(...){
# panel.levelplot(...) # insead of marking up
# on top of the plotted values
sp.polygons(imap)
panel.levelplot(...)
panel.abline(v=(71:88),col="dark red")
panel.abline(h=(17:31),col="dark red")
}
If you don't want the grid lines over your vales, then move panel.levelplot(...)
to the end... you get the idea.
Interpretation 2) (if the problem is that the gridded values are centered rather than aligned to your longlat in the lower left corner:
# shift the long lat to the cell center. In this case,
# the centroid is convenetly, .5 up
# and .5 over, so you can do it in-line:
levelplot(surface_aod~I(longitude+.5)+I(latitude+.5),data=s.data,
panel = function(...){
panel.levelplot(...)
panel.abline(v=(71:88),col="dark red")
panel.abline(h=(17:31),col="dark red")
#sp.polygons(imap)
},
col.regions = heat.colors(100),
aspect="iso",
region=TRUE,
scales=list(x=list(at=seq(from=71,to=88, by=1)),
y=list(at=seq(from=17,to=31, by=1)),
cex=.7,
alternating=3),
xlim=c(70,90),
ylim=c(16,32)
)
Again, I'm not sure which of these you were asking, so please comment if neither is what you were looking for.