Daha çox

Amazon s3 kovası ilə geoserver


Virtual instansiyamda Geoserver işlədən Apache var və Geoserver məlumat qovluğunun Amazon S3 vedrəsinə işarə edə biləcəyini düşünürəm. Bu mümkündürmü? Bu performansı necə təsir edir?

S3, Geoserver'in məlumat kataloqu üçün zəif bir quraşdırmadırsa, mənim Geoserver məlumat kataloquma çox miqdarda məlumat əlavə etmək üçün bir təklif varmı? Məlumat kataloqu 100 GB-a, bəlkə də daha çoxuna çata bilər. Yalnız böyük bir sabit sürücüsü olan bir server almalıyam və ya Amazon S3 vedrəsi kimi daha geniş miqyaslı bir həllə qoşulmalıyam?


Bir S3 kovasına "birbaşa" işarə etmək (məsələn, s3fs istifadə etmək) "yəqin ki" pis bir fikirdir. məs. https://stackoverflow.com/questions/10801158/how-stable-is-s3fs-to-mount-an-amazon-s3-bucket-as-a-local-directory

EBS, demək olar ki, GeoServer tərəfindən daxil olmaq üçün məlumatları saxlamaq üçün doğru yerdir.

100 GB, EBS standartlarına görə çox idarə olunur. (Maksimum həcm ölçüsü 16 Terabaytdır!)

Orijinal məlumatları S3-də saxlamağı və sonra bir komanda ilə bir S3 qovluğunun məzmununu yerli instansiyanıza senkronize etmək üçün AWS CLI alətlərindən istifadə edərək lazım olduqda nümunələrinizə təkrarlamağı təklif edə bilərəm. http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html). S3 mübahisəli şəkildə lazımsızdır, amma rahatlıq və rahatlıq əlavə etdiyini görürəm.

Yan qeyd: Hər halda böyük bir çox nüvəli nümunələrdən istifadə etməyi planlaşdırırsınızsa və məlumat həcminin gözlənilmədən böyümək ehtimalı olmadığını bilirsinizsə və nümunələrinizi avtomatik olaraq qura bilsəniz, əslində nümunə anbarından istifadə etməyi düşünə bilərsiniz ("müvəqqəti saxlama") ) orijinal məlumatlarınız S3-də təhlükəsiz olacağı üçün EBS ödənişlərinə qənaət edə bilərsiniz və nümunə saxlama bəzi hallarda EBS-dən bir qədər daha sürətli ola bilər.


Bu mümkündür: Bu, Geotiff Community modulu üçün Geoserver s3 istifadə edərək GeoTIFF formatına uyğun məlumatlar üçün asanlıqla əldə edilə bilər - https://docs.geoserver.org/latest/en/user/community/s3-geotiff/index.html

Bu performansı necə təsir edir? Buna cavab vermək çətindir, lakin qiymətin az bir hissəsində EBS / EFS saxlamasına bərabər bir performans tapdım.


4.8¶-də yeniliklər

OpenGeo Suite-in hər yeni versiyasında çoxsaylı düzəlişlər və komponent yeniləmələri var.

Bundan əlavə, OpenGeo Suite 4.8 aşağıdakı yeni xüsusiyyətləri özündə birləşdirir:

Vektör plitələr çıxış formatı

Vektor plitələr coğrafi məlumatları bir brauzerə və ya digər müştəri tətbiqinə çatdırmaq üçün bir yoldur. Vektor plitələr raster plitələrə bənzəyir, lakin məlumatlar əslində plitə içərisindəki xüsusiyyətlərin bir vektor şəklindədir. Vektor plitələr xəritələrin performansını yaxşılaşdırarkən, müştəri dizaynının tam rahatlığını təklif edir.

NetCDF dəstəyi

Şəbəkə Ümumi Məlumat Forması (NetCDF) meteoroloji məlumatlar kimi sıra yönümlü elmi məlumatların saxlanılması üçün istifadə olunan bir formatdır. Bu versiya, GRIB 1, GRIB 2, NetCDF 3 və 4-də CF (İqlim və Proqnoz) formatları ilə məlumatların oxunması üçün dəstəyi ehtiva edir.

GeoWebCache üçün AWS S3 kafel cache

Bu yeni kafel mağazası seçimi, TMS-ə bənzər bir URL quruluşundan istifadə edərək alınan bir Amazon Veb Xidmətləri (AWS) Sadə Saxlama Xidməti (S3) vedrəsində plitələrin saxlanmasına imkan verir.

Daha çox məlumat üçün GeoWebCache sənədlərinə baxın.

Təkmilləşdirilmiş göstərmə performansı

Marlin renderer, OpenJDK & # 8217s Balıqlar tətbiqinə əsaslanan performans üçün optimize edilmiş açıq mənbəli bir Java göstərmə mühərriki. Bununla, vektor göstərilməsi standart mühərriklə müqayisədə çox yaxşılaşmışdır.

Bundan əlavə, OpenGeo Suite Enterprise yükləmələri, GeoServer WMS çıxışında JPEG kodlaşdırması üçün əhəmiyyətli bir performans artırma təmin edən libjpeg-turbo (yerli kitabxanalarla müqayisədə 40% daha sürətli, Native ImageIO ilə müqayisədə daha yüksək və ya daha yüksək performans) təmin edir.

GeoServer 2.8

GeoServer-in ən son filialı, Z-sifarişin göstərilməsi, kontrastın artırılması və əyri dəstəyi kimi təkmilləşdirmələrdən ibarətdir.


Yeni bir məlumat kataloqu yaratmaq¶

Kataloqu başlamazdan əvvəl məlumat kataloqu yaradılmalıdır. Kataloqu başlayan istifadəçi tərəfindən oxunaqlı və yazılı olmalıdır.

Məlumat kataloqu boş bir qovluqsa, kataloqu INSTALL_DIR / web / geonetwork / WEB-INF / data istifadə edərək, qovluğun standart quruluşunu işə salacaqdır.

Məlumat kataloqu təyin edilməyibsə, tətbiq başlayanda qeyddə aşağıdakı mesaj göstərilir:

Məlumat kataloqu istifadəçi üçün əlçatan deyilsə, qeyd aşağıdakıları göstərir:


Yenidən yayım (GRB) siqnalı gedir. GRB sistemi, GOES-R yerüstü sistem emalından alınan məhsulların əsas kosmik rölesidir. GRB GOES VARiable (GVAR) xidmətini əvəz edəcəkdir. Bu xidmət, Qərbi Yarımkürədəki istifadəçilərə tam dəqiqlikli görüntüləri və hava məhsullarını yaxın real vaxtda əldə etməyə imkan verir. Bu məlumatların çatdırılması Amerika, Şimali, Cənubi və Mərkəzi və Karib dənizində hava proqnozu üçün vacibdir.

GRB, saniyədə 2.1 megabayt GVAR xidmətini əvəz edən saniyədə 31 meqabaytlıq birbaşa oxunuş yayımıdır. GRB siqnalı GOES-R peyki tərəfindən peykin baxış sahəsindəki uyğun torpaq qəbuledici terminallarına ötürülür.

Otho məlumatları alır və bunları yerləşdirir:


Amazon s3 kepçeli Geoserver - Coğrafi İnformasiya Sistemləri

Aşağıdakı kodu və # 8211 paketi testProject import java.net.MalformedURLException import java.net.URL import org istifadə edərək selenyum 3.141.59 docker görüntüsündə macOs v11.2.2 üzərindəki Chrome brauzerini işə salmağın çox sadə bir testini aparmağa çalışıram. openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.chrome.ChromeOptions import org.openqa.selenium.remote.DesiredCapabilities import org.openqa.selenium.remote.RemoteWebiori. bonigarcia.wdm.WebDriverManager ictimai sinif Testi

Google-chrome-stabil-i docker-dəki pyton görüntüsünə qurmaq istədim, ancaq aşağıdakı səhv etdim: [7/9] RUN apt-get update & amp & amp apt-get install -y google-chrome-stabil: # 11 1.250 Hit: 1 http://deb.debian.org/debian buster InRelease # 11 1.275 Get: 2 http://deb.debian.org/debian buster-updates InRelease [51.9 kB] # 11 1.279 Get: 3 http: // security .debian.org / debian-security buster / updates InRelease [65.4 kB] # 11 3.055 Get: 4 http://security.debian.org/debian-security buster / updates / main amd64 Packages [291 ..

Google-xromu bir python dokeri şəklinin içərisinə yükləmək istəyirəm, buna görə də selenium ilə istifadə edə bilərəm. Aşağıdakı əmrləri sınadım: curl https://dl-ssl.google.com/linux/linux_signing_key.pub -o /tmp/google.pub cat /tmp/google.pub | apt-key add & # 8211 rm /tmp/google.pub echo & # 8216deb http://dl.google.com/linux/chrome/deb/ stabil main & # 8217 & gt /etc/apt/sources.list.d/ google.list mkdir -p / usr / share / desktop-directory apt-get -y update apt-get install -y google-chrome-stabil dpkg-divert & # 8211add & # 8211rename & # 8211divert ..

Bu mövzuda onlayn bir şey tapa bilmərəm və milyonlarla insan hələ də bunu yaxşı istifadə edir, buna görə özüm də anlamadan çox lal bir şey etdiyimi düşünürəm. Aylardır Docker vasitəsilə Selenium testləri aparıram, bu docker-compose sənədini işə salmaq üçün istifadə edirəm: versiya: & quot3 & quot xidmətləri: selenium-hub: image: selenium / hub container_name: ..

Quraşdırma: Windows 10 host w / WSL konteynerində docker 3.3.3: Host & # 8217s 8080 port test script ilə eşlenen httpd + php-fpm ilə CentOS8 konteyner: boş bir PHP skript Mən nə seçirəm: İstəyin işlənməsi içəridə heç bir şey tələb etmir konteyner və ya WSL-də: [konteyner] qıvrım -w%:%:% localhost 0.000596: 0.002195: 0.002207 [WSL] qıvrım -w%:%:% localhost: 8080 0.000402: 0.002630: 0.002642 Lakin yüklənir ..

Ubuntu, NodeJS, Git & amp Google xrom kimi əsas görüntü ilə bir doker şəkli yaratmağa çalışıram. Bu mənim sənəd sənədim. Ubuntu'dan: 20.04 USER root WORKDIR / home / app COPY ./package.json /home/app/package.json RUN apt-get update RUN apt-get -y install curl gnupg RUN apt-get install g ++ build-essential & # 8211yes RUN curl -sL https://deb.nodesource.com/setup_15.x | bash & # 8211 RUN apt-get ..

Verilən bir brauzer iclası üçün yalnız bir istifadəçinin daxil olmasına imkan verən bir veb saytdakı girişdə olan iki istifadəçi arasındakı qarşılıqlı əlaqəni sınamaq istərdim. İkinci bir sürücü yaratmaqdan çəkinməyimin səbəbi, testlərimi aparmaq üçün Docker konteynerləri olan Selenium'u istifadə etməyi üstün tutmağımdır (https://github.com/SeleniumHQ/docker-selenium) ..

Kodumda bir səhv var, köməyinizi gözləyirəm! Sayta avtomatik olaraq nodejs-də daxil olan (kod işləyir) bir test kukla oyunçusu yazıram, amma onu saxladığımda və Docker-da işə saldığım zaman heç işləmir (xrom açıla bilməz). Hər hansı bir kömək məni xoşbəxt edir! Alacağımıza ümid edirik ..


Javascript dns axtarış işləri

Mən bir Fantaziya Futbol saytının sahibiyəm və abunəçilərinə təklif etdiyim bir vasitənin inkişafının davam etdirilməsinə kömək edəcək bir inkişaf etdirici axtarıram. Twitter-də tapdığım bir geliştiricim var idi, təməli atdı və ilk məhsulunu çıxardı. O yoxa çıxdıqdan və ən yaxşı son nəticəyə çatmaq üçün yeniləmələrə və daha da inkişafa ehtiyac duydum. Ümumi layihə bir məlumatdır.

DNS qeydlərini API ilə əlavə etmək, yeniləmək və ya silmək üçün php skriptinə ehtiyacım var [URL-yə baxmaq üçün giriş]

mocha çərçivəsində istifadə javascript üçün vahid test

Tələb olunan texnologiyalar yığını Şirkətimizdə işləmək üçün Nodejs-də yaxşı proqramlaşdırma təcrübələrini mənimsəyən məsuliyyətli və yüksək həvəsli proqramçılar tələb olunur. General & bull NodeJs & bull JavaScript / TypeScript & bull Domain Driven Design & bull Microservices & bull NestJs (CQRS, Passport, GrapHql, TypeOrm, Mongoose, Queue, Bull, Redis, Microservices) & bull MongoDb & bull SQL (Postgre.

Uzaqdan iş, ES10, TypeScript. Maraqlı səslənir? Sənin üçün bir işimiz ola bilər! Haskell kimi funksional proqramlaşdırma dillərindən istifadə edərək elmi tədqiqat və mühəndislik sahələrində xidmətlər göstəririk. Təqdim olunan dizaynlara əsaslanan yeni veb səhifələr yaratmaq, SEO tələblərinə əsaslanan sayt performansını yaxşılaşdırmaq və hər hansı digər ön vəzifə işlərində kömək etmək üçün bir ön inkişaf etdirici axtarırıq. Vəzifə tamamilə r.

React və JavaScript və Sass istifadə edərək mənə bir veb sayt yaratmağınız lazımdır. Dizaynı yerə qoyacağam.

Düyməni basdıqda səhifəni yükləmə problemini həll etmək üçün bir veb səhifə üçün javascript və ajax-da bir funksiya yaratmaq istəyirəm. Yenidən deyirəm, bu veb saytım deyil, veb sayta daxil olmaq üçün url var

Firebase, Reactjs, nodejs, javascript, material-ui, Apexcharts Material-ui tema fərdiləşdirməsini istifadə edərək, lazımsız elementləri silin, səhifə üslublarını dəyişdirin və yeni səhifələr yaradın, Duyarlı və SEO dostu. Firebase identifikasiyası - e-poçt, google, apple, bütün xüsusiyyətlərlə Stripe inteqrasiyası. Abunə, aylıq və illik planlar, qeydlər, yüksəltmə, aşağı endirmə, ləğv etmək, müəyyənləşdirmək, yenidən.

Veb sayt quracağam. Yaxşı bacarıqlı geliştirici tapıram. PHP-də təcrübə Mysql-də təcrübə. Css & amp Html & amp Javascript təcrübəsi yalnız Amerika və ya Avropa Bölgəsindəsinizsə ehtiyac duyulan Hindistan və Pakistan təklifi yoxdur. Hörmətlə.

Wordpress-dən çıxardığım 13 veb səhifəm var. [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [giriş URL-yə baxmaq üçün] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] [URL-yə baxmaq üçün giriş] Bu səhifələrin hər biri üçün bütün uzaq aktivləri (şəkillər, javalar) yükləmək istərdim.

Aşağıdakı bacarıq dəsti PHP 7.2, JavaScript, MYSQL, HTML5, CSS3 üçün geniş bilik və təcrübəyə sahib bir insana təcili olaraq ehtiyacımız var, buna görə 2 ilə yaxın bir mütəxəssis və bu müştəri ilə artıq yaşayan bir tətbiqetmə olmalıdır & # 039s sayt, lakin daha çox funksionallıq əlavə edir və dəstək və baxım təmin edir. Bu iş tam, daimi və uzunmüddətli bir vəzifədir.

Ekibimiz aylıq və ya illik baslarda hər hansı bir veb inkişaf etdirici və tətbiqetmə inkişaf etdirici axtarır, uçduğunuzda təcrübəli olsanız təcrübə bizim üçün bir məsələ deyil, iş qabiliyyətli olduğunuzu başa çatdırsanız bir tapşırıq var. arvind arora üçün işləyin (a2motivation- google ya da youtube-da adını axtarın), daha çox əlaqə üçün: - 9632818216 (ən az 3 ilə 4 arasında olmağınız lazımdır.

Wordpress veb səhifəsi üçün - DIVI - Elegant Themes ilə jQuery və ya JavaScript-də hazırlanmış iki Düyməyə ehtiyacım var. CSS Style vərəqələri də istifadə ediləcək. İki Düymənin bu funksiyaları olacaqdır: 1) Düymə-1: Düyməni vurun, əlaqəli pdf-dən & quot; QEYDİYYAT & quot; soruşacaq. İstifadəçi onu kompüterinə saxlaya bilər. 2) Düymə-2: Düyməni vurun, açılan pəncərədə əlaqəli bir pdf sənədini açacaq QEYD:.

Təcili bir javascript mütəxəssisi lazımdır

Salam, [URL görmək üçün giriş] kimi bir veb sayt yaratmaq fikrimiz var, lakin veb saytın miqyası çox kiçik olacaq. Problemin nəticələrini almaq üçün Csharp və ya javascript istifadə etdiyimiz bəzi fikirlər. Ancaq buna 100% əmin deyilik. Layihəni ətraflı müzakirə etmək üçün açın.

CEF (Dizayn) + Script (Backend) Ailə bal sistemi Envanter sistemi Telefon sistemi UCP + giriş sistemi + mənə göndərdiyiniz skriptlər (şəkillər) Yalnız arxa plan (bəlkə də bəzi kiçik dizaynlar) İşlər və öküz ordusu və öküz polisi & bull fbi & bull ems & bull həkim & bull madenciliği & bull pilot və öküz yük maşını sürücüsü və öküz zibili və öküz əkinçisi və öküz istehsalı və öküz elektrik enerjisi və boğa avtobusu işi taksi və öküz taxta yuvası və öküz yağı adamı.

mocha çərçivəsində istifadə javascript kodu üçün vahid testng

CEF (Dizayn) + Script (Backend) Ailə bal sistemi Envanter sistemi Telefon sistemi UCP + giriş sistemi + mənə göndərdiyiniz skriptlər (şəkillər) Yalnız arxa plan (bəlkə də bəzi kiçik dizaynlar) İşlər və öküz ordusu və öküz polisi & bull fbi & bull ems & bull həkim & bull madenciliği & bull pilot və öküz yük maşını sürücüsü və öküz zibili və öküz əkinçisi və öküz istehsalı və öküz elektrik enerjisi və boğa avtobusu işi taksi və öküz taxta yuvası və öküz yağı adamı.

Optimizepress 3 mövzusunda bir veb saytım var. 2 səhifə var - mənim üçün inkişaf etdirməyinizi istədiyim pensiya planlayıcısı və hədəf planlayıcısı. Tam tələb sənədini təqdim edərək, 1 əsas nümunə - html, JavaScript kodu ilə başlamaq. Hər hansı bir cihazdakı masaüstündə, noutbukda, tabletdə, mobil telefonda və s. Problemsiz işləməlidir. Yəni həssas dizayn və çapraz brauzer uyğun gəlir. Əvvəllər bu 2 səhifə hazırlanmışdır.

Salam, təqdim olunduqda xarici API-yə Javascript sorğusu göndərən əsas html formasına ehtiyacım var. Cavab olaraq URL alacaqlar [URL-yə baxmaq üçün giriş] sonra bu url-a yönləndirilməlidir. Bunun JS kitabxanalarına icazə verilməməsi üçün standart JavaScript-də edilməsi lazımdır. Bunu bu gün etmək lazımdır, xahiş edirəm yalnız bu gün tamamlaya bilsəniz təklif edin. Təşəkkürlər

[URL-yə baxmaq üçün giriş] veb sayt kodlarına sahib olmaq istəyirəm, lakin bəzi hissələrinin dəyişdirilməsi bu bölmələri əlavə edərək öz şirkətim üçün faydalı hala gətirir: - Giriş - haqqımızda - Xidmətlər / məhsullar - bizimlə əlaqə qurmaq istədiyim mövzu texnologiya, süni zəka və proqramlaşdırmadır, buna görə də logo və yuxarıdakı mövzularla əlaqəli 3B elementlər və şəkillər və animasiyalardan istifadə etməliyik.

Ruby on Rails and React ilə işləyən yüksək səviyyəli bir yığın inkişaf etdiricisi axtarırıq. Bu, böyük ambisiyaları olan kiçik bir komandanın vacib bir parçası olduğunuz 3-6 aylıq bir müqavilə layihəsidir: qadınların sevdikləri paltarları tapmalarına, özlərinə daha inamlı hiss etmələrinə kömək edən artı ölçülü moda üçün ləzzətli və cəlbedici dairəvi bir alış-veriş platforması təqdim edin. və başqaları ilə əlaqə qurun. Rol tam olaraq.

Veb saytımızı yeni bir tərtibata görə yenidən hazırlayacağıq. Fürsətdən istifadə edərək standart WordPress istifadə etməkdən (Sage teması ilə) WPGraphQL və ya Gatsby istifadə edərək başsız WordPress-ə keçmək və ya [URL-yə baxmaq üçün giriş] dəyişdirmək fürsətindən istifadə etmək istəyirik. Xahiş edirəm istinadlara ehtiyacımız olduğunu unutmayın. Mesajınıza & quotİstedadlı & quot ilə başlayın

DApp və ethereum istifadə edərək javascript üzrə mütəxəssis axtarırsınız Bir DApp-ı sıfırdan proqramlaşdırmanıza ehtiyac yoxdur, əslində mövcud kodu uyğunlaşdıra bilərsiniz (təmin ediləcək). Tətbiqi daha faydalı etmək üçün beş (5) əsas dəyişiklik əlavə etməlisiniz

Heyecan verici bir layihə üçün təcrübəli bir Google Ads Script Geliştiricisi axtarırıq. Namizədlər Javascript və Google Ads API ilə çox tanış olmalıdırlar. Dəqiq layihə spesifikasiyaları tələb əsasında veriləcək.

Salam Təcili olaraq cavabdeh veb dizayn, JavaScript, React və TypeScript etməlisiniz. Buna əsaslanan bəzi tapşırıqları yerinə yetirməkdə də köməyə ehtiyacım var. Xahiş edirəm yuxarıda sadalanan texnikalardan hansını daha rahat kömək etdiyinizi bildirin. Buna görə bu gün işə başlaya bilsəniz ASAP tətbiq edin

Advanced Java layihəmdə köməyə ehtiyacım var. Unix kodlaşdırma bilikləri də tələb olunur. Bunun üçün əsas SQL, HTML, CSS də tələb olunur. 1-2 saatlıq birdəfəlik tapşırıq olacaq.

Twitter, Instagram və Facebook kimi sosial media saytlarından məqalələr almaq üçün JS koduna ehtiyacım var. Səliqəli təmiz kod lazımdır. Javascriptlə yazılmalıdır. Node.js seçim olunur. Büdcə 60 dollardır. Son tarix bir gündür. Təşəkkürlər

Layihə: Tələbələrin iştirak etmədiyi Monitorinq Sistemi Əsasən Tələbələrin ad və rulon nömrələri ilə qeydiyyatdan keçə biləcəyi və olmadıqları günləri intimasiyadan bir gün əvvəl və ayda 15 gün əvvəl yeniləyə biləcəyi yerlərdə olmayan tələbə məlumatlarının toplanmasında insan səylərinin azaldılmasına yönəlmişdir. Öndə bir kliklə məlumat tutması üçün. html, javascriptdə css Backend: php istifadə edən DBMS backen etmək istəyirik.

Ən azı mümkün 5 bacarıq sahəsindən 2-sində bilik sübutlarını təqdim etməlisiniz və sonra aşağıdakı sənədləri diqqətlə oxuyun və iş yerlərinin qısa siyahısına düşə bilmək üçün mövzuların məcburi olduğu yerlərə müraciət edin. həqiqi ödənişin göstəricisi. Bu mərhələ və ləyaqətlə hissə-hissə ödəniş və dəqiqlik və detallara diqqət, avtomatik əl çəkmədən.

Salam, bir dəfəyə 600-dən çox insanın daxil olduğu bir oyun veb saytım işləyir. Buna görə kodumu düzəldə bilən və səhvləri düzəldə bilən bir geliştirici axtarıram. Həm də mövcud serverimə yükləyin.

Qeyd: Yalnız ABŞ CST müddəti ərzində işləyə bilən qadın, ABŞ-ın maliyyə bankçılıq sahəsindəki təcrübəsi böyükdür. Məsuliyyətlər və öküz vaxtında və yüksək keyfiyyətə cavabdehdir və öküz keyfiyyətinə cavabdehdir. Test əhatə dairəsi və kod gigiyenasında mükəmməl bir təcrübəyə sahibdir. & bull Texnologiya həmyaşıdları və məhsul sahibləri ilə əməkdaşlıq edin və uğurlu bir ucdan uca proyeksiya təmin etmək üçün birgə səylərə rəhbərlik edin.

Windows server 2019 reklam / DNS ilə əlaqəli problemlərlə qarşılaşır və RDP ilə bağlana bilməz; yalnız VM idarəetmə paneli vasitəsilə yerli birbaşa giriş vasitəsi ilə bağlana bilər. istifadəçilərin reklam giriş məlumatlarını istifadə edərək əlaqə qurmalarına icazə verilmir.

Windows server 2019 reklam / DNS ilə əlaqəli problemlərlə qarşılaşır və RDP ilə bağlana bilməz; yalnız VM idarəetmə paneli vasitəsilə yerli birbaşa giriş vasitəsi ilə bağlana bilər. istifadəçilərin reklam giriş məlumatlarını istifadə edərək əlaqə qurmalarına icazə verilmir.

Detal isteyin. Excel-də 40 nömrə axtarışım var, məsələn 01352 = & gt 0300 244 244 və sənədin hamısını dərhal dəyişdirmək üçün bir neçə söz sənədində (birləşmə sahələrini istifadə edərək) birdən çox axtarış aparmalıyam və & # 039yeni & # 039 0300 bütün köhnə 01352 nömrələrini əvəz edən nömrələr. Yəqin ki, bir makro və ya vb mütəxəssisi və ya proqram təklifi lazımdır ki, bunu manu yerinə avtomatik olaraq edə bilərəm.

Salam, işim üçün veb sayt hazırlayıram. Veb sayt [URL-yə baxmaq üçün giriş] ilə çox oxşayacaqdır Tech Stack React - Javascript, PHP və s. Xüsusi kodlaşdırma inkişafı olacaq. (WordPress vs. yoxdur) Zəhmət olmasa veb səhifəni nəzərdən keçirin ([URL-yə baxmaq üçün giriş]) diqqətlə nəzərdən keçirin və çərçivə / skelet / tamamlama üçün dəqiq smeta / təklif və vaxt təqdim edin. Məzmun təmin ediləcək.

Salam! PTR-də plesk və IONOS ilə problemlərlə qarşılaşıram. Buradakı hər hansı bir mütəxəssis problemin həllində mənə kömək edə bilərsə, mənə bildirin

mocha, chai, ninon frame əsərlərindən istifadə edərək javascript faylı üçün vahid test hallarını yazmalıdır

JavaScript Məlumat Mərkəzi dilində proqramlaşdırılmış bir yazılı skriptim var. Bəzi proqramlaşdırma səhvlərini soruşa bilərəm. Mən peşəkar bir proqramçıdan bunu mənim üçün dəyişdirməsini və əvvəlcə səmərəliliyini mənə sübut etməsini istəyirəm, çünki ciddi bir proqramçı istəyirəm.

hər kəsə salam, hazır Javascript layihəsində kiçik dəyişikliklər etməli və sənədləri doldurmalıyıq.

Bir üzün biometrik kimlik doğrulama prosesi üçün bir veb-kamera vasitəsilə bir şəxsin üzünü tanımağı və hərəkətləri avtomatik olaraq əldə etməyi təmin edən bir JavaScript komponenti tələb olunur - Dizüstü və mobil telefonlarda işləyir. - Komponent yerinə yetiriləcək hərəkət növünü göstərmək üçün istifadəçiyə bəzi mesajlar göndərməlidir (baş hərəkətləri) - Şəxs & # 039-un üzünü avtomatik olaraq təyin edin (tercihen bir libr istifadə edin).

Bunun üçün java və javascript istifadə edə bilərsiniz. Proqramlaşdırma dillərinə hər hansı bir dil əlavə etməkdən çəkinmədən istifadə edəcəyinə əmin deyiləm. Məlumat üçün bir nümunə alət əlavə etdim.

Bu aləti yaratmaq üçün Java, Javascript istifadə edə bilərsiniz. Yaddaş idarəetməsini və hər şeyi göstərmək üçün bir qrafik daxil etməlidir. Sistemlə əlaqəli məlumatları da göstərə bilər. Bir alət şəklini əlavələrə əlavə etmişəm, istinad üçün istifadə edin.

Veb saytımdakı təmizlənməmiş JavaScript və CSS sənədləri ilə 252 problemi həll edən birinə ehtiyacım var

Mənə əlavə edilmiş jquery-nin url nümunəsindən json məlumatlarını caching ilə işləyəcək sadə bir WordPress Plugin-ə çevrilməsinə ehtiyacım var (yalnız PHP və CSS caching - JavaScript caching yoxdur). Fərqli axınları olan müxtəlif veb saytlarımız var, beləliklə axın plagin ayarlarında yenilənə bilməli və asan yerləşdirilməsi üçün mahnını və sənətkarı ayrı-ayrılıqda göstərmək üçün hər hansı bir səhifə ilə etiketlərə icazə verməlidir.

Təqaüdü idarə etmək üçün bir proqrama ehtiyacımız var. Axie sonsuzluğu, Ethereum şəbəkəsini istifadə edən bir Blockchain oyunudur. Alim oyun oynayarkən yaratdığı SLP ayələrini idarə etməliyik. bu məlumat [URL-yə baxmaq üçün giriş] API istifadə edərək əldə edilə bilər. Oyunda alim qazanma nisbətini idarə etməliyik. o Axies-i idarə etməliyik. Onlar oyun oynamaq üçün istifadə olunan NTF-lərdir. ən çox bunlar var: 1) Alim Qeydiyyatı.

Salam, hissələrə yığılmış bir veb saytım var: biri php, css, html, javascript və bootstrap, digər hissəsi visual basic-də yaradılan admin hissəsidir. Daha çox məlumat söhbətdə veriləcək.

Veb saytımızı yeni bir tərtibata görə yenidən hazırlayacağıq. Fürsətdən istifadə edərək standart WordPress istifadə etməkdən (Sage teması ilə) WPGraphQL və ya Gatsby istifadə edərək başsız WordPress-ə keçmək və ya [URL-yə baxmaq üçün giriş] dəyişdirmək fürsətindən istifadə etmək istəyirik. Xahiş edirəm istinadlara ehtiyacımız olduğunu unutmayın. Mesajınıza & quotİstedadlı & quot ilə başlayın

mövcud komandaya qoşulmaq üçün tam (100%) öz-özünə işləyən müstəqil sərbəst iş axtarır. bu iş WebRTC başlayanlar üçün *** DEYİL ***. 1. biz artıq bazarda ən qabaqcıl həllərdən biri olan tam Veb əsaslı WebRTC həllini hazırlayırıq. 2. ana masaüstünü və amp pəncərələrini və axınlarını real vaxt rejimində standart brauzer p-sinə tutan yenilikçi WebRTC C ++ müştərimizi (Windows) istifadə edərək həll yolumuz.

layihə təsviri - tamamlanmış axtarır (100%). öz-özünə işləyən. exisitng komandasına qoşulmaq üçün müstəqil freelancer. 1. [URL-yə baxmaq üçün giriş] kimi işləyən CoBrowse xidmətini qurun. 2. Hər hansı bir müasir veb sayt URL linkini (ümumi və ya təmin edilmiş) hər hansı bir sayda iştirakçı ilə, orijinal veb səhifələrin tam PROXING-i daxil olmaqla, bir-birinə baxma imkanları olan hər hansı bir iştirakçı ilə bölüşmək imkanı. NƏZARƏT və ANNOTA dəyişdirmək üçün.


Amazon s3 kepçeli Geoserver - Coğrafi İnformasiya Sistemləri

Aşağıdakı kodu və # 8211 paketi testProject import java.net.MalformedURLException import java.net.URL import org istifadə edərək selenyum 3.141.59 docker görüntüsündə macOs v11.2.2 üzərindəki Chrome brauzerini işə salmağın çox sadə bir testini aparmağa çalışıram. openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.chrome.ChromeOptions import org.openqa.selenium.remote.DesiredCapabilities import org.openqa.selenium.remote.RemoteWebiori. bonigarcia.wdm.WebDriverManager ictimai sinif Testi

Google-chrome-stabil-i docker-dəki pyton görüntüsünə qurmaq istədim, ancaq aşağıdakı səhv etdim: [7/9] RUN apt-get update & amp & amp apt-get install -y google-chrome-stabil: # 11 1.250 Hit: 1 http://deb.debian.org/debian buster InRelease # 11 1.275 Get: 2 http://deb.debian.org/debian buster-updates InRelease [51.9 kB] # 11 1.279 Get: 3 http: // security .debian.org / debian-security buster / updates InRelease [65.4 kB] # 11 3.055 Get: 4 http://security.debian.org/debian-security buster / updates / main amd64 Packages [291 ..

Google-xromu bir python dokeri şəklinin içərisinə yükləmək istəyirəm, buna görə də selenium ilə istifadə edə bilərəm. Aşağıdakı əmrləri sınadım: curl https://dl-ssl.google.com/linux/linux_signing_key.pub -o /tmp/google.pub cat /tmp/google.pub | apt-key add & # 8211 rm /tmp/google.pub echo & # 8216deb http://dl.google.com/linux/chrome/deb/ stabil main & # 8217 & gt /etc/apt/sources.list.d/ google.list mkdir -p / usr / share / desktop-directory apt-get -y update apt-get install -y google-chrome-stabil dpkg-divert & # 8211add & # 8211rename & # 8211divert ..

Bu mövzuda onlayn bir şey tapa bilmərəm və milyonlarla insan hələ də bunu yaxşı istifadə edir, buna görə özüm də anlamadan çox lal bir şey etdiyimi düşünürəm. Aylardır Docker vasitəsilə Selenium testləri aparıram, bu docker-compose sənədini işə salmaq üçün istifadə edirəm: versiya: & quot3 & quot xidmətləri: selenium-hub: image: selenium / hub container_name: ..

Quraşdırma: Windows 10 host w / WSL konteynerində docker 3.3.3: Host & # 8217s 8080 port test script ilə eşlenen httpd + php-fpm ilə CentOS8 konteyner: boş bir PHP skript Mən nə seçirəm: İstəyin işlənməsi içəridə heç bir şey tələb etmir konteyner və ya WSL-də: [konteyner] qıvrım -w%:%:% localhost 0.000596: 0.002195: 0.002207 [WSL] qıvrım -w%:%:% localhost: 8080 0.000402: 0.002630: 0.002642 Lakin yüklənir ..

Ubuntu, NodeJS, Git & amp Google xrom kimi əsas görüntü ilə bir doker şəkli yaratmağa çalışıram. Bu mənim sənəd sənədim. Ubuntu'dan: 20.04 USER root WORKDIR / home / app COPY ./package.json /home/app/package.json RUN apt-get update RUN apt-get -y install curl gnupg RUN apt-get install g ++ build-essential & # 8211yes RUN curl -sL https://deb.nodesource.com/setup_15.x | bash & # 8211 RUN apt-get ..

Verilən bir brauzer iclası üçün yalnız bir istifadəçinin daxil olmasına imkan verən bir veb saytdakı girişdə olan iki istifadəçi arasındakı qarşılıqlı əlaqəni sınamaq istərdim. İkinci bir sürücü yaratmaqdan çəkinməyimin səbəbi, testlərimi aparmaq üçün Docker konteynerləri olan Selenium'u istifadə etməyi üstün tutmağımdır (https://github.com/SeleniumHQ/docker-selenium) ..

Kodumda bir səhv var, köməyinizi gözləyirəm! Sayta avtomatik olaraq nodejs-də daxil olan (kod işləyir) bir test kukla oyunçusu yazıram, amma onu saxladığımda və Docker-da işə saldığım zaman heç işləmir (xrom açıla bilməz). Hər hansı bir kömək məni xoşbəxt edir! Alacağımıza ümid edirik ..


Amazon s3 kepçeli Geoserver - Coğrafi İnformasiya Sistemləri

Ağıllı istifadə əsas istifadəçilərimiz Zürih ətrafındakı 2M ərazidə 100 + kommunal, memarlar və planlaşdırma ofisləri və dəlillərə əsaslanan müxtəlif maraqlı tərəflər ilə şəhər inkişafı ilə bağlı coğrafi və digər məlumat modellərini istifadə edilə bilən və əlçatan bir şəkildə bölüşmək üçün bir prototip platformadır. qərar qəbul etmə, vətəndaş dialoqu və idarəetmə məsələləri. İsveçrə böyük əraziləri üçün sərbəst şəkildə əldə edilə bilən bir planlaşdırma platforması vasitəsilə rəqəmsal iştirak modellərinin inkişafı üçün yeni bir əsas təqdim edir. Ağıllı istifadə, effektivliyə əsaslanan şəhər planlaşdırılması üçün faydalı məlumatların toplanmasına, analitikasına və vizuallaşdırılmasına imkan verir. Vətəndaşların xeyrinə açıq olan bütün məlumatların proaktiv və iş birliyində istismarını hədəf alır. Maraqlı fərdləri və təşkilatları təcili məkan inkişafı, şəhər planlaşdırma, böyük məlumat və idarəetmə problemlərinin həlli prosesinə, məlumatlarını, analitiklərini, nəticələrini, biliklərini və istək və narahatlıqlarını bölüşməyə imkan verərək cəlb etməyə kömək edir.

Zurich Metropolitan Area Association həyat keyfiyyətini təbliğ edir və Sürix Metropolitan Area-nı milli və beynəlxalq səviyyədə görkəmli bir iş yeri olaraq gücləndirir. Kantonlar və bələdiyyələr arasında məlumat mübadiləsi üçün bir platforma təklif edir, layihələr həyata keçirir və Sürix Metropolitan Bölgəsinin problemlərini federal səviyyədə müdafiə edir.

2016-cı ildən 2019-cu ilədək dərnək, digər məsələlərlə yanaşı, "əhali və iqtisadi artımın nəticələri" problemi üçün konkret həll yollarının işlənib hazırlandığı bir prioritet proqram həyata keçirir. 2017-ci ilin fevral ayında dərnək əməkdaşlıq layihələrinin iki mərhələli bir şəkildə təqdim edilməsinə çağırdı.

SmartUse ARGE ("Arbeitsgemeinschaft") təqdim etdi Ağıllı istifadə 2017-ci ilin aprel ayında ilk turda layihə. Uyğun əlaqəli məlumat dəstlərinin təhlili yolu ilə məkan istifadəsi modellərini "aşağıdan yuxarı" araşdıraraq xəritələşdirərək məkan inkişafına daha çox sübuta əsaslanan yanaşmaya töhfə verməyi hədəfləyən layihə, : (1) məkan-müvəqqəti rutinləri qeyd etmək və onları müxtəlif miqyaslı səviyyələrdə təqdim etmək, təhlil etmək və şərh etmək; (2) mövcud məkan strukturları, planlaşdırılan layihələr və strateji rəhbərliklər baxımından məkan inkişafına cəlb olunan aktyorları əhatə etmək. 2017-ci ilin iyul ayında ARGE dərnəyi 2019-cu ilin yanvar ayına qədər davam edəcək ilkin layihə üçün müqaviləni verdi.

Zurich Metropolitan Area Dərnəyi tərəfindən qurulan ilk layihənin məqsədlərinə aşağıdakılar daxildir:

  • fəaliyyətlə əlaqəli təhlillərə və şərhlərə imkan verən möhkəm bir məlumat strukturunun inkişafı
  • özəl sektor, idarəetmə və elm sahəsində fəal olan bilik daşıyıcıları şəbəkəsinin yaradılması
  • davamlı əsasda dəlil əsaslı məkan inkişafını qurmaq üçün dərnək üzvləri ilə əməkdaşlıq edərək məlumat təminatçıları şəbəkəsi yaratmaq.

Bu sənəd, Alfa mərhələsində araşdırılmış məlumatların toplanması, təhlili və nəşri ilə əlaqədar aşağıdakı sahələrə toxunan texniki sahələrin xülasəsidir:

Layihə olaraq Ağıllı istifadə müxtəlif istifadəçi hədəflərinin formalaşdırıldığı bir sıra dizayn düşüncə sürətləri ilə başladı. Kanban üslubunda istifadəçi hekayələrini yazmaq və təyin etmək üçün bir Trello layihə lövhəsi (aşağıda göstərildiyi kimi) istifadə edilmişdir. Hər bir kart bir istifadəçi hekayəsini ehtiva edir, potensial bir auditoriyanı təsvir edir və Trellonun tapşırığı / son tarix / yazıları vəziyyəti izləmək üçün istifadə olunur.

Əsas xüsusiyyətlər və maraqlar ətrafında təkliflərə uyğun eskizlər hazırlandı, daha sonra dizayn qrupu tərəfindən bir sıra seminarlarda (qısamüddətli fokus qrupları kimi qiymətləndirilir) təqdim edildi və daha da təkmilləşdirildi. Nəticədə çıxan tel çərçivələrin bəziləri maketlər qovluğunda tapıla bilər.

Alfa mərhələsində, dizayn prosesi, istifadəçi təcrübəsi mühəndisliyi təcrübəsi üçün standart olacaq dizayn düşüncəsinin asanlaşdırılması, A / B testi və ya fokus qruplarının ifadə olunmuş metodlarının istifadəsini əhatə etməmişdir. Material Design kimi bir istifadəçi təcrübəsi / istifadəçi interfeysi çərçivəsinin istifadəsini də qısaca qiymətləndirdik, lakin qərar vermədik. Buna baxmayaraq, bunun yaxınlaşma müddətində istənilən yanaşma olacağına razılaşdıq Ağıllı istifadə.

Texniki baxımdan bizim üçün bu vacib idi Ağıllı istifadə açıq məlumat sahəsindəki aparıcı praktikantlardan metafora və komponentlər qəbul edir. We presented and discussed early on in the project the central open data portals of the Swiss federal government, opendata.swiss, and that of the City of Zürich, data.stadt-zuerich.ch - and evaluated the CKAN software that they both implement.

An early test involved installation of CKAN and evaluation of its geospatial capabilities, which can be complemented by the rich open-source ecosystem behind the PostGIS project. CKAN has been in development for over 10 years and runs thousands of portals around the world, being the current standard fo open government data. It represents the recommended basis for a mature/ production-ready software deployment for a project like Smart Use.

Nevertheless, we chose to use a newer technology stack for the project, in order to evaluate leading-edge approaches to the technical requirements - and potentially make valuable contributions back to the community. In this light, our project aims for integration with next-generation open data portals, such as the new datahub.io site, while retaining compatibility with current platforms like CKAN. It implements the emerging and upcoming standards of frictionless data.

The Smart Use portal is based on the emerging Frictionless Data Standards for metadata exchange, in the development of which our tech lead has been involved. For an introduction, visit the Field Guide or watch this introductory video (1:15)

The main advantages of using Frictionless Data are:

  • data packages: a containerization format for any kind of data to enable simple data publication, transport, and consumption.
  • platform agnostic interoperability of these data packages with various existing tools
  • cutting costs by the provided interoperability and the easier, i.e. frictionless, integration of data packages into various platforms

As Smart Use is exploiting frictionless data package formats, it is automatically compliant with a huge set of existing data manipulation and verification tools, i.e. data quality can be tested and assured without the need of implementing new tools.

The initial architecture of the project had to quickly evolve through several development phases. The only constant was the web-facing user interface. It was not a priority for the alpha release to have role-based security or highly scalable implementation: these will be the goals of future phases as the project becomes operational.

Our first internal release was a static page built with JavaScript libraries, which was later rebuilt using a nodejs server and the Express framework to serve GeoJSON files from a git repository. Although this approach can work remarkably well in some circumstances, we briefly switched to a MongoDB database with geospatial queries before rewriting the project with the Flask microframework for Python as detailed in the next section. This includes migration to PostgreSQL due to better support for indexing as well as integration with PostGIS.

The main areas of our architecture include interfaces between the geo-modelling process being done by our analyst team, and the application platform - through an interface that allows creation, editing and storage of metadata for comprehensive publication of pixel, vector and tileset-based geodata.

Our application services are based on the Representational State Transfer (REST) architectural style, wrapping application microservices inside of consistently documented interfaces.

We are cognizant of parallel projects, such as Limmatstadt 3D also supported by the Zurich Metropolitan Area Association - or even third party developers, open data users, and so on, that may wish to access our platform APIs.

The frontend can be, therefore, completely decoupled, and built in any choice of frameworks or technologies. For the Smart Use beta platform, we used a lightweight reactive framework that demonstrated this approach.

(above) A visual summary of the components and technologies involved

The current beta release of Smart Use is built with the Flask microframework for Python, a mature and widely implemented basis for Web applications - including large sites like Pinterest and LinkedIn.

Working with the highly performant and scalable Postgres open source database, we have implemented our geodata-relevant models using the GeoAlchemy 2 extensions for SQLAlchemy to work with PostGIS. This allows our Object-Relational Model (ORM) to contain geographic references such as coordinates and shapes, and to perform geographic searches such as bounding boxes on the data.

The Flask Admin library was used to create a responsive administration interface based on the SQLAlchemy ORM and Bootstrap templates. This allows rapidly adapting the model, and the usage of Alembic via Flask Migrate to safely upgrade the database schema between releases.

(above) Screenshot of the administrative interface

To implement our REST-compliant architecture, we used Flask API, which generates multi-format routes and Web accessible views of our API similar to Django REST for developers to use.

To allow publication of stories with rich text descriptions, we support Markdown formatting through the Python-Markdown library, which converts content to escaped HTML inside of the API response.

We have tested a number of file storage providers, and have settled on Amazon S3 as the preferred cloud service going forward. Files are currently directly hosted on the application server filesystem, but as a next extensions, we plan to use Amazon S3 buckets for storage.

In the future, this project could potentially move completely to another framework, e.g. Django. Continuing to build upon our architectural foundation and working through requirements gathering and team-building phases to determine how the platform will be supported long term will be key to making the right decisions here.

Compared to Flask, Django offers a deep integration with relational database management systems such as PostgreSQL. It provides better support for an agile development process, requiring frequent changes in the database model. Although Flask is a great option for a quick web application, in particular as a web frontend for a python script, it lacks proper support and clean integration of data migrations. Nevertheless, Flask offers database integation with low effort when using third party libraries such as SQLAlchemy. But if relational databases comes into full play together with an agile development process, the effort maintaining migrations etc. with Flash massively increases. Here, Django plays its role from the beginning. It offers a comprehensive support of "data model"-based applications backed with a relational database by its mighty ORM (object-relational-mapping). It provides a deep integration with most relational database management systems such as e.g. PostgreSQL.

Smart Use offers a first basic frontend for discovery of the projects and resources in Smart Use, which aims at at rapid development and exploration of interface development techniques. The user experience that we wanted to initially evoke in the platform is through the use of "storymapping", a design approach effectively practiced by KnightLab, Swisstopo, ESRI and in data journalism.

Our initial frontend is built on a basic grid framework with generic design elements. The frontend is based on HTML5 responsive web standards, implemented in the Riot.js reactive framework, with components from the Blaze UI toolkit.

(above) Screenshot of the project alpha

The steps in becoming a publisher on an open data platform such as Smart Use are supposed to be very simple - a quick sign-up with automated confirmation and post-publication moderation - or involved - including SMS/post or even person-to-person confirmation, protracted consultation and support models. Our goal with this project was to aim for a balanced approach.

In the current phase of the project, the onboarding is limited to a small group of partners closely involved in the development, and involves careful coordination through e-mail, Trello and GitLab. Nevertheless, we tried to put in some of the steps of a more lightweight and scalable process in the future.

Primary to this is an online form - as in the screenshot above. It is made with JotForm, chosen after trialing several providers - and allows users to specify the kind of project that they wish to publish.

The form includes basic contact details as well as geographic reference points and a file upload functionality. Data collected from this form is currently transferred to our backend application by hand, but should be automated in the future.

In the administration, a user account can be created and assigned to an organization, where details of the authorship of the publication can be defined. Projects are created for individual case studies, which can have unique or shared Resources - which are containers for geodata, and representative of "chapters" in the storymap.

As noted above, either Markdown or HTML can be used in rich-text publications on the platform, and currently our team facilitates the process of transferring content out of Word or PDF documents. In the future, a rich text editor or some instruction in Markdown would be part of the onboarding process.

More crucially, adoption of our geodata interfaces will enable the bulk of the work of preparing publications to be transferred to our users. Although tools like Mapbox Studio can be quite intuitive for some, the use of tutorials and wizard-interfaces will enable smoother and faster data integration in future releases. See Communes Map in our wiki for an example workflow for current publication on the platform.

We believe that desktop tools have not completely lost their appeal in the day of pervasive mobile apps, and have looked into the possibility of developing a QGIS plugin, or even a mobile app for uploading data. Much of the process is simply format conversion and aesthetic refinement, so an effort in frontend development should pay off in user confidence. As would, of course, secure integration with more 3rd party geodata management platforms.

(above) Summary of the steps involved in a future on-boarding process

The creation of interactive visualizations is a repeatable process, involving data collection, data processing and exploration via desktop- or web-based tools, and publication of the final visualizations in online and offline formats. See the next section for details of the "geodata interface" - what we call the glue between these steps.

To address the publication challenge, we tested and compared ten mapping platforms. Some of the platforms require considerable investment into infrastructure, or have high hosting costs. We started by narrowing down the list to four for our integration testing:

Mapbox GL is a suite of open-source libraries for embedding highly customizable and responsive client-side maps. Based on this, GeoJSON data resources are rendered natively in our beta application / platform, with optional customization of presentation features such as marker shapes and line colors.

Mapbox Studio allows anyone to create beautiful and flexibly designed custom maps without requiring much experience with GIS, and embed them into any website. While this is a commercial, paid service, there is also a free/open source desktop tool called Mapbox Studio Classic available. We support this as an enhanced alternative to plain GeoJSON rendering with Mapbox GL.

OpenLayers can display map tiles, vector data and markers loaded from any source, and is made for enabling the use of geographic information of all kinds. It is completely free and Open Source. We have primarily tested integration of OpenLayers through the GeoAdmin service of the Swiss federal government. It is possible to create maps with custom data loaded via WMTS or KMZ, and embed them into our platform.

Kepler.gl is a "data-agnostic, high-performance web-based application for visual exploration of large-scale geolocation data sets..[that] can render millions of points representing thousands of trips and perform spatial aggregations on the fly". This is a new open source tool from the ride-sharing company Uber that has been enthusiastically received by the geodata community. We have run a few tests to determine the feasibility of implementing this platform, and while the initial results are impressive, more work needs to be done to enable full support.

All of the other mapping platforms that we considered are potential candidates for integration on Smart Use, as long as a short list of criteria - such as secure embedding, mobile user interface, open formats, reliability, ease of use - can be met.

Geodata analytics in the current beta release were done using the open source QGIS software in conjunction with PostGIS server. R scripts and Julia notebooks were also used for some data science tasks.

Several geodata workflows around these tools have been explored during the project. Our primary interface between these environments has been the GeoJSON format. In the project wiki you can find documentation of our main process in the Communes Map - transforming geopoints collected from Smart Use Projects into a heatmap for the project front page.

(above) Screenshot from the Communes Map workflow.

Other approaches included Use Clusters - a workflow to extract clusters of uses out of from-to relationships and Distance Matrix - a process to generate a distance matrix to calculate real distances and travel times in for a grid.

The Distance Matrix implemented in [R using the Google Distance Matrix API](notebooks/02-google distance matrix/DistanceMatrix.Rmd), and in Julia using ZVV timetables, can be found along with deployment notes in the notebooks folder.

Future work in this area would involve further evaluation and implementation of support for more geodata sharing platforms, such as GeoServer, Boundless Server and MapD.

We have been working on a data science environment to support analytical work, with the goal of building scalable geodata ingest & processing pipelines into the project from an early stage. Our aim is to develop an accessible, usable, highly performant platform which works with new Web map data providers like Mapbox or Uber Movement, as well as established sources such as WMTS services.

During the project we have been actively interested in the entire Frictionless Data initiative, and in particular the use of Data Package Pipelines to automate the analytical process described above. We are one of the first experimental users of the geospatial data package early-release specification, which we use to annotate our metadata with specifications relevant to publication on the site.

Our beta API understands the Data Package format to import internally or externally hosted data resources, and exports data in a compatible schema - with the intent that API consumers such as the demo frontend are oriented towards use of interoperable Data Package standards as well.

A sample response from our API:

Compatibility with these standards allows the usage of the full Frictionless Data toolbox to work incrementally on changes to the data model, while conserving reproducibility and transparency at every step.

Our recommendation is to continue embracing the standards we have evaluated in the beta, to partner with Datopian - the team behind much of the groundbreaking work in this area - for technical consultation, and ensure that Smart Use is a contributing member of the nascent Frictionless Data ecosystem.

In order to guarantee compliance with Frictionless data standards, Smart Use has invited Rufus Pollock, the founder of Datopian and former developer of CKAN, for a brief consultancy and compliance check. The data package implemented in Smart Use is fully compliant with the standards of Frictionless Data and actively contributes to the set of standards in the area of geo-located data sets.

(above) Conceptual schematic of our data integration strategy

Besides running several development instances, Smart Use runs it production beta on standard, up-to-date, secure and high-performance virtual machines running Linux in the cloud. Əlavə olaraq, Smart Use has developed a (currently offline) data science environment to support analytical work.

During the course of the project we considered hosting from Amazon, Heroku and several Swiss-based cloud providers. The project beta platform is hosted with Linode, a global leader in virtualization hosting, and provider of virtual machine services across global regions: USA, Singapore, Tokyo and two datacenters in the EU. Our beta server is running in the EU-Central cloud located in Frankfurt, Germany.

To achieve our longer-term aim is to develop an accessible, usable, highly performant platform which works with leading Web map data providers, several considerations need to be made in provisioning enhancements to the currently deployed infrastructure, such as:

  • Server stability: the maintenance of systems, their administration, updating and load, requires dedicated resources and a scalable platform.
  • Service monitoring: automated notifications and other mechanisms to be put in place to assure 24/7 reliability of the site.
  • Load balancing and caching: distributing the processing and caching site contents to increase speed and durability.
  • Security practices: proactive monitoring and integrity checking to reduce the risk of misuse of the resources is a must today.

Smart Use began reaching out to potential technical partners during the project, hiring the Bern-based software development company and innovation agency 89grad to bring their expert advice on next steps in this area in particular, and on the project in general. 89grad made a code review of the current beta platform and provided the following recommendations for fostering the impact and sustainability of the Smart Use platform:

Code and architecture review:

  • The beta Smart Use platform consists of the following main parts:
    • Backend: It is a monolithic Flask application using SQLAlchemy and Flask Admin. It is running with up-to-date PostgreSQL and Python 3. The backend is concise and coded in an easy to understand way.
    • Frontend: It is composed of few libraries such as RiotJS/RiotGear and jQuery/StickyJS. The app code can be easily installed with the YARN package manager.

    Recommendations

    A few features are essential to make Smart Use more stable, easier to maintain and to operate and in the end more usable and, therefore, more attractive to its audience (individuals and organisations in the area of city plannings as well as the citizens themselves):

    Extensions and adaptations of visualisations and frontend:

    • Listing of projects needs to be improved. The main areas that require improvements are pagination and filtering.
    • Inclusion of a proper search engine exploiting the results provided by the backend.

    Extensions and improvements of the backend:

    • Role concept: Adding a role concept is a must in order to implement self-service functionalities for the portal, resulting in reduced costs. An organisation should be able to manage its own users, its own data by itself. But, it should not have any access to other organisations. Currently, the entire user and data management is controlled by a global administration group and, therefore, always requires interactions of the portal owners.
    • Registration and onboarding process (users): An organisation or an individual should be able to register itself using a proper registration and onboarding process.
    • Modelling of publishing process: The management of data projects (e.g. uploading new data sets, analytics, etc.) should be modelled and represented with various states, e.g. "data uploaded", "data cleaned", "data verified", "data normalised", "custom analytics run", "data ready for publication waiting approval", "publication approved", "data published". This process needs to be moderated by users with the correct role belonging to the publishing organisation as well as by the maintainer of the Smart Use platform.
    • Modelling the data pipeline: A data pipeline should be modelled in a way that all steps involved in the data amelioration can be automatically and reproducibly applied to the data set fetched from the data source. This includes executing external data processing services as well as storing and executing all scripts (R/Julia) used in order to get the final result.
    • Frontend:
      • Storytelling: Smart Use could include features for telling a comprehensive story based on the data produced. This might include a timeline or a sequence of data sets and its findings and conclusions.
      • Definition of data packages and their components: The frontend could include a way for defining data packages and their components.
      • Upload functionality for R/Julia data processing scripts
      • Create, edit and delete functionality for data pipelines: A user should be able to create, modify and delete data pipelines for his/her data projects.
      • Templates for data pipelines: In order to support organisations and users in the process of data publication, Smart Use should offer templates for standard data pipelines. Templates can be globally available or specific for an organisation.
      • Versioning of data projects: Smart Use should support multiple versions of a data project. An organisation should be able to approve a sub set of the available versions of a data project for publication.
      • Detection of data source updates: Smart Use should be able to detect updates of a data source. It should automatically fetch the new data and apply all the processing steps of the assigned data pipelines and automatically create a new version. As soon as the processing has been completed, it should inform the owner of the data project about the availability of new results. The new version of the data project including the automatically generated results can then be approved for publication by the data project owner or one of its users with the necessary assigned role. This feature requires role concept, publishing process, data pipelines, and versioning.

      89grad implemented and operates a set of web applications with extensive role concept, such as Smart Use will require in the next phase, as well as with various automation and integration requirements for various customers. Examples are:

      • Order Gateway and Merchant Portal for e-commerce market place siroop:
        • Handling of updates (master, stock, and price data) for more than 1 Mio products of more than 500 merchants (> 2 Mio updates per day)
        • Handling of all logistic processes, e.g. all orders and returns including integrations wiht various shop systems as well as tracking
        • Portal with a large set of roles for handling orders and logistic processes. Roles include for example merchant users, merchant admins, multi-merchant agency users, multi-merchant agency admins, integration managers, keyaccount managers, and various roles in logistics and customer support
        • Integration of ERP
        • REST API
        • Backend for Stromer connected e-bikes
          • collecting mobility data from e-bikes
          • serving mobility data to e-bike owners or fleet management operators
          • firmware updates for on-bike controllers
          • settings update
          • REST API
          • firmware and settings update
          • accounting
          • REST API
          • Management of assets
          • Payment support

          One of the initial aims of the project was to make the platform interesting for potential cooperation with larger organizations, e.g. Swisscom and the Swiss Post, institutions of higher learning, and government. From our initial workshops, such as at SmartSuisse 2018 (Spatial Planning workshop) and Geosummit 2018 (Synthetic Populations track), we collected contacts to interested research and industry participants, several of whom had follow-up meetings with us and discussed potential technical cooperation scenarios. Smart Use provides a separate document with the contacts to Zurich Metropolitan Area Association.

          In order to produce the basis for effective storytelling, we have put together several case studies using open data from project members and partners. It was made clear through the project that many projects with overlaps to Smart Use are being developed around the world, with several prominent examples even in Switzerland.

          A wholesome strategy in regards to communication and promotion, the legal and technical conditions of partnership, as well as co-development models, have been the subject of much discussion. At the current stage, in the technical area we are aiming for an overall high level of engineering and architectural best practices, industrial standards (Frictionless Data), support for open data licenses, and embracing open source development as detailed below.

          We aim to be advanced users of datahub.io, data.stadt-zuerich.ch, opendata.swiss and other open data portals, especially any based on CKAN or those carrying datasets of urban development interest. We are also aiming to make the platform interesting for potential cooperation with industry partners as described above.

          It should be possible to quickly import datasets from portals supporting the Data Package specification today. Additionally, projects which reference open datasets through Web accessible mapping tools can display them using our embedding tool. Although the Data Packager extension enables us to work with CKAN already, we would also like to build in support for the CKAN API, in particular to integrate with geospatial extensions.

          Even more crucially, Smart Use needs to be a provider of Open Data for the project to have relevance and impact in the community. Beginning with the standards-based API, we aim to adhere to various criteria of openness - from encouraging our users to adopt, and clearly publish, open data licenses and guidelines - to ensuring that the raw, machine readable data is accessible through the portal and republishable on other portals - to developing support for Linked Data in the future with a view of integrating with projects like LINDAS and Google Dataset Search.

          Early involvement of our project team in community events such as the SRG SSR Hackdays and the Opendata.ch conference, as well as interviews with proponents of open data in Switzerland, have helped us to start to articulate our strategy in ways that may one day benefit the accessibility, transpareny and governance of urban development.

          Establishing an open source project around the initiative has been an important prerogative of the founding team. We strongly believe that open source development funded through a business model such as freemium is the right way to go for this project, and share our intent and experience with stakeholders in the project.

          In our GitLab project, we are using leading edge infrastructure for collaboration with a widening team as well as project users, and applying best practices in terms of licenses, documentation, and outreach.

          The Smart Use beta is built on 100% open source components, and is itself composed and documented in such a way as to promote open source development around it. Nevertheless, additional steps need to be taken before open source can be truly embraced in this project, such as:


          Geoserver with Amazon s3 bucket - Geographic Information Systems

          Add Jpg compression level control. Add 16bit per channel import/export for elevation sets (an 8 bit gray rgb image is no use) eg 16bit grayscale tiff import & 16bit grayscale png output.

          MapInfo MIF file

          It would be great to convert MIF files into tiles (with some kind of color picker for shapes and outline)

          Provide a unified license manager portal for managing MapTiler subscriptions

          It would be so much easier if there was a portal where we could manage all the licenses for our organization and have the ability to update the billing email addresses on an ongoing basis. Currently, we have to contact KlokanTech support every time an employee leaves so that the maintenance reminder emails are not sent to his non-functional email address. Also, remembering whose email address correspond to which license-key is a pain! This is just not a workable solution.

          Custom map with OpenLayers for Drupal CMS

          This is a quick how-to for making a tile overlay for maps displayed on a Drupal 7 website. You will need to set up a Drupal 7 site and load a number of modules. If you don't know the Drupal CMS, take a look at their website to get started: www.drupal.org The basic principles are listed at www.drupal.org/start and there are tutorials online and on YouTube as well. Drupal is free to use and good for powerful websites without necessarily needing any programming (though you can if you can). The modules you’ll need are: Views -> enable Views and Views

          Google Maps API

          MapTiler automatically generates a Google Maps viewer for rendered tiles. It is a simple HTML text file which contains Google Maps JavaScript API code with parameters from your rendering. This file is prepared for direct upload to any hosting as a fullscreen app or it can be modified or embedded to your needs. Add your API key Latest Google Maps API’s requires personal API key for each published app. You have to generate your API key and use it in the template to get your Google Maps templates working. More information is available at Google Maps API pages and you can get

          Open maps in QGIS

          Users have three options how to open maps rendered by MapTiler in QGIS (formerly known as Quantum GIS): setting WMTS service, rendering the map in an MBTiles format or by using GeoPackage. All method can be used in both QGIS2 as well as QGIS3. WMTS Setting WMTS (Web Map Tile Service) is the most difficult but at the same time the most powerful method of using maps from MapTiler in QGIS. It allows multiple users to access the map at the same time without a need to distribute them your map files. The downside is a bit higher complexity to

          MapTiler GeoEditor

          MapTiler GeoEditor is an online web application for collaborative creating and editing geographical data. It allows creating points, lines and polygons on top of raster maps. For each element, you can include additional info or a photography. Prepare your image First, you need to process your raster image with MapTiler Desktop, turn it into map tiles and upload it to any web hosting of your choice. After your work is uploaded to the server, open the web viewer and in the right menu select Edit and click on Open in GeoEditor. This will redirect you to the MapTiler GeoEditor, where you can immediately start with editing.

          Map hosting on Amazon S3

          Availability of uploading to Amazon S3 option depends on current version of MapTiler Desktop. Actual available features can be seen in the pricing table. A tutorial on how to create, upload and publish map tiles or MBTiles on Amazon S3 using MapTiler software. Before rendering, the MBTiles option has to be chosen. When your map is finished, you can easily upload it to Amazon S3. Just click on the “Cloud” icon. You need to paste your Amazon Security Credentials, type a name of your bucket, which has to be always unique and click on the “Start Upload” button. When your maps

          Map hosting on MapTiler Cloud

          Hosting own map created by MapTiler Desktop on MapTiler Cloud is very easy. Create a map with MapTiler Desktop When creating a map with MapTiler Desktop (or Engine), in the step where you are selecting output format, choose GeoPackage or MBTiles as an output. This creates a single file, which can be later hosted in MapTiler Cloud. Upload your map to MapTiler Cloud and use it When the rendering process is finished, you'll see a preview of the map. Proceed to the next page and select the Upload to cloud button. Choose the MapTiler tab and press the Start upload button to upload the rendered

          Host a map on any PHP hosting

          Publishing own map on any PHP hosting is very easy. All you have to do is to copy one file to your web and add the map in MBTiles or Folder structure, there is no need for a geoserver, map server or ArcGIS Server that are hard to install and maintain. TileServer PHP is an open-source alternative which is implementing the OGC WMTS standard for pre-rendered raster tiles but it is fully prepared for a fast serving of vector tiles. TileServer PHP is only one PHP file which you need to copy together with the MBTiles file. More information on the GitHub page of the

          Map hosting on own infrastructure or on standard web hosting

          On a standard hosting (such as an ordinary company web server or any web hosting) you can very simply host your maps. Just upload your map in the Folder format (created by MapTiler Desktop) to your web hosting and the map is automatically available on the folder address. Once uploaded, the produced map can be opened in any web browser, JavaScript library, or desktop GIS viewer supporting OGC WMTS standard. For hosting of GeoPackage or MBTiles, you can use MapTiler Server or an open-source TileServer, which can be used with any standard hosting that supports PHP. Upload the created maps and get dozens

          Create a 3D online globe

          A tutorial, how to create a 3d online globe and visualize in WebGLEarth. The easiest way to create an online 3d globe from an image is to prepare the texture of the whole world with a size ratio of 2:1 since there are 360 to 180 degrees. Such texture can be downloaded from David Ramsey's website. First, open the MapTiler, choose Mercator tiles and drag and drop the image inside. Confirm the suggested projection and choose bounding box. You can directly confirm the bounding box values, as the area covers the whole world. Click on continue, choose MBTiles or folder,

          KML SuperOverlay for Google Earth

          It is possible to easily create overlays for the Google Earth with MapTiler Desktop. Open the application and choose your file(s). If the image is a GeoTIFF, it already has a position inside, otherwise, you have to specify Coordinate system and Georeference. Once the satisfying setting is done, proceed to the "Format of output" page by clicking export button. Here select Google Earth KML as the output format. Then, click on continue, render, create a new folder and start rendering. Once the rendering process is finished, the .kml file is ready for you in the rendering folder. You can either view the

          Advanced image settings

          Advanced image settings can be accessed from the screen which is available prior to the rendering by clicking on the “Advanced options” button. There are several options to be set. Tile format The produced tiles can be saved in one of several image format. MapTiler includes optimization of the final file size and uses a number of colors (quantization) to minimize the disk size occupied by the rendered maps as well as optimize the data transfer between clients and server once the tiles are served online. Formats which support transparency are: PNG 8-bit which is DEFAULT. Paletted RGBA PNG image

          Retina - HiDPI tiles

          If you need to provide your clients with small map images available on high-resolution devices, such as iPad, iPhone, Macbook Pro or a high-end Android device, you can use the retina option, which is available in MapTiler Plus and MapTiler Pro for Standard Tiles. This option will create a high-resolution (HiDPI) tiles with a size of 512x512px (instead of default 256x256px). Checkbox for Retina tiles is available on the first screen, or this function can be set up in the command line (MapTiler Pro only). Retina tile: Ordinary tile:

          Custom watermark

          MapTiler Desktop allows users creating own watermark. This functionality is available in MapTiler Desktop PRO version. Creating custom watermark is available in Advanced options, which appears after georeferencing an image. Watermark can be created either from an image or text, a combination of both is not possible. Image as a watermark To create a watermark from an image, load the file in PNG format by clicking on the image file link. The watermark is randomly distributed on each of the 256x256 px tiles. If you want to have your watermark aligned regularly in a grid, create 256x256 px image with watermark inside. 256px

          Merge MBTiles

          This feature is available in Desktop PRO and Engine versions only, not in Desktop PRO Demo. MapTiler can easily merge different maps in MBTiles format. It is also possible to replace a part of one MBTiles with another MBtiles. This feature is quite useful and saves a lot of rendering time in case you receive a new update of source data and you need to replace just a few zoom levels with this new part. Merging MBTiles is one order of magnitude faster than processing source images in MapTiler Desktop. Process of merging Merging utility is available after every rendering

          Merge multiple layers in one map

          Multiple layers are available only in MapTiler Desktop Pro (not in Free, Start and Plus versions). With MapTiler Desktop, you can either merge multiple images together and create one big map overlay, combine images on different zoom levels which changes as the end-user will zoom through the final map or merge multiple MBTiles together. Merge multiple images together to create a mosaic Creating map mosaic is similar to creating a map from an image: you drag and drop your images, georeference all of them (either visually or by other methods) and render the final map. You can also make a color correction to give all images

          Map transformations

          Transformation determines the method of converting your picture into a map. This is done in MapTiler during the georeferencing stage after at least three control points are set. The most suitable transformation method is set automatically. However, you can always change this setting manually by clicking on the gear icon in Georeferencer. There are five transformation methods available. They differ in method of transforming your image as well as in a minimal number of assigned control points: Scaled Scaled transformation combines rotation, scaling, and translation. It doesn’t change angles and shapes and also preserves parallels. It requires a minimum of two control points


          The Smithsonian Transcription Center

          eChing-hsien Wang, Branch Manager Library and Archives Systems Innovations Office of the Chief Information Officer Smithsonian Institution

          In 2013, the Smithsonian Institution - the largest library, archive, museum and research center complex in the world - launched transcription.si.edu, the first release of the Smithsonian's Digital Volunteers platform. With the ambitious goal to engage varied audiences, enrich collections and enable discovery in ways never before imagined, the Transcription Center enlists the "crowd" to transcribe millions of pages of handwritten documents from across the Institution's vast and diverse collections. We will share our goals, strategies, and experiences as contributors and developers of this collaborative initiative among librarians, archivists and museum curators. Design, workflows, user analytics, templates, and discoveries will be demonstrated and discussed for formats as varied as botanical specimen files, diaries, ledgers, field notebooks, letters, and photographs. We will also showcase the benefit of using open source technology in building our system architecture and we will share our technical challenges and lessons learned along the way.

          Ching-hsien Wang has not presented at Code4Lib conference before, but have participated in other conference presentations before.