關於GDAL讀寫Shp亂碼的問題總結

目錄

1. 正文

最近在使用GDAL讀寫Shp格式中的屬性字段的時候也遇到了中文亂碼的問題,總結下自己遇到的情況。

1.1. shp文件本身的編碼的問題

應該是由於shp格式加入了對寬字符的支持,所以導致有段時間的shp文件和ArcGIS是存在不匹配的問題,所以在網上搜索資源的時候遇到了大量的關於ArcMap显示shp屬性表出現亂碼的問題。現在的shp格式的文件應該已經穩定下來了,新添加了一個.cpg的文件,裏面保存着屬性表的編碼格式:

圖1-1:shp格式的.cpg文件

從ArcGIS10.2開始,只要是屬性表編碼與.cpg文件記錄的編碼方式一致,就不會再有显示亂碼的問題。網上查詢到的修改註冊表的方法,我在ArcGIS10.2中試過,似乎已經不再起效了。

那麼對於沒有.cpg或者的情況,應該可以看屬性表.dbf文件。如果編碼方式正確,這個文件用文本編輯器打開是可以看到正常的中文的:

圖1-2:shp格式的.dbf文件

在正常显示中文情況下,可以查看下文件的編碼方式:

圖1-3:查看編碼方式

當然,如果遇到亂碼,可以嘗試用別的編碼方式打開,這樣你就能知道屬性表具體是什麼編碼了。對於國內的情況來說,只有ANSI編碼和UNICODE編碼兩種:其中簡體中文系統中ANSI編碼就是GB2312編碼;UTF-8是UNICODE編碼的一種具體實現。

1.2. 設置讀取的編碼方式

1.2.1. GDAL設置

可以通過全局設置函數CPLSetConfigOption(),來配置讀取Shp文件的讀取編碼。例如對於簡體中文系統中ANSI編碼,可以設置為GBK:

CPLSetConfigOption("SHAPE_ENCODING","GBK");

上面這種方式是全局設置的,如果想設置單個文件的編碼方式也是可以的。例如,打開一個矢量文件讀取為UTF-8的數據集:

char** ppszOptions = NULL;
ppszOptions = CSLSetNameValue(ppszOptions, "ENCODING", "UTF-8");
GDALDataset *poDS = (GDALDataset*)GDALOpenEx(filePath.c_str(), GDAL_OF_VECTOR, NULL, ppszOptions, NULL);

網上提供的解決方案都是將編碼方式設置為空[1],這種方式應該更具有通用性,起碼我這裏讀取GBK和UTF-8格式的Shp的格式都是可以的:

CPLSetConfigOption("SHAPE_ENCODING","");

1.2.2. 解碼方式

如果讀取出來的字段屬性仍然是亂碼,就應該考慮字符串的解碼問題,就是獲取的字段屬性字符串沒有正確的解碼出來。例如讀取UTF-8的Shp文件的屬性字段:

OGRFeature *poFeature;
while ((poFeature = poLayer->GetNextFeature()) != NULL)
{
    OGRGeometry *pGeo = poFeature->GetGeometryRef();
    OGRwkbGeometryType pGeoType = pGeo->getGeometryType();

    //      
    OGRFeatureDefn *poFDefn = poLayer->GetLayerDefn();
    int n = poFDefn->GetFieldCount(); //獲得字段的數目,不包括前兩個字段(FID,Shape);
    for (int iField = 0; iField <n; iField++)
    {
        //輸出每個字段的值
        //cout << poFeature->GetFieldAsString(iField) << "    ";
        cout << UTF8_To_string(poFeature->GetFieldAsString(iField)) << "   ";           
    }
    //cout << endl;   

    OGRFeature::DestroyFeature(poFeature);
}

默認情況下,cout是無法正確打印輸出UTF-8字符編碼的,通過UTF8_To_string這個函數,將UTF-8編碼的字符串轉換成本地ANSI編碼,也就是GBK編碼字符串,就可以正確輸出显示了。附帶一下兩者的轉換函數[2]

// UTF8轉std:string
// 轉換過程:先將utf8轉雙字節Unicode編碼,再通過WideCharToMultiByte將寬字符轉換為多字節。
std::string UTF8_To_string(const std::string& str) 
{ 
    int nwLen = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), -1, NULL, 0); 
    wchar_t* pwBuf = new wchar_t[nwLen + 1];    //一定要加1,不然會出現尾巴 
    memset(pwBuf, 0, nwLen * 2 + 2); 
    MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), pwBuf, nwLen); 
    int nLen = WideCharToMultiByte(CP_ACP, 0, pwBuf, -1, NULL, NULL, NULL, NULL); 
    char* pBuf = new char[nLen + 1]; 
    memset(pBuf, 0, nLen + 1); 
    WideCharToMultiByte(CP_ACP, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);

    std::string strRet = pBuf; 

    delete []pBuf; 
    delete []pwBuf; 
    pBuf = NULL; 
    pwBuf = NULL; 

    return strRet; 
} 

// std:string轉UTF8
std::string string_To_UTF8(const std::string& str) 
{ 
    int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0); 
    wchar_t* pwBuf = new wchar_t[nwLen + 1];    //一定要加1,不然會出現尾巴 
    ZeroMemory(pwBuf, nwLen * 2 + 2); 
    ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.length(), pwBuf, nwLen); 
    int nLen = ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, -1, NULL, NULL, NULL, NULL); 
    char* pBuf = new char[nLen + 1]; 
    ZeroMemory(pBuf, nLen + 1); 
    ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL); 

    std::string strRet(pBuf); 

    delete []pwBuf; 
    delete []pBuf; 
    pwBuf = NULL; 
    pBuf  = NULL; 

    return strRet; 
} 

1.2.3. 其他

還有個值得注意的問題就是Shp格式的屬性字段名稱的長度最大隻能支持10個字符。如果採用UTF-8編碼,可能用不了幾个中文字符就被截斷了,這個時候屬性字段名稱也可能存在亂碼。

2. 參考

[1]
[2]

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

蝗災肆虐非洲東部 烏干達大噴除蟲劑

摘錄自2020年2月25日公視報導

聯合國糧農組織估計,覆蓋一平方公里面積的沙漠蝗蟲,可以吃掉3.5萬人一天的糧食,專家則是指出,蝗蟲最可怕的地方在於繁殖力驚人。烏干達當局目前派出大批軍人,噴灑化學藥劑對沙漠蝗蟲進行撲殺,不過當地農民也有人質疑,這些除蟲劑對牲畜、土壤與植物,恐怕也會帶來後遺症。

烏干達東北部以畜牧和養蜂為主的居民,看到這一幕全都憂心忡忡,擔心生計會出問題。烏干達畜牧居民羅魯說:「我們不知道對未來有何衝擊,也許後遺症會持續一兩年。你看到這裡是個菜園,一旦噴灑了化學物質,我們不知道效力會持續多久,最終我們會看到它的影響。」

聯合國警告,如果不積極採取有效措施,接下來東非地區雨量充沛有利蝗蟲卵孵化,到了六月蝗蟲數量將成長500倍,屆時危機將更形惡化。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

金融業自省? 摩根大通警告客戶 氣候危機威脅人類

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

3. 彤哥說netty系列之Java BIO NIO AIO進化史

你好,我是彤哥,本篇是netty系列的第三篇。

簡介

上一章我們介紹了IO的五種模型,實際上Java只支持其中的三種,即BIO/NIO/AIO。

本文將介紹Java中這三種IO的進化史,並從使用的角度剖析它們背後的故事。

Java BIO

BIO概念解析

BIO,Blocking IO,阻塞IO,它是Java的上古產品,自出生就有的東西(JDK 1.0)。

使用BIO則數據準備和數據從內核空間拷貝到用戶空間兩個階段都是阻塞的。

BIO使用案例

public class EchoServer {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(8080);
        while (true) {
            System.out.println("start accept");
            Socket socket = serverSocket.accept();
            System.out.println("new conn: " + socket.getRemoteSocketAddress());

            new Thread(()->{
                try {
                    BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                    String msg;
                                        // 讀取消息,本文來源公從號彤哥讀源碼
                    while ((msg = reader.readLine()) != null) {
                        if (msg.equalsIgnoreCase("quit")) {
                            reader.close();
                            socket.close();
                            break;
                        } else {
                            System.out.println("receive msg: " + msg);
                        }
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }).start();
        }
    }
}

客戶端可以使用telnet來測試,而且你可以使用多個telnet來測試:

[c:\~]$ telnet 127.0.0.1 8080


Connecting to 127.0.0.1:8080...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
hello world
我是人才
quit
Connection closed by foreign host.

BIO的使用方式非常簡單,服務端接收到一個連接就啟動一個線程來處理這個連接的所有請求。

所以,BIO最大的缺點就是浪費資源,只能處理少量的連接,線程數隨着連接數線性增加,連接越多線程越多,直到抗不住。

Java NIO

NIO概念解析

NIO,New IO,JDK1.4開始支持,內部是基於多路復用的IO模型。

這裡有個歧義,很多人認為Java的NIO是Non-Blocking IO的縮寫,其實並不是。

使用NIO則多條連接的數據準備階段會阻塞在select上,數據從內核空間拷貝到用戶空間依然是阻塞的。

因為第一階段並不是連接本身處於阻塞階段,所以通常來說NIO也可以看作是同步非阻塞IO。

NIO使用案例

public class EchoServer {
    public static void main(String[] args) throws IOException {
        Selector selector = Selector.open();
        ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
        serverSocketChannel.bind(new InetSocketAddress(8080));
        serverSocketChannel.configureBlocking(false);
        // 將accept事件綁定到selector上
        serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);

        while (true) {
            // 阻塞在select上
            selector.select();
            Set<SelectionKey> selectionKeys = selector.selectedKeys();
            // 遍歷selectKeys
            Iterator<SelectionKey> iterator = selectionKeys.iterator();
            while (iterator.hasNext()) {
                SelectionKey selectionKey = iterator.next();
                // 如果是accept事件
                if (selectionKey.isAcceptable()) {
                    ServerSocketChannel ssc = (ServerSocketChannel) selectionKey.channel();
                    SocketChannel socketChannel = ssc.accept();
                    System.out.println("accept new conn: " + socketChannel.getRemoteAddress());
                    socketChannel.configureBlocking(false);
                    socketChannel.register(selector, SelectionKey.OP_READ);
                } else if (selectionKey.isReadable()) {
                    // 如果是讀取事件,本文來源公從號彤哥讀源碼
                    SocketChannel socketChannel = (SocketChannel) selectionKey.channel();
                    ByteBuffer buffer = ByteBuffer.allocate(1024);
                    // 將數據讀入到buffer中
                    int length = socketChannel.read(buffer);
                    if (length > 0) {
                        buffer.flip();
                        byte[] bytes = new byte[buffer.remaining()];
                        // 將數據讀入到byte數組中
                        buffer.get(bytes);

                        // 換行符會跟着消息一起傳過來
                        String content = new String(bytes, "UTF-8").replace("\r\n", "");
                        if (content.equalsIgnoreCase("quit")) {
                            selectionKey.cancel();
                            socketChannel.close();
                        } else {
                            System.out.println("receive msg: " + content);
                        }
                    }
                }
                iterator.remove();
            }
        }
    }
}

這裏同樣使用telnet測試,而且你可以使用多個telnet來測試:

[c:\~]$ telnet 127.0.0.1 8080


Connecting to 127.0.0.1:8080...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
hello world
我是人才
quit
Connection closed by foreign host.

NIO的使用方式就有點複雜了,但是一個線程就可以處理很多連接。

首先,需要註冊一個ServerSocketChannel並把它註冊到selector上並監聽accept事件,然後accept到連接後會獲取到SocketChannel,同樣把SocketChannel也註冊到selector上,但是監聽的是read事件。

NIO最大的優點,就是一個線程就可以處理大量的連接,缺點是不適合處理阻塞性任務,因為阻塞性任務會把這個線程佔有着,其它連接的請求將得不到及時處理。

Java AIO

AIO概念介紹

AIO,Asynchronous IO,異步IO,JDK1.7開始支持,算是一種比較完美的IO,Windows下比較成熟,但Linux下還不太成熟。

使用異步IO則會在請求時立即返回,並在數據已準備且已拷貝到用戶空間後進行回調處理,兩個階段都不會阻塞。

AIO使用案例

public class EchoServer {
    public static void main(String[] args) throws IOException {
        AsynchronousServerSocketChannel serverSocketChannel = AsynchronousServerSocketChannel.open();
        serverSocketChannel.bind(new InetSocketAddress(8080));
        // 監聽accept事件,本文來源公從號彤哥讀源碼
        serverSocketChannel.accept(null, new CompletionHandler<AsynchronousSocketChannel, Object>() {
            @Override
            public void completed(AsynchronousSocketChannel socketChannel, Object attachment) {
                try {
                    System.out.println("accept new conn: " + socketChannel.getRemoteAddress());
                    // 再次監聽accept事件
                    serverSocketChannel.accept(null, this);

                    // 消息的處理
                    while (true) {
                        ByteBuffer buffer = ByteBuffer.allocate(1024);
                        // 將數據讀入到buffer中
                        Future<Integer> future = socketChannel.read(buffer);
                        if (future.get() > 0) {
                            buffer.flip();
                            byte[] bytes = new byte[buffer.remaining()];
                            // 將數據讀入到byte數組中
                            buffer.get(bytes);

                            String content = new String(bytes, "UTF-8");
                            // 換行符會當成另一條消息傳過來
                            if (content.equals("\r\n")) {
                                continue;
                            }
                            if (content.equalsIgnoreCase("quit")) {
                                socketChannel.close();
                                break;
                            } else {
                                System.out.println("receive msg: " + content);
                            }
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void failed(Throwable exc, Object attachment) {
                System.out.println("failed");
            }
        });

        // 阻塞住主線程
        System.in.read();
    }
}

這裏同樣使用telnet測試,而且你可以使用多個telnet來測試:

[c:\~]$ telnet 127.0.0.1 8080


Connecting to 127.0.0.1:8080...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
hello world
我是人才
quit
Connection closed by foreign host.

AIO的使用方式不算太複雜,默認會啟一組線程來處理用戶的請求,而且如果在處理阻塞性任務,還會自動增加新的線程來處理其它連接的任務。

首先,創建一個AsynchronousServerSocketChannel並調用其accept方法,這一步相當於監聽了accept事件,在收到accept事件後會獲取到AsynchronousSocketChannel,然後就可以在回調方法completed()裏面讀取數據了,當然也要繼續監聽accept事件。

AIO最大的優點,就是少量的線程就可以處理大量的連接,而且可以處理阻塞性任務,但不能大量阻塞,否則線程數量會膨脹。

槽點

(1)三種IO的實現方式中對於換行符的處理竟然都不一樣,BIO中不會把換行符帶過來(其實是帶過來了,因為用了readLine()方法,所以換行符沒了),NIO中會把換行符加在消息末尾,AIO中會把換行符當成一條新的消息傳過來,很神奇,為啥不統一處理呢,也很疑惑。

(2)JDK自帶的ByteBuffer是一個難用的東西。

總結

本文我們從概念和使用兩個角度分別介紹了BIO/NIO/AIO三種IO模型。

問題

看起來JDK的實現似乎很完美啊,為什麼還會有Netty呢?

最後,也歡迎來我的公從號彤哥讀源碼系統地學習源碼&架構的知識。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

肯亞護蝶計畫 婦女成保育尖兵兼顧家計

摘錄自2020年3月6日公視報導

肯亞為防止居民砍伐國家公園內的樹木,從1993年開始推出了蝴蝶養殖計畫,讓照顧家庭而無法外出工作的婦女能夠保護森林,有助於蝴蝶養殖,還能將森林公園中的罕見熱帶蝴蝶出口到歐美國家。

肯亞的「阿拉布科索科凱國家公園」是特殊熱帶蝴蝶的生長天堂,這裡的蝴蝶約有230個種類,依靠熱帶森林中不同的樹木生長。為了防範森林持續遭到破壞,影響環境生態,肯亞政府推出了「護蝶計畫」,讓參加者協助保育森林,同時蒐集特殊蝴蝶,用以出口到歐美國家,並將賺取的金額,分發給參加婦女們,兼顧居民的生計。

護蝶計畫的蝶蛹出口旺季,在每年的4月到9月,平均200隻蝶蛹可以賣出130美元,約台幣3900元。由於出口的對象,包括全球各地的蝴蝶公園、教育機構和科學研究機構,也讓這項計畫目前的年收入達到了10萬美元。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

蘋果電動車傳2021年問世、定價7.5萬美元

蘋果跨足電動車市場傳言甚囂塵上,投資機構Piper Jaffray資深分析師Gene Munster預測,蘋果將循設計、代工模式開發電動車,預計五年後也就是2021年上路。

蘋果電動車專案代號傳為「Titan」,Munster估計該電動車每輛定價約7.5萬美元,雖然全由蘋果設計,但生產製造有八成都將委外代工。

年初有報導指出,蘋果電動車計畫的幕後推手薩德斯基(Steve Zadesky)可能離職,即便如此,Munster仍舊看好蘋果電動車成功的機率超過五成,畢竟蘋果有錢、有人還有廣大粉絲做後盾。

據AppleInsider報導,蘋果電動車員工人數今年已膨脹至逾1千人,但可能也就是因為擴編速度太快,造成薩德斯基飯碗不保。

基本上,Munster認為電動車幾乎是營收成長動能的保證,因此蘋果不太可能放棄,最快2019、2020年應該會有初步產品展出。

(本文內容由授權提供)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

※避免吃悶虧無故遭抬價!台中搬家公司免費估價,有契約讓您安心有保障!

塞席爾特產 全球最大堅果海椰子瀕危

摘錄自2020年3月12日公視報導

來自印度洋群島國家塞席爾的特殊植物「海椰子」,擁有全世界最大的種子,果實又酷似女子的骨盆,而被人津津樂道,有些地區文化還將它視為愛情靈藥,但也因為濫採而面臨絕種危機。

海椰子的果肉每公斤價值可達約100美元,一個完整的空殼則可以賣出兩倍的價格。然而幾個世紀以來的過度開採,海椰子幾乎快要從世上消失。2011年,國際自然保護聯盟將海椰子列為「瀕危物種」。

海椰子的果實是全世界最大的堅果,塞席爾政府採取強硬措施保護,規定一年最多只能採收2000顆,並禁止整顆出口,嚴格管控限制買賣,希望藉此保護這項獨特的植物避免滅絕。

自然資源管理
永續發展
國際新聞
東非
印度洋
多群島國家
椰子

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

※避免吃悶虧無故遭抬價!台中搬家公司免費估價,有契約讓您安心有保障!

大眾因電池問題在美召回近5600輛e-Golf電動汽車

據路透社報導,大眾汽車週一稱,該公司將在美國市場上召回近5600萬輛e-Golf電動汽車,以便修復一個可能導致車輛熄火的電池問題。

大眾汽車表示,此次召回活動將覆蓋該公司自2014年11月份在美國市場上推出電動汽車以來所售出的全部車輛。

美國高速公路安全管理局週一稱,大眾汽車淨召回2015-2016年款e-Golf電動汽車,原因是其“高壓電池管理系統”中的軟體“可能會非故意地將短暫的內部電流浪湧/峰值分類為一種緊急的電池狀況”,從而導致車輛熄火。

大眾汽車已在此前承認其安裝了作弊軟體,從而使得58萬輛柴油動力汽車通過了美國的實驗室排放檢測,但其實際上路時的排放則遠高於標準,並因此而面臨諸多法律訴訟和業界批評。本月早些時候,該公司稱其美國部門首席執行官將會離職。

經銷商將為大眾汽車召回的電動汽車安裝更新好的軟體。去年,大眾汽車在美國總共售出了4232輛e-Golf汽車,遠高於2014年的357輛。在今年前兩個月時間裡,該公司則售出了526輛e-Golf。另外,此次召回活動還覆蓋了經銷商手中尚未售出的157輛電動汽車。

大眾汽車在其向美國高速公路安全管理局提交的檔中稱,這個問題可能會“導致高電壓電池突然被關閉,從而導致車輛的電動馬達熄火”。此前,大眾汽車曾在2015年初稱其首次收到了有關一樁熄火事件的資訊;在2015年6月份,一樁熄火事件則發生了在了一輛內部測試的車輛上。

最近幾個月以來,大眾汽車一直都在收到來自美國車主對熄火問題的投訴,從而促使其啟動了此次召回行動。

德國報紙《星期日世界報》曾在上個月報導稱,美國當局責令大眾汽車在該國生產電動汽車,從而作為彌補其操縱柴油車排放檢測過錯的一種方式。報導稱,美國環境保護署要求大眾汽車在其位於田納西州查特努加市的工廠生產電動汽車,並要求其幫助建設一個美國電動汽車充電站網路。美國環境保護署則拒絕就此報導置評。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

※避免吃悶虧無故遭抬價!台中搬家公司免費估價,有契約讓您安心有保障!

武漢肺炎拖慢氣候行動腳步 開發中國家恐交不出升級版減碳目標

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

※避免吃悶虧無故遭抬價!台中搬家公司免費估價,有契約讓您安心有保障!

蘋果電動車專案未止步,挖角、研發行動低調進行中

市場瘋傳蘋果(Apple)將推出電動車,但至今仍只聞樓梯響。不過,海外媒體持續傳出蘋果電動車專案仍有大小動作,包含聘用新人、營運研發實驗室等,計畫看來並未胎死腹中。

蘋果電動車的計畫代號傳聞為「Titan」,傳言將在2019年正式開始出貨。蘋果電動車被報導將搭載自動駕駛技術,也會研究採用載運工具共享服務。

科技網站Electrek報導,蘋果將聘用原特斯拉(Tesla)工程開發副總裁Chris Porritt接替將要離職的Steve Zadesky,繼續執行與電動車專案相關的工作。而在這之前,蘋果已從特斯拉、福特、賓士、通用汽車等國際車廠與電池廠挖角專家,也聘用曾在福斯汽車、Nvidia等公司服務,專注於先進駕駛輔助系統與自動駕駛系統領域的專業人士。

此外,MacRumors也引述德國FrankfurterAllgemeine Zeitung報導,指出蘋果正在德國柏林暗中營運一座研發實驗室,共有15~20名研發人員,主要來自德國汽車產業界,或許正是蘋果電動車專案的一部分。

蘋果執行長Tim Cook過去曾參訪BMW的電動車i3產線,與電動車相關的傳言滿天飛。但蘋果對於電動車計畫始終守口如瓶,沒有正面回應。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

大陸寄台灣空運注意事項

大陸海運台灣交貨時間多久?

※避免吃悶虧無故遭抬價!台中搬家公司免費估價,有契約讓您安心有保障!