Ana içeriğe git

Haberler

Son İletiler

11
Diğer / Delta Plc Ücretsiz Eğitim & Döküman & Örnek
Son İleti gönderen Mustafjohnson -
Merhabalar ;

Delta Plc'e dair herşeyi ücretsiz ve tamamen özgün olarak bulabileceğiniz bir blog..
Umarım faydalı olur.

İyi Çalışmalar

http://www.endelkon.org/
12
Kategorisiz / Farnell - SAMM İşbirliği
Son İleti gönderen Ramazan -
Selam arkadaşlar,

SAMM Teknoloji olarak Farnell ürünlerinin Türkiye tedariğini yapmaya başladık. Her hafta Cuma'ya kadar sipariş alıp bir sonraki hafta içinde teslimatı yapıyoruz şuan.
Konu ile ilgili olarak [email protected] adresine mail atabilirsiniz.

Detaylar için: http://www.samm.com/page/108/farnell-ve-samm-isbirligi.html
13
Fpga,Cpld / Z80 vga
Son İleti gönderen MC_Skywalker -
Son günlerde Z80 CPU ile ilgilenmeye başladım. bulduğum birçok SBC örneği dış düya ile etkileşimi terminal üzerinden.

VGA bağlatısı yapayım dedim ama kafam karıştı. eski bilgisayarlar doğrudan tv ünitesine bağlanmakta. video için bir shift register ve birkaç mantık kapısı (V &H syc) oradan modülatöre çıkış vermiş.

gıgıl amcanın arama sonuçlarından çıkan birtaşım kişiler atmega veya propeller ile çözüm üretmiş.

CPLD ile bu işi yapmak istiyorum ama olayı tam anlamadığımdan kumda patinaj çeker misali 1mm ilerleyemedim. bu konu hakkında bilgi sahibi olup yardımcı ola bilecek varsa mı? teşekürler.
14
Güç Elektroniği / n faz VRM nedir bu?
Son İleti gönderen MC_Skywalker -
Bilgisayar ana kartları ve ekran kartlarında n faz VRM ibareleri görüp duruyorum. Google amcaya baktığımda bir voltaj konrtol işlemcisi nin etrafında mosfet + bobin + kondansatör üçlüsünde oluşan fazlar bulunduğu görülüyor.

kontrolcünün ürettiği PWM sinyalini n faz a dağıtmakta. şeklinde yazılar okuyorum. neden  tek bir  buck converter ile yapmamışlar da böyle faz oluşturup birden fazla kullanmışlar

Tarafımdan kızartılmış GTX580 GPU içeren PCB nin VRM kısmı. 6 faz GPU için 1 faz bellekler için.


15
Kategorisiz / tracing plots
Son İleti gönderen muhittin_kaplan -
Merhaba.
1200x1200 lük bir alanda, yerleri belli olmadan başlayabilen,ardışık olarak gelen  noktaların arasındaki ilişkiyi kurmam gerekiyor.
Örnek Olması Açısından snake oyunundakini yılanı ele alalım, bu uygulamada çarpma vb olaylar yok ama birden fazla yılan var ve bu yılanların kuyrukları birbirinin üstünden geçebiliyor. Kuramaya çalıştığım algoritmada bu yılanları birbirinden ayırmaya yönelik olacak.
Ben şu anda bunu adım adım oynatarak ve her yeni zamanda yılanın kafasını ilgili diziye ekleyerek yapıyorum. böylelikle her yılanı ayrı ayrı takip edebiliyorum.
bunu nasıl yapabileceğim hakkında fikirlere ihtiyacım var ?
16
STM32 Serisi / Yeni düşük güç STM32 Mikrolar
Son İleti gönderen MC_Skywalker -
Ayın 14'ünde STM yeni düşük güç MCUları tanıtacak

17
STM32 Serisi / Ynt: SSD1306 OLED u8glib Kullanımı
Son İleti gönderen MC_Skywalker -
Benim bu videolardan ikisi meşhur olmuş galiba elemanın biri sitedine gömmüş :)

https://youtu.be/m2WiLw79UqI
https://youtu.be/YHuHMY254Z4



18
Kategorisiz / Ynt: DTED MAP file nedir
Son İleti gönderen Mufit Sozen -
Sizin öneriniz Tek Dosya oluşturup onu ram de tutmamdı. Ben dosyaları isimleriyle ulaşabilecek şekilde ram e attım.

Bunun icin pandas gibi bir library'e ihtiyac yok aslinda. Bir liste yada dictionary kolaylikla ayni isi gprirdu ( sizin kullanim amaciniza uygun olarak) Bence gereksiz bir komplex ve overhead getiren yol secilmis.

Dosyalarin icerigi ise sadece raw bilgi iceriyor. Bunlara erisim hafizadan indexleyerek kolayca yapilabilir.144 dosyayi birden ayri degiskenlerle yukleyerek hafizada tutabilirsiniz. Ilerde cpzunurluk artarda hafiza ile sikinti olur ise hem fiziksel hemde virtual hafizayi artirmak daha kolay ve hizli bor cozum olur.
19
Kategorisiz / Ynt: DTED MAP file nedir
Son İleti gönderen muhittin_kaplan -
Sizin öneriniz Tek Dosya oluşturup onu ram de tutmamdı. Ben dosyaları isimleriyle ulaşabilecek şekilde ram e attım.
20
Kategorisiz / Ynt: DTED MAP file nedir
Son İleti gönderen muhittin_kaplan -
Yaptıklarımı Kısaca Anlatayım Hocam
1.Verilen Offset e göre 360derece/256 datamil (1datamil 1828.8metre) lik alanda kullanılacak dosyaları buldum.
2.Bulunan bu dosyaları pandas modülü kullanarak dosya adları ile erişecek şekilde bir verisetlerine dönüştürdüm. (RAM  e aldım, dosya aç kapa yapmamak için)
3.kullanılacak dosyaların sabitlerini (originx originy cellsize) pandas ile dataset oluşturdum
4 verilen origine göre azimuth ve range bilgisinden yola çıkarak latlon buldum.
5. bu latlonlardan ram de bulunan hangi verisetinin kullanılacağını buldum,
6. irtifa bilgisini aldım.

Sonuç;
0-1 derece,
200*1828metre range
100m çözünürlülükle
yaptığım denemelerde 250san, 4saniye oranında.
tek nokta sorduğumda dosya aç kapa işlemi daha hızlı ama  sektör tarama yaptığımda arada dağlar fark var.

Kod: [Seç]
import os
import pandas as pd
import numpy as np

from osgeo import ogr, gdal
from gdalconst import *

import geopy
from geopy.distance import VincentyDistance

#debug
import time


class dtedToPandasFileClass():
    def __init__(self):

        self.dtedDIR = '/DT1'

    def findDtedFiles(self,originLat,originLon,destinationAzimuth,destinationRange):
        '''
                                                                       N
        :param originLat:                                              ^
        :param originLon:                                              |
        :param azimuth:                                                |
        :param range: in meters                                        |
        :return: Kullanılacak Olan Dosya İsimleri Listesi              | \<--azimuth
                                                      origin lat/lon-->o--------------o
                                                                       ^- - - - - - - ^--range
        '''

        origin = geopy.Point(originLat, originLon)
        kullanilacakDosyaIsimleri = []
        for i in range (destinationAzimuth):
            for z in range(0,destinationRange,1000):

                destination = VincentyDistance(meters=z).destination(origin, i)# açı ve uzaklığa göre Latlon bulunuyor
                lat = destination.latitude
                lon = destination.longitude

                if lat >= 0:
                    ns = 'N'
                elif lat < 0:
                    ns = 'S'
                if lon >= 0:
                    ew = 'E'
                elif lon < 0:
                    ew = 'W'

                dtedFile = "%(ew)s%(lon)03d/%(ns)s%(lat)02d.DT1" % {'lat': abs(lat), 'lon': abs(lon), 'ns': ns, 'ew': ew}

                dtedFilePath = os.path.join(self.dtedDIR, dtedFile)

                if os.path.isfile(dtedFilePath):
                    kullanilacakDosyaIsimleri.append(dtedFilePath)
                else:
                    print('Dosya Bulunamadı', (dtedFilePath), destinationAzimuth,destinationRange)
                    return None
        dosyalistesi=np.unique(kullanilacakDosyaIsimleri)
        return (dosyalistesi)

    def dtedToPandasDataFrame(self,dtedFileNames=[]):

        '''
        :param dtedFileNames:
        :return:
        '''
        altitudeValueDF = {}  # altitude verileri için tanımlanan DF tutulacak
        dtedFileConstDF = {}  # altitude verilerinin olduğu dosyanın sabitleri için tanımlanan DataFrame

        for fileName in dtedFileNames:
            dem = gdal.Open(fileName, GA_ReadOnly)
            altitudeValue = np.array(dem.GetRasterBand(1).ReadAsArray(), dtype="float")  # DTED file içerisindeki Altitude verileridir
            dtedFileConst = dem.GetGeoTransform()#dted file içerisindeki offset ve cell bilgileriidir.

            constSeries = pd.Series(dtedFileConst)
            dtedFileConstTempDF = pd.DataFrame.from_dict(constSeries)

            # -------------------------------------------------------------
            altitudeValueTempDF = pd.DataFrame.from_records(altitudeValue)

            keyName = fileName[-12:]
            altitudeValueDF[keyName] = altitudeValueTempDF.copy(deep=True)#dosya adıyla ulaşmak içinkullnılıyor. DF diğer DF ye copyalanırken
            # key oluşturuluyor
            dtedFileConstDF[keyName] =dtedFileConstTempDF.copy(deep=True)

        return(altitudeValueDF,dtedFileConstDF)

    def getAltitudeFromDF(self,originLat,originLon,destinationAzimuth,destinationRange,dtedDataFrameList,dtedDataFrameConst):
        '''

        :param lon:
        :param lat:
        :return:
        '''

        origin = geopy.Point(originLat, originLon)
        destination = VincentyDistance(meters=destinationRange).destination(origin, destinationAzimuth)
        lat = destination.latitude
        lon = destination.longitude

        if lat >= 0:
            ns = 'N'
        elif lat < 0:
            ns = 'S'

        if lon >= 0:
            ew = 'E'
        elif lon < 0:
            ew = 'W'
        keyString = "%(ew)s%(lon)03d/%(ns)s%(lat)02d.DT1" % {'lat': abs(lat), 'lon': abs(lon), 'ns': ns, 'ew': ew}

        Origin_X = dtedDataFrameConst[keyString].loc[0, 0]
        Origin_Y = dtedDataFrameConst[keyString].loc[3, 0]
        Cell_Size = dtedDataFrameConst[keyString].loc[1, 0]

        col_x = int(((float(lon) - Origin_X) / Cell_Size))
        row_y = int(((Origin_Y - float(lat)) / Cell_Size))

        H=(dtedDataFrameList[keyString].loc[row_y, col_x])  # pandas ters
        return(H)

start=time.time()
destinationRange=1829*200#DataMil
destinationAzimuth=2

myclass=dtedToPandasFileClass()
dosyaisimleri=(myclass.findDtedFiles(originLat=39.9250972,originLon=32.8357905,destinationAzimuth=destinationAzimuth,
                                     destinationRange=destinationRange))
dfAltitude,dfConst=(myclass.dtedToPandasDataFrame(dosyaisimleri))


print(dosyaisimleri.__len__(),' dosyaya işlem yapılacak')
for i in range (destinationAzimuth):
    for z in range (0,(destinationRange),100):
        print(i,z,myclass.getAltitudeFromDF(originLat=39.9250972,originLon=32.8357905,destinationRange=z,destinationAzimuth=i,
                                        dtedDataFrameList=dfAltitude,dtedDataFrameConst=dfConst))

stop=time.time()

print(stop-start)


kodlarda eksik fazla olabilir