QGISの属性テーブルのデータタイプを変更しますか?


11

FIP(実際には州FIPSと郡FIPSを組み合わせたもの)の郡データがあります。STCountyという同じFIPSデータを持つCSVとしてインポートされたデータがあります。ただし、シェープファイルFIPSは実数としてリストされ、CSVは整数として入力され、Join関数は機能しないようです。ドロップボックスはグレーアウト/空です。

それでは、テーブルの属性タイプをどのように変更するのかという大きな質問がありますか?

シェイプファイル(国のデータ)に新しい列を作成し、整数に設定してからFIPS * 1を掛けようとしましたが、列が「NULL」でいっぱいになりました。

私はQGISを初めて使用し、MapInfoで多くの経験を持っているため、結合の概念は私にとって新しいものではなく、QGISの構文だけです。

回答:


11

新しい整数列を作成するのが正しい方法1*FIPSですが、使用したもの(ExcelまたはLibreofficeで機能します)が問題の出番です。QGISは、計算でフィールドタイプを自動的に変換しません。

正しい列名で変換関数(toint整数、tostringテキスト、およびtoreal実数/小数に変換)のいずれかを使用する必要があります。

toreal("FIPS")

Tablemanagerプラグインを使用して、不要な列を削除できます。

.csvtファイルを設定することは、反復可能な最良のソリューションですが、単一の列の場合、これは非常に簡単です。


1 * FIPSはArcGISでも機能します。
L_Holcombe

データ型を変更するだけではいけないというのは馬鹿げているように思えます。しかし、これが正解であるように見えるん
chrismarx


1

私は同じ問題を抱えていました。私の場合、LibreofficeとQGISを使用しています。

「id」と「veh」という2つの列を持つテーブルをRから.CSVにエクスポートしました。「id」は整数で、「veh」は実数です。

write.csv(tab2,file='/path/table.csv',row.names = F)

私が開くとtable.csvを LibreOfficeの中で、フィールドVEHは、「文字列」として、それを読んでいました。そのため、「veh」* 1の乗算として別の列「vehh」を作成し、結果は目的の数値になりました。次に、ファイルを.ODS(Libre Office)として保存しました

その後、qgisでtable.ODSをロードすると、「vehh」がRealとして認識されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.