2013年6月17日 星期一

快速製作大型地圖檔

因為沒有用汽車導航的習慣,在去一個陌生的地方的行前都會用GOOGLE MAP把要去的地方做一個圖檔。以前就是用很白痴的方法把圖片一個一個的存下來再拼接。因為即將前往日本,常常用地圖規劃行程,今天進去發現一個新的地圖設計的功能, 可以標記一些地點然後儲存或輸出成KML檔。所以利用google map的另一個產生static map功能,以及輸出KML的座標, 做了一個小的產生 640X640 LEVEL 16 圖檔的網頁小程式。另外附加 LEVEL 15 LEVEL 17的版本

使用方式很簡單
1. 進入地圖設計,把要畫的地圖的地方的必須涵蓋的地方的地點標記起來,輸出成KML檔
2. 在 chrome 裡(IE不行)進入 http://goo.gl/snmnC,選擇存下來的KML檔,會將包括這些地標的 LEVEL 16地圖以經度差0.012,緯度差0.01的範圍顯示在640X640有接合重疊區的圖片。(東經/北緯為正)
3. 在空白處按滑鼠右鍵,選另存新檔,所有圖片會變成 staticmap(n)的檔名存在子資料夾裡。
4. 在命令提示字元裡 cd 到所存的資料夾, 執行  ren * *.png
5. 在photoshop的photomerge裡把圖片拼成大圖儲存,打完收工。因為地圖每一片其實都很像,如果一次太多片,在photoshop裡的拼圖可能會拼不起來或拼錯(還真的不仔細看會看不出來),就必須要分成幾個小區來拼

存在

2013年6月15日 星期六

擺脫M$之路

M$的授權合約日益昂貴, 而內容也日益機車, 而必須購買授權的兩個必要原因,首先是很多網站用VB+ACTIVEX,如弊校的校務行政系統就是用以下的程式碼

    Dim objExcel
    Sub OpenDoc(strLocation)
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = true
    objExcel.Workbooks.Open strLocation
    objExcel.ActiveSheet.PrintPreview
    set objExcel=Nothing
    End Sub

對於很多大型組織而言, 為了這個程式碼就是一年100萬, VB是IE的專利, 而指定OFFICE則是必須要有OFFICE的EXCEL跟WORD(另外一些表單),對於後者, KING OFFICE (http://www.ksosoft.com/product/office-free.html)提供了高度相容的OFFICE界面, 包括ACTIVE X, 而其差別, 只有在CreateObject("Excel.Application") 必須改成 CreateObject("et.Application"), 若是CreateObject("Word.Application")則改為CreateObject("wps.Application"). (參考 http://www.binarynow.com/office-suite/kingsoft-office-2009-supports-microsoft-office-word-excel-api-compatible-ole-com-activex-application-automation/)

但問題在網站程式不能直接修改, 以上面的程式為例, 在沒有WINDOWS OFFICE的電腦中安裝KING OFFICE, 用REGEDIT搜尋所有的et.Application, 把它們通通改成Excel.Application 就可以使用. 由於M$的授權僅包括WINDOWS昇級及OFFICE是必需的, 其他都是強迫搭配, 所有的電腦都有必須購買隨機版, 所以WINDOWS跟IE(自XP後昇級的需求又不多)不需要解決, 如果沒有WINDOWS的話, linux加wine加IE是可以一試的