Saya sedang mempertimbangkan untuk mencoba membuat API sehingga saya dapat membuat beberapa dataset spasial tersedia untuk kolega untuk dianalisis.
Bagian dari pekerjaan saya adalah menganalisis dan menyiapkan data yang kemudian dapat digunakan untuk analisis lebih lanjut oleh orang lain. Pekerjaan (saat ini pada skala yang lebih kecil dan kurang canggih) mirip dengan walkscore tetapi memang melibatkan beberapa set data yang sangat besar. Ada peningkatan pembatasan tentang bagaimana saya dapat membagikan data asli, tetapi karya turunan saya dapat dibagikan. Saya telah memikirkan tentang cara terbaik untuk membagikan hasil analisis saya (di luar meneruskan dataset besar) dan berpikir bahwa API akan menjadi salah satu pendekatan. Hal-hal apa saja yang harus saya pikirkan ketika membuat API? Apakah ada spesifikasi desain yang bisa saya ikuti?
Visi saya terdengar lebih muluk daripada saat ini, tetapi saya pikir itu akan menjadi kerangka kerja yang berguna untuk dipertimbangkan sejak awal dalam pekerjaan ini.
Jawaban:
Dengan API, saya kira Anda maksudkan semacam akses jaringan ke data Anda melalui hubungan jenis HTTP POST / GET seperti Google Maps API? Apakah itu data raster atau vektor? Saya akan menganggap vektor untuk keperluan diskusi ini. Ini sebenarnya hanya protokol komunikasi daripada Antarmuka Pemrograman Aplikasi.
Anda tidak perlu merancang apa pun dari awal, karena ada banyak protokol standar (daripada API per se, saya punya sedikit bugbear tentang memanggil hal-hal API ketika mereka tidak, tapi saya tidak akan membuat Anda bosan! ). Jika Anda hanya tertarik untuk menyajikan data vektor hanya-baca untuk klien Anda, Anda hanya perlu Server WFS yang berada di depan database Anda. Saya sudah pernah menggunakan GeoServer di masa lalu, tapi saya lebih suka lightweigtness dari TinyOWS . Keduanya melakukan pekerjaan yang sama: mengkonfigurasinya untuk mengakses database Anda dari data yang diturunkan, mengaturnya berjalan sebagai bagian dari server web ( Apache adalah umum, tetapi saya lebih suka lighttpd), dan di sana Anda memilikinya. QGIS dapat memuat data dari server WFS, dan tidak diragukan lagi Arc dapat. OpenLayers juga memiliki kapabilit rendering WFS untuk solusi berbasis browser. Pada level yang lebih rendah, GDAL dapat digunakan untuk mengonversi data dari WFS ke format vektor apa pun yang didukung OGR.
Jika Anda ingin kemampuan pengeditan, GeoServer dan TinyOWS mendukung WFS-T, memungkinkan pengguna Anda untuk mengunggah analisis mereka kembali ke server Anda.
Membuat API Anda sendiri benar-benar mengalahkan tujuan memiliki standar ini di tempat pertama, kecuali jika Anda sangat terspesialisasi dan Anda memiliki persyaratan khusus seperti kinerja, dan er ... hanya itu yang bisa saya pikirkan. Melewati rute ini, tanpa sumber daya yang masuk akal adalah tugas yang berat - walaupun bukan tidak mungkin -.
sumber
Anda memiliki dua pilihan; pilihan yang akan tergantung pada model data Anda, jenis data yang akan dilayani, model penggunaan yang dimaksud, kontrol akses serta platform pengiriman (Web, HTML, Java Server, IIS, kumpulan data statis).
Selamat mencoba, API bukanlah usaha kecil karena Anda perlu mempertimbangkan metode rilis dan siklus, perbaikan bug, pengujian. Semua ini berkontribusi terhadap kegunaan. Saya tidak mengatakan jangan lakukan itu, itu akan menjadi pengalaman hebat. Meskipun membangun di atas produk yang sudah ada bisa menjadi pengalaman positif juga.
sumber