Contoh Layanan Peta Dinamis yang sering berubah?


8

Persyaratan aplikasi web kami adalah untuk secara otomatis me-refresh layanan peta dinamis tertentu pada timer.

Persyaratan terkait dengan klien yang memiliki MS dinamis yang secara konsisten mendapatkan pembaruan dari sensor GPS.

Mari kita lupakan tentang Layanan Fitur untuk saat ini, dan layanan WMS atau Gambar yang dapat sering berubah.

Coding bijaksana itu cukup mudah untuk mencapai ini.

Penguji kami sekarang menginginkan Layanan Peta Dinamis yang sering berubah (idealnya setidaknya setiap 15-an) sehingga mereka dapat melihat tampilannya di bagian depan. Juga akan membantu kami menunjukkan kemampuan baru kepada klien kami.

Saya telah menjelajahi server sampel Esri tetapi tidak dapat menemukannya.

Adakah yang mengetahui layanan publik yang bisa kita gunakan untuk pengujian cepat?

Jika jawabannya tidak, harus ada skrip di luar sana untuk meniru gerakan pelacakan GPS, untuk mungkin terus mengubah lokasi beberapa titik. Kemudian weI dapat mengatur layanan saya sendiri.


1
Di mana data Anda di balik layanan peta disimpan? Apakah kita berbicara ArcSDE di atas SQL Server / Oracle, file geodatabase, dll ...?
Chad Cooper

Bisa salah satu dari yang di atas. Sudah siap di lingkungan pengujian kami. Fungsionalitas baru harus diuji terhadap semua lingkungan itu, tetapi saya memiliki sedikit rasa takut akan ada masalah di backend.
Simon

Mungkin i2maps ncg.nuim.ie/i2maps/docs/index.php?page=examples dapat membantu Anda?
radek

Apakah perlu bekerja dengan 10.1, setelah dirilis?
Kirk Kuykendall

Apakah Anda tidak perlu Server Pelacakan untuk Server ArcGIS? esri.com/software/arcgis/tracking-server/index.html untuk melakukan ini?
Mapperz

Jawaban:



2

Jika Anda menggunakan REST API, maka menurut saya Anda bisa melakukan ini tanpa server arcgis. Ketika permintaan masuk untuk peta, kembalikan string json yang sesuai dengan spesifikasi REST API , yang mewakili lokasi baru.

Dengan windows, ini bisa dilakukan dengan mengimplementasikan layanan WCF Rest . Layanan ini akan menyimpan berbagai kendaraan dalam memori. Setiap kendaraan akan memiliki lokasi, arah, kecepatan, dan cap waktu. Ketika permintaan datang di lokasi akan diperbarui berdasarkan berapa banyak waktu telah berlalu sejak cap waktu terakhir, mengimbangi jarak berdasarkan kecepatan dan pos.

Jika kendaraan Anda harus mengikuti jalan, Anda bisa membuang jalur untuk setiap kendaraan ke file (x, y dan waktu). Layanan REST kemudian dapat menggunakan file untuk mengembalikan pembaruan posisi yang mengikuti jalur tersebut.

Klien Anda akan membutuhkan timer untuk membuat permintaan setiap 15 detik. Sertakan stempel waktu pada url untuk mencegah caching.

Edit

Alternatif lain adalah menggunakan layerextension. Buat mxd yang mengarah ke fiturelummy boneka. Pertama kali ILayerExtensionDraw.BeforeLayerDraw dipanggil, minta ia mengganti IFeatureLayer.Featureclass dengan ineclass FeatureClass (dibuat menggunakan inmemoryworkspacefactory ). Class Featureeclass akan mewakili lokasi kendaraan, dengan bidang untuk Heading, Speed, dan TimeStamp. Setiap kali BeforeLayerDraw disebut lokasi akan diperbarui berdasarkan kecepatan, arah dan waktu sejak cap waktu terakhir. Jangan lupa untuk membuat layerextension Anda mengimplementasikan IPersistStream .


Contoh yang sangat bagus; Saya melakukan ini dalam beberapa tahun terakhir tetapi tanpa REST. Kami memiliki Layer ArcSDE yang akan diperbarui dengan telemetri kendaraan yang disurvei dari setiap mobil setiap 30 detik, bahwa data dimasukkan ke dalam layer Point dengan nilai-nilai semua waktu-dicap. Kami baru saja memiliki metode yang akan memperbarui kontrol peta (berbasis yes-ADF, yuck) pada jendela yang dapat dikonfigurasi dan itu akan menarik 5 titik informasi kendaraan terbaru sehingga Anda dapat melihat gerakan dan waktu. Bekerja dengan baik untuk PD / EMS ...
DEWright

Bagus, tapi bukan apa yang saya inginkan. Saya membutuhkan D-MS yang dapat saya hubungi melalui API Esri, dan kemudian di tempat lain dalam kode saya, saya harus tetap meminta kembali layanan ini. Jawaban Anda tampaknya berlebihan untuk kebutuhan pengujian saya?
Simon

-1

Sifat dari layanan peta dinamis adalah bahwa layanan ini diberikan secara langsung, sesuai permintaan. Untuk melihat perubahan di sisi klien, permintaan peta baru harus dikeluarkan.

Secara default, layanan peta dinamis yang dihosting melalui ArcGIS Server akan menempatkan "Skema Lock" pada data, melarang pengeditan pada sumber data saat layanan sedang berjalan.

Ini dapat diatasi dengan mengedit properti dalam file konfigurasi layanan peta (.cfg). Sebuah <SchemaLockingEnabled>false</SchemaLockingEnabled>entri akan memungkinkan perubahan pada sumber data sementara layanan ini berjalan.

Lihat http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#//0093000000mr000000


CATATAN: jika pembaruan fitur melalui layanan fitur, Anda tidak perlu khawatir tentang Kunci Skema. Selain itu, pengiriman suntingan fitur melalui layanan fitur akan menjadi cara yang bagus untuk menguji redrawing dinamis layanan peta.
Allan Adair

Allan, cara terbaik untuk mengatasi masalah ini adalah Spatial-View dari sumber SDE / DB. Anda memperbarui kata tabel langsung dan ketika kueri baru menembak hits tampilan dan lapisan sumber terkena.
DEWright

Itu tip yang baik dari sudut pandang arsitektur, dan jika Simon menggunakan SDE untuk menyimpan / mengambil data, itu akan menjadi cara lain untuk menguji apakah layanan peta dinamis ditampilkan dengan benar di aplikasi sisi klien.
Allan Adair

Klien lain hanya memiliki nilai X / Y yang akan kami gunakan untuk membuat poin dengan cepat berdasarkan tingkat yang dapat dilihat saat ini dan itu juga bekerja dengan baik. Jadi ada potensi, saya berharap saya memiliki layanan publik untuk mendemokannya; tetapi karena ini adalah layanan pemerintah mereka semua dijamin.
DEWright

Contoh ini harus berfungsi: sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/... Ini adalah layanan sampel yang dapat diedit menggunakan SDK interaktif Silverlight. Saya yakin ada lebih banyak di luar sana. help.arcgis.com/en/webapi/silverlight/samples/…
Allan Adair
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.