Lkj基礎數據填寫表反向數據的自動推算方法
【技術領域】
[0001 ]本發明涉及LKJ領域,尤其涉及LKJ基礎數據填寫表反向數據的自動推算方法。
【背景技術】
[0002]在現有技術中,根據已有的正向數據的LKJ基礎數據填寫表生成反向的LKJ基礎數據填寫表是完全通過人工填寫生成的,效率低下,并且很容易出錯。
【發明內容】
[0003]本發明要解決的技術問題在于提供一種LKJ基礎數據填寫表反向數據的自動推算方法,以解決現有技術存在的問題。
[0004]為解決上述技術問題,本發明采用以下技術方案:
LKJ基礎數據填寫表反向數據的自動推算方法,包括:
對LKJ基礎數據填寫表表頭的每條記錄進行解析判斷,如果存在“行別”字段,則判斷所述LKJ基礎數據填寫表的每條記錄中“行別”字段對應存儲的數據內容是單線還是雙線,如果是單線則不存在反向數據,如果是雙線則存在反向數據,此時將存在反向數據的數據對象進行數據交換或者取反,并將獲取的反向數據區別存儲。
[0005]所述將存在反向數據的數據對象進行數據交換或者取反是指:起點里程和終點里程進行交換,起點車站和終點車站進行交換;所述進行取反的數據對象是指:坡度值進行取反,曲線方向取反;所述坡度值取反是指坡度值的正值變為負值、負值變為正值,所述曲線方向取反是指曲線的左變為右、右變為左。
[0006 ]依次對所有的LK J基礎數據填寫表的表名進行解析,建立LK J基礎數據填寫表的表名數據庫,所述表名數據庫包括具有反向數據的雙向表名數據庫和不具有反向數據的單向表名數據庫;
將LKJ基礎數據填寫表的表名與雙向表名數據庫和單向表名數據庫中的表名進行對比,如果屬于單向表名數據庫,說明此LKJ基礎數據填寫表不存在反向數據,不再進行處理;如果屬于雙向表名數據庫,對LKJ基礎數據填寫表表頭的每條記錄進行解析判斷是否存在“行別”的字段。
[0007]所述將獲取的反向數據另行存儲的方法為:在數據庫中建立具有特定表名的數據庫表,將反向數據存儲在此數據庫表中,再根據此數據庫表生成對應的具有特定表名的Execl基礎數據填寫表。
[0008]將需要解析的LKJ基礎數據填寫表的數據區的內容存儲到數據庫中與該Excel數據表的表名相關聯的數據區數據表中,若該Execl表具有橫表頭,貝Ij判斷該Execl表中“行另IJ”字段所在的單元格對應的橫向單元格中存儲的每條記錄的數據內容是單線還是雙線;若該Execl表具有縱表頭,貝Ij判斷該Execl表中“行別”字段所在的單元格對應的縱向單元格中存儲的每條記錄的數據內容是單線還是雙線。
[0009]判斷所述“行別”字段對應的單元格中的每條記錄的數據內容為單線或者雙線時,對單元格中的字段內容進行判斷,如果記錄的數據內容存在“單”字段,則該條記錄中的數據內容為單線,如果記錄的數據內容存在“上”字段或者“下”字段,則該條記錄中的數據內容為雙線。
[0010]所述存在反向數據的LKJ基礎數據填寫表包括線路允許速度表、坡道表、曲線表、防洪地點表;所述將存在反向數據的數據對象進行數據交換或者取反是指:對線路允許速度表的起點里程和終點里程進行交換、起點車站和終點車站進行交換,對坡道表的起點里程和終點里程進行交換、坡度值取反,對曲線表的曲線方向進行取反,對防洪地點表的起點里程和終點里程進行交換。
[0011]本發明的有益效果:本發明自動生成LKJ基礎數據填寫表的反向數據,減少了人工操作,提高了數據的準確性。
【附圖說明】
[0012]圖1為本發明的流程圖。
【具體實施方式】
[0013]如圖1所示,本發明提供一種LKJ基礎數據填寫表反向數據的自動推算方法,它通過對目前所有的LKJ基礎數據填寫表表頭的每條記錄進行解析判斷,來判斷是否含有“行另IJ”的字段,如果不存在“行別”字段,則表示此LKJ基礎數據填寫表不存在反向數據;如果存在“行別”字段,則接著判斷該LKJ基礎數據填寫表的每條記錄中“行別”字段對應存儲的數據內容是單線還是雙線,此單線和雙線是現有技術中常用的技術名稱,如果是單線則不存在反向數據,如果是雙線則存在反向數據,此時將存在反向數據的數據對象進行數據交換或者取反,并將獲取的反向數據另行存儲。在判斷是否具有“行別”時,可以將“行別”轉換為軟件可以識別的某種格式,并相應地在判斷時將填寫表的表頭均轉換為相應的格式,進行匹配性計算。
[0014]具體實現時,可以在數據庫中對LKJ基礎數據填寫表進行解析,即利用現有技術,首先建立LKJ基礎數據填寫Execl表一數據庫表一 LKJ基礎數據填寫反向Execl表之間的對應關系,同時在數據庫中建立含有關鍵字“行別”的數據結構,用來與導入的Execl表進行對比判斷。作為一種實施方式,在建立數據庫時,可以對所有的基礎數據填寫表進行分類,將具有反向數據的填寫表分為一類,不具有反向數據的基礎數據填寫表分為一類,也就是說,可以先依次對所有的LKJ基礎數據填寫表的表名進行解析,建立LKJ基礎數據填寫表的表名數據庫,所述的表名數據庫用包括具有反向數據的雙向表名數據庫和不具有反向數據的單向表名數據庫;然后將導入數據庫的LKJ基礎數據填寫表的表名與雙向表名數據庫和單向表名數據庫中的表名分別進行對比,如果屬于單向表名數據庫,說明此LKJ基礎數據填寫表不存在反向數據,那么不再進行處理;如果屬于雙向表明數據庫,對LKJ基礎數據填寫表表頭的每條記錄進行解析判斷是否存在“行別”的字段,如果存在“行別”字段,則接著判斷該LKJ基礎數據填寫表的每條記錄中“行別”字段對應存儲的數據內容是單線還是雙線,如果是單線則不存在反向數據,如果是雙線則存在反向數據,此時將存在反向數據的數據對象進行數據交換或者取反,并將獲取的反向數據另行存儲。存儲的方法為采用現有技術,在數據庫中建立具有特定表名的數據庫表,將反向數據存儲在此數據庫表中,再根據此數據庫表生成對應的具有特定表名的Execl基礎數據填寫表,這個“特定表名”是指代表反向填寫表的自定義