1097년(숙종 1) 위위승동정(衛尉丞同正)이 되었고, 예종 때에는 주부동정(注簿同正)을 지냈다. 도선(道詵)의 지리도참설을 신봉하고 그 술수를 배웠다. 1097년에 도선의 설과 당시 비기(秘記)로 알려져 있던 『삼각산명당기(三角山明堂記)』·『신지비사(神誌秘詞)』를 인용하면서 남경(南京: 지금의 서울) 천도를 상소하였는데, 내용은 대략 다음과 같다.
먼저 『도선기』를 들어, 고려에는 삼경이 있는데, 송악·목멱양(木覓壤: 지금의 서울)·평양이 중경·남경·서경에 해당한다. 그런데 왕이 1년을 3기로 나누어 11∼2월에는 중경에, 3∼6월에는 남경에, 7∼10월에는 서경에 머물면 36국이 조공하게 된다고 하였다.
또한 「답산가(踏山歌)」를 인용하여, 고려는 개국 160년 후에는 목멱양에 도읍을 옮기게 된다는 예언에 따라, 지기(地氣)의 쇠왕(衰旺)을 순주(巡駐)와 이어(移御)로 막아야 한다고 주장하였고, 다음 『삼각산명당기(三角山明堂記)』를 들어, 목멱(木覓: 지금의 남산)의 북쪽, 삼각산의 남쪽 평지에 제경(帝京: 서울)을 건립하면 9년 뒤에는 사해가 모두 조공을 바칠 것이라고 주장하여 남경의 지덕이 왕성함을 논하였다.
끝으로 『신지비사(神誌秘詞)』를 들어, 삼경은 마치 저울의 극기(極器: 물건을 놓는 곳)·손잡이·추와 같아서, 삼경을 설치하면 70국이 항복하고, 또 남경은 오덕(五德: 水·火·木·金·土)을 두루 갖춘 지역이어서 반드시 여기에 도성을 쌓아 순주해야 하며, 남경 건립은 사직흥망의 관건이라고 역설하였다.
이에 1099년 9월에 이르러 일관(日官) 문상(文象)도 김위제를 지지하자, 드디어 왕이 친히 행차하여 그 지세를 둘러보고 평장사(平章事) 최사추(崔思諏), 지주사(知奏事) 윤관(尹瓘) 등에게 명하여 일을 착수시켜 감독하게 하니, 5년 만에 준공하고, 그 뒤 1101년에는 남경에 개창도감(開創都監)을 두었다.