I think calling is the right decision since, although you're risking being outdrawn, it gives you more time to see how your opponent acts before making a large commitment to the pot. You need to be able to get away from the hand if it becomes overwhelmingly obvious you're beaten. Raising all-in seems like potential suicide, since this is only correct if your opponent is bluffing with some draw. I don't think there's really a very easy answer to this question.

I'm having trouble figuring out what this guy could possibly have, aside from slow-played kings or aces, or A-K of spades. If he had A-A or K-K, I would say aces are more likely, since kings should be at least somewhat worried about aces here after the preflop reraise, and his check-raise seems too confident. He may have guessed from your preflop reraise that you were likely to bet on the flop, which would allow him to win more through a check-raise. I'm not so sure about A-K of spades since, if he is an aggressive enough player to execute a check-raise bluff with A-K of spades against a likely overpair on the flop, then I'm not sure why he didn't just push all-in before the flop when he had the chance.