ArcGIS MapServer Layer di QGIS3

Sebenarnya saya malas pakai atau mengajarkan tentang ArcGIS, ndak tau napa … mungkin karena kebayang duit rakyat. Tapi, kali ini saya nemu alasan keren kenapa harus dicoba. Pada QGIS, tambahkan WorldImagery dari ArcGIS, caranya:

qgis layer addlayer mapserver.jpg

Menu Layer–> Add Layer –> Add ArcGIS MapServer Layer …

Klik tombol New untuk membuat baru,

beri nama seterah Anda, yang penting URL nya …

http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer

http address.jpg

Pencet Ok, Done!

Eh belum, pilih lagi koneksi kita, pencet Connect …

connect.jpg

kalau ngga ada yang lagi makan kol … seharusnya aman aman aja … pilih salah satu, World Imagery saja, lalu pencet add

 

world imagery.jpg

Nah, nampil peta dunia …

Nah … coba zoom agak ke sebuah kota … lalu di QGIS klik tombol identifyidentify.jpg

klik ke peta …

VOILA … di sini keren nya .. kita jadi tahu METADATA dari ubin ini …

 

2018-12-21_01-24-36.jpg

Apa yang paling penting di sini? SRC_DATE nya … saya jadi tahu foto kota Pekanbaru diambil tangal 5 bulan 29 tahun 2017 …. keren kan?

ya format tanggal amerika lah cok … tanggal 5 bulan 29 itu artinya  mey bi yes mey bi no

dan ada lagi .. akurasi dalam meter … jauh juga kan … 10 meter 😀 dan resolusi 46 centi meter … wow ….

 

:v

Iklan

DEMNAS BIG

DEMNAS dari BIG memang top markotop, sayangnya tidak di-deflate, sehingga file TIF yang kita download memang RAW nya yang dikasih, tanpa kompresi, sehingga ukurannya lebih besar, padahal saya yakin tujuan share DEMNAS oleh BIG adalah untuk dishare … seharusnya dishare dalam format DEFLATE, dikompres kecil LOSSLESS, tanpa ada data yang hilang …

Sedikit kecewa dan kaget saya saat menggabungkan 43 file DEMNAS sekitar Kab. Kampar untuk kemudian mau saya buatkan hillshade dan konturnya …

43 File ukurannya 1.73 Gigabyte, setelah digabung DAN DIKOMPRES LOSSLESS, hasilnya hanya 179 Megabyte … wow … sangat signifikan sekali … padahal kompresinya LOSSLESS lho …

Sebenarnya dari awal saya sudah curiga jangan-jangan filenya tidak dikompress karena terlihat grid nya rata semua, dan ukuran pun rata semua 42,4 MB per file … sama.. tentu tanpa kompresi …

 

 

 

dan ada lagi yang saya keluhkan … file TIF nya tidak di buatkan SRS nya… sehingga saat masuk ke QGIS, selalu ditanya ini file DEMNAS apa SRS nya …

Solusinya adalah dengan membuat sebuah file AUX.XML untuk tiap-tiap file DEMNAS tersebut, yang isinya setidaknya

<PAMDataset>
<SRS>GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]</SRS>
</PAMDataset>

Perhatikan, bahwa SRS itu adalah WGS 84 , EPSG:4326 …

Mungkin cara cepat adalah dengan membuat sebuah batch file (*.BAT atau *.CMD) lalu mengkopi file text tersebut menjadi format namafile.tif.aux.xml

 

demnas dir b.jpg

Gunakan perintah

DIR /b DEMNAS_0*.tif > listdemnas.cmd

nah lalu buka file listdemnas.cmd tadi dengan notepad++ tambahkan ^ eh awal baris dengan copy srs.xml dan tambahkan $ eh akhir baris dengan .aux.xml

kalau regex nya

(.*)

replace dengan

copy srs.xml $1.aux.xml

 

check baris terakhir biasanya error regex nya …

eh CMD tadi asumsikan Anda menyimpan template SRS.xml nya dengan mana tersebut.

Ngambil peta jalan di Prov Riau dari OSM

Ceritanya, saya pengen bandingkan peta versi PU dengan versi OSM, untuk Prov Riau. AFAIK, tempat download yang cepat untuk data OSM se Indonesia adalah di Geofabrik.de. Sayangnya, di sini tidak bisa download per provinsi, padahal negara lain sudah bisa per state (negara bagian), sehingga lebih ringan downloadnya. Ngga gede banget sih … cuma 2.07Giga byte … seharusnya ngga lama … kecuali tadi ada FILE ACCESS ERROR … dan mesti ulang lagi dari 0, padahal sudah mau kelar tadinya …

Sebenarnya, bisa juga download pakai API via JOSM, dan nanti file OSM nya di export ke QGIS. Tapi memang lebih simpel dari GeoFabrik, tinggal donlot SHP nya yang sudah dizip.

Nah, untuk lebih menghemat kerja, jangan extract semuanya, karena gedung biasanya tidak Anda butuhkan, padahal itu yang menghabiskan banyak space di sini.total gedung.jpg

Well, dari 9 giga filenya, 8 giga adalah gedung … hahahaha

Ok … done extract hanya jalan nya saja dari file zip nya … lumayan hemat space 8 Giga, kan?

Nah … JANGAN LANGSUNG DI LOAD KE QGIS … FILENYA GUEDDE

solusi ala saya adalah saya buatkan dulu wilayah riau di QGIS … saya punya dari PEMILU API .. tetapi geometry file nya rusak .. terpaka di fix dulu oleh QGIS … gampang, via toolbox –> fix geometries

 

fix geom.jpg

Nah, baru di dissolve, atau bahasa manusianya di-lebur jadi satu saja prov riau nya …

 

Setelah di dissolve, saya simplify saja … sayangnya karena kita dalam derjat, maka ukuran simplify juga mintanya dalam derjat … nah .. ini kan bingung …

cara gampang itung konversi derjat ke meter adalah

satu derjat adalah 111 ribu …

nah … biar gampang, saya sederhanakan shape nya ke satu kilo saja … atau seribu meter,

1 dibagi 111 adalah 0,009 …

done

2018-12-19_03-15-32.jpg

nah … kalau sudah selesai … MATIKAN RENDER DI QGIS … INI PENTING

tombol render ada  pojok kanan bawah QGIS Anda … dekat CRS

yak matikan …

render matikan.jpg

Kenapa harus dimatikan ? karena kita akan memasukkan data yang sangat besar, sehingga akan memberatkan QGIS …

nah langkah selanjutnya adalah PASTIKAN LAGI RENDER NYA MATI

 

sip …

dah mati?

 

cek lagi ..

 

hehehehe …

 

sekarang baru load / drag-drop file SHP hasil extract dari Geofabrik tadi ke Qgis … cukup yang jalan nya saja … gis_osm_roads_free_1.shp

 

dua juta jalan di Indonesia.jpg

nah … setelah diload qgis … MATIKAN CENTANG LAYER NYA … biar ngga tampil dia … karena kalau tampil pasti berat lah menampilkan 2 juta fitur jalan …

nah … sekarang setelah dua duanya mati … rendering dan layer … baru kita lakukan spatial query …

gunakan Select by Location

2018-12-19_03-01-57 select by location.jpg

 

ambil jalan yang hanya di dalam file riau kita tadi … run … ada error panjang banget … cuekin aja …

nah nanti akan terlihat status kek gini di bawah QGIS nya …

2018-12-19_03-02-31 36 814 features selected.jpg

artinya, dari 2 juta jalan Indonesia di OSM, 36 ribu nya sedang terpilih sekarang …

nah … jika sudah terpilih, baru kita simpan yang terpilih tadi …

 

nyimpan layer masih nanya saya? Ya Allah!

klik kanan layer gis_osm_roads_free tadi, pilih export –> save selected features asexport selected.jpg

 

Nah … simpan sesuai keinginan Anda …

sekarang, kita sudah memiliki jalan di provinsi riau … versi OSM …

dikit kali?

ya … ngga banyak yang metain … kesadaran warga  di sini mungkin masih kurang .. hahaha …

done …

eh … kamu tau cara lain?

shptree untuk membuat Spatial Index SHP

Kalau Anda bekerja dengan SHP file yang besar, seharusnya akan lebih cepat diakses jika dibuatkan terlebih dahulu berkas Spatial Index nya. Dengan dibuatkan indexnya, piranti GIS seperti MapServer akan lebih cepat dalam menampilkan SHP file yang besar. Anda dapat menggunakan tools shptree [1]. Tools ini ada juga di MS4W, dan dapat Anda jalankan di konsol CMD Anda dengan syarat menjalankan dahulu batch file untuk SET Environment Variables.

Lihat gambar berikut, dari menu RUN, ketik CMD, maka akan terbuka konsol CMD.EXE Anda:

 

cmd shptree is not recognized.jpg

Nah, terlihat bahwa perintah shptree belum dikenal oleh CMD, sehingga Anda tidak dapat melakukannya,

Solusinya, Anda harus memanggil dahulu berkas \ms4w\setenv.bat, yang berguna untuk melakukan SET PATH, yaitu memberitahu CMD, dimana PATH  atau lokasi berkas EXE berada.

set environtment variable for ms4w.jpg

Setelah diset pathnya, otomatis CMD berhasil menemukan perintah shptree.exe.

 

OK, sekarang setelah kita berhasil memanggil perintah shptree, kita butuh membuat index untuk berkas SHP kita, caranya cukup dengan perintah

shptree namafile.shp

Contoh kasus adalah SHP gedung dari OSM (Open Street Map) seluruh Indonesia yang ukurannya 600MB, nah kita dapat buatkan indexnya, sehingga nanti akan lebih cepat dalam melakukan query (well ndak juga sih … hehehehe … karena datanya kurang bagus). Lihat gambar berikut biar jelas …

shptree buildings sampai 200mb.jpg

Terlihat SHP buildings ada sekitar 616MegaByte … super guedde … dan itu data tahun 2016, belum donlot yang baru …

kita buatkan index nya … dan ukuran indexnya pun cukup gede … 200MB

 

[1] https://trac.osgeo.org/mapserver/wiki/ShpTree

ESRI SHP Vector Spatial Index di QGIS3

QGIS 3 mendukung pembuatan berkas QIX untuk spatial index pada sebuah berkas SHP Anda. Biasanya saya melakukan ini dengan tools bawaan MapServer, namun ternyata Anda bisa melakukan ini dengan doubleclick layer, otomatis terbuka Layer Properties (atau bisa juga dengan klik kanan –> properties) lalu navigasi ke tab Source, pilih tombol Create spatial index, seperti terlihat pada gambar berikut:

 

2018-12-18_21-58-20 create spatial index for SHP.jpg

Nah, otomatis sebuah berkas QIX dibuat oleh QGIS Untuk Anda, dan banyak piranti GIS yang mendukung QIX untuk mempercepat pembukaan berkas SHP Anda.

Pengechekan Validitas Geocoding dengan ST_Within

Terkadang saat kita melakukan geocoding (ataupun reverse geocoding), kita tidak yakin apakah benar koordinat yang diberikan oleh server penyedia layanan geocoding. Contoh kasus adalah saya punya tabel sekolah, berisi alamatnya (text, varchar), lalu saya geocoding dengan layanan luar, sehingga dapat koordinat latitude dan longitudenya secara otomatis.

Nah, setelah saya plot ke QGIS, terlihat ada beberapa sekolah yang tidak tepat atau melenceng posisinya dari seharusnya.

 

Kita dapat melakukan spatial query berikut di MySQL ataupun PostGIS ataupun yang mendukung OpenGIS:

-- coba check sekarang ada kecamatan yang berbeda dengan spatial kita?
-- tabel sekolah memiliki sendiri kecamatan nya, namun kita memiliki hasil geocoding 
-- dan kita spatial query kan ke tabel kecamatan
SELECT 
  s.nama as "Nama Sekolah"
  ,s.kecamatan as "Sekolah Kecamatan"
  , k.`nm_keca` as "SPATIAL KECAMATAN"
FROM `kecamatan` k, sekolah s 
WHERE st_within(s.titik,k.shape)

 

SQL di atas berguna untuk menampilkan:

  • nama sekolah,
  • nama kecamatan yang ada di tabel sekolah pada kolom kecamatan, dan
  • spatial query posisi titik sekolah tersebut ke tabel kecamatan menggunakan ST_Within.

 

Terlihat hasilnya ada beberapa sekolah yang nama kecamatan nya berbeda … penyebabnya adalah tabel kecamatan memiliki nama versi 2010 yang saya dapat dari PEMILU API, misalnya Bangkinang Barat (BPS 2010) sekarang bernama Kuok.

kuok bangkinang barat.jpg

Ada juga kasus Kecamatan Bangkinang yang diubah menjadi BANGKINANG KOTA dan sedangkan posisinya berdekatan dengan Kecamatan Bangkinang SEBERANG.

bangkinang seberang kota

Dan memang banyak juga yang melenceng jauh.

 

 

 

MySQL Spatial Query

MySQL terbaru mendukung spatial query dengan cukup bagus, bisa dilihat pada kasus berikut. Kita punya “peta” / data titik-titik sekolah pada tabel sekolah, dan peta kecamatan pada tabel kecamatan (tentunya ini berbentuk polygon).

Untuk spatial query yang tepat untuk contoh ini adalah ST_Contains(g1,g2).

ST_Contains(g1,g2) akan menghasilkan nilai 1 atau benar atau TRUE, jika g1 melingkupi g2, atau g2 di dalam g1.

Contoh kasus, kita ingin tahu sekolah mana saja yang ada di Kecamatan Bangkinang, bisa dengan SQL berikut:

 

SELECT s.nama, st_astext(s.titik) 
FROM sekolah s, kecamatan k 
WHERE k.`nm_keca`='BANGKINANG' and st_contains(k.`SHAPE`,s.titik)

Oh iya, perintah st_astext agar lebih manusiawi hasil query GEOM kita, agar lebih dimengerti manusia, karena dalam WKT.

2018-12-09_00-36-25 sekolah di kecamatan bangkinang.jpg

sekarang kita uji dengan QGIS, kita buka kedua layer dengan QGIS, lalu di QGIS 3 spatial query terdapat pada plugin processing. punya saya tadi crash jadi harus di enable lagi, makanya nanti terlihat di menu agak berantakan …

Di QGIS, setelah membuka file sekolah dan kecamatan, pilih kecamatan bangkinang di kanvas / peta. Dengan kondisi kecamatan tersebut terpilih, ini penting, lalu klik menu vektor, peralatan penelitian , select by location

2018-12-09_00-48-20 vektor peralatanpenelitian spatialquery.jpg

Nantinya akan keluar tampilan select by location seperti berikut:

 

2018-12-09_00-47-47 select by location.jpg

 

Nah,  di bagian atas kita pilih layer titik kita, yaitu sma di riau,

 

lalu query kita adalah  “are within”, yaitu di dalam

layer kedua adalah kecamatan,

 

nah penting tadi untuk memilih hanya di kecamatan Bangkinang saja yang telah kita pilih tadi sebelum masuk ke menu ini.

Di dropdown bawahnya pilih  creating new selection  agar sekolah yang didalam  kecamatan terpilih akan dipilih.

Klik tombol Run di pojok bawahnya.

 

Nah, Anda mungkin tidak menyadari apa yang terjadi, karena tidak langsung tampak, tetapi yang terjadi adalah sekarang di layer sekolah atau sma_di_riau sekarang sudah terpilih fitur yang hanya di dalam pilihan tadi …

Coba pilih layer sma_di_riau, lalu klik tombol open attribute tableOpen Attribute Table.jpg

perhatikan pada tabel atribut sekarang bahwa dari 736 fitur, terpilih hanya 9

attribut table terpilih.jpg

 

Nah, agar Anda tidak bingung dengan mana yang terpilih dan mana yang tidak, kita dapat menampilkan di tabel tersebut hanya yang terpilih saja, yaitu dengan tombol di pojok kiri bawah tabel tersebut

 

ubah show all features ke show selected features.jpg

Ubah dari Show All Features yang artinya tampilkan semua fitur ke [Show Selected Features] yang ertinya tampilin yang terpilih saja.

sekolah di bangkinang saja

Voila … terlihat hanya sekolah di kecamatan bangkinang saja sekarang …

Kita hitung ada sembilan buah … dan sesuai dengan spatial query di MySQL di atas, walaupun berbeda urutannya 😀

 

Ambil nafas sejenak … buat kopi dulu … coba hitung  atau ingat-ingat berapa janda cantik di sekitar anda, sebelum lanjut ke materi berikut …

 

 

 

 

Nah, kembali ke laptop …

Kenapa MySQL sekarang sudah bagus? karena dahulunya perintah CONTAINS di MySQL dilakukan dengan amplop atau minimum bounding box saja. Coba perhatikan keterangan CONTAINS dari MariaDB:

CONTAINS() is based on the original MySQL implementation and uses object bounding rectangles, while [[st_contains|ST_CONTAINS() uses object shapes.

https://mariadb.com/kb/en/library/contains/

Ertinya … dahulu MySQL menghitung ini agak salah dan berbahaya, coba kita lihat ilustrasinya di bawah ini:

ilustrasi amplop.jpg

 

Perhatikan kalau menggunakan amplop, maka SMA Negeri 1 Salo akan terpilih juga, karena masih di dalam amplop BANGKINANG, begitu pun dengan SMK Swasta ASy Syafiyah Kampar yang ada di Kecamatan Kampar, karena masih dalam amplop BANGKINANG seperti terlihat dengan kotak amplop bounding box kecamatan BANGKINANG.

Dahulu, inilah yang membuat orang malas menggunakan MySQL … karena berbahaya, kan?

 

Nah, sekarang MySQL sudah bagus dalam spatial query … dan sudah layak bersanding dangan postgis … cie … cie … ❤ ❤ ❤

 

 

 

 

 

 

“MySQL” Spatial Index pada XAMPP

biasanya mahasiswa termanjakan dengan XAMPP yang dengan gampang tinggal pencet tombol start otomatis jalan apache, mysql, php dan perl nya. Namun, banyak yang saya lihat rata-rata mahasiswa masih menggunakan versi yang sedikit lebih ketinggalan dibandingkan dengan versi stabil yang sudah dirilis.

Sebenarnya, kurang diupdate untuk lokal development sih tidak masalah, karena kemungkinan diserang akan lebih sedikit, dibandingkan kalau servis tidak diupdate jika dia terkoneksi ke Internet akan menjadi malapetaka.

Buat mahasiswa Tingkat Akhir yang sedang mengerjakan Tugas Akhir (TA) atau skripsi, tentu seharusnya pandai dan mau meng-update paket layanan tersebut. Parahnya, masih banyak yang menganggap MySQL, padahal MariaDB lah yang dibundel di XAMPP.

Nah, MariaDB belum dukung spatial indexing pada engine InnoDB kecuali setelah versi 10.2.2 (lihat tautan ke https://mariadb.com/kb/en/library/spatial-index/ )

 

2018-12-08_22-24-37 spatial index hanya dari v10.2.2.jpg

Makanya, sewaktu saya membuat index, jadi error seperti di bawah ini:2018-12-08_19-59-34.jpg

Error 1464, mesin InnoDB tidak mendukung SPATIAL indexes. Solusinya adalah dengan mengganti engine ke MyISAM via my.cnf atau my.ini di XAMPP, lalu baru buat database dengan engine tersebut.

Sebagai gambaran kenapa error di atas, terlihat di gambar masih menggunakan versi 10.1.24, pantas saja kalau error dibuatkan spatial index.

database version 10.1.24.jpg

Solusi, silahkan download MariaDB terbaru di sini:

https://downloads.mariadb.org/f/mariadb-10.3.11/winx64-packages/mariadb-10.3.11-winx64.msi/from/http%3A//mirror.biznetgio.com/mariadb/?serve

Nah, setelah kita unduh, silahkan di eksekusi, dan jangan lupa untuk meng-update database kita, jangan dibuat baru … nanti tertimpa kan kasihan database yang lama 😀

2018-12-08_22-33-41.jpg

Nah, karena ada PERMASALAHAN DALAM PERBEDAAN KONFIGURASI , bisa saja Anda bernasib sama dengan saya, Anda akan tidak dapat menjalankan layanan MySQL nya. Solusi, coba lihat di mysql_error.log nya.!

Setelah sukses mengatasi error (kalau ada), coba jalankan kembali, dan lihat sekarang versi MariaDB kita sudah ter-update

 

2018-12-08_23-24-39 sukses update MariaDB ke versi 10.3.jpg

nah, sekarang kita coba, apakah bisa membuat spatial index pada enjin innoDB?

buka database->tabel anda di PHP MyAdmin, ada tombol spatial di kanan kolom nya, coba pencet

 

2018-12-08_23-32-13.jpg

Akan keluar popup mengatakan apakah Anda ingin membuat spatial index?

 

2018-12-08_23-32-25 ternyata bisa juga dibuatkan via tombol spatial.jpg

 

Wow, PHP MyAdmin tau saja keinginan kita … pencet OK tentunya …

 

2018-12-08_23-32-50.jpg

 

What?

Masih error juga?

 

Penyebabnya adalah KOLOM YANG DISPATIAL INDEX KAN TIDAK BOLEH NULL, JADI HARUS DIDEKLARASIKAN DENGAN NOT NULL saat dibuatnya …

Coba lihat lagi kolom titik kita memang tertulis NULL, artinya boleh saja tidak diisi … nah ini tidak dapat dibuat di MySQL. di PostGIS bisa.

2018-12-08_23-33-12.jpg

terpaksa kita alter lagi tabel kita … hilangkan centang null

2018-12-08_23-34-21 hilangkan centang null nya

atau bisa saja dengan perintah SQL nya, 2018-12-08_23-34-43 alter tabel.jpg

terserah mana yang anda mau …

kalau sukses, NULL tidak ada lagi setelah titik

2018-12-08_23-35-26 sekarang titik tidak boleh null.jpg

 

artinya, kolom titik pada tabel kita WAJIB DI ISI, kalau tidak akan error …

sakit sih, tapi … tak berdarah … eh … tapi kalau mau pake spatial index mesti gini …

Nah, … sekarang pencet lagi tombol SPATIAL pada kolom kita … otomatis dibuatkan index oleh PHP MyAdmin nya …

2018-12-08_23-35-54 sukses.jpg

dan bisa dilihat pada bagian index di PHPMyAdmin bahwa tabel kita sekarang sudah memiliki spatial index

2018-12-08_23-36-18 index pada tabel kita

Terlihat pada gambar ada dua index, yang pertama adalah PRIMARY KEY kita, kolom id,

dan yang kedua adalah kolom titik dengan tipe index adalah spatial.

Cukup segini dulu .. .lain kali kita sambung kegunaan SPATIAL INDEX, dan kenapa harus kita buat pada GIS kita … insyaAllah … doain saya sehat ya …

 

mysql_error.log

Anda dapat mengetahui kenapa MySQL anda tidak mau distart dari mysql_error.log, biasanya ada di XAMPP/mysql/data/mysql_error.log

 

Contoh, saat update MariaDB ke versi terbaru, ada error seperti ini:

2018-12-08 23:00:35 0 [ERROR] D:\w64\MariaDB\bin\mysqld.exe: unknown variable ‘innodb_additional_mem_pool_size=2M’
2018-12-08 23:00:35 0 [ERROR] Aborting

Penyebabnya adalah settingan my.cnf atau di XAMPP ada di XAMPP/mysql/bin/my.ini

tinggal Anda cari settingan innodb_additional_mem_pool_size, lalu dikomentari dengan memberi tanda pagar / hash / kres / #

Coba lagi, dan akhirnya jalan kembali MySQL eh MariaDB Anda 😀

 

Boleh dilihat hasil urut eh pijit eh user root tanpa password di XAMPP Anda 😀

mysql uroot.jpg

Geocoding Alamat Sekolah SLTA se Prov Riau

Malam sabtu kemaren nyobain geocoding 736 alamat sekolah setingkat SLTA (SMA, SMK, Pesantren) di Prov. Riau.Awalnya sedikit ragu apakah harus menggunakan Google Maps API / Geocoding API satu persatu kemudian convert JSON hasilnya untuk dapatkan Latitude dan Longitude. Kebayang juga mungkin dari Google Fusion Table bisa otomatis.
 
Ternyata, bisa dilakukan secara otomatis via Google Drive … Tinggal Upload Ms. Excel Anda ke google Drive, lalu tambahkan plugin geocoding, lalu jalankan … otomatis dibuat kolom latitude dan longitude…
 
WARNING:
 
PERTAMA kali mencoba saya gagal dalam melakukan geocoding karena format hasil geocoding adalah dalam titik.
Anda mesti mengubah format Google Spreadsheet Anda dahulu ke bahasa asing (English, sehingga saat diketikkan angka 101.12345 hasilnya adalah angka 101 diikuti pecahannya,
Alternatif lain, buat dahulu kolom latitude dan longitude, lalu blok kedua kolom tersebut, ubah tipe nya (pilih ikon gambar 123) menjadi teks. Dengan begitu tidak otomatis dirusak oleh Google Spreadsheet hasil geocodingnya (karena perbedaan decimal separator)

GIS Lecturer, in Bahasa (Indonesian)