Что такое яйцо питона?

Взгляните на OpenStreetMap . (Google и Bing не позволят вам получить доступ к их базовым уличным данным.)

Вы можете показать карту с помощью плиток OSM и использовать API для запроса функций, re заинтересованы в отображении на карте. OpenLayers - это библиотека отображения javascript, которая могла бы поддерживать это.

Вот вид Чикаго, показывающий уличные векторы и другие функции, наложенные поверх плиток карты:

http://www.openstreetmap.org/?lat=41.902104&lon=-87.626441&zoom=18&layers=B000FTTT

479
задан Peter Mortensen 8 February 2015 в 13:40
поделиться

1 ответ

SELECT  *
FROM    mytable
ORDER BY
        column1 DESC, column2 ASC
-121--1786312-

Ну, у вас действительно есть две точки на двух разных прямых, и вы хотите найти пересечение. Самый простой способ - найти уравнения двух прямых и затем вычислить пересечение.

Уравнение прямой задается как y = mx + b , где m - наклон, а b - y-перехват. Для одной прямой у вас есть две точки, которые дают два уравнения. Таким образом, можно решить для констант m и b . Это дает следующие два уравнения:

 0 = 0*m + 1*b  % Using the first point x=y=0 into y=m*x+b
 6 = 6*m + 1*b  % Using the second point x=y=6

Или в матричной форме:

 [ 0 ] = [ 0 1 ]* [ m ]
 [ 6 ]   [ 6 1 ]  [ b ]

Для первой строки константы могут быть вычислены в MATLAB

 C1 = inv([0 1;6 1]*[1;0]; % m=C1(1) and b=C(2)

Теперь, когда у вас есть уравнение для двух прямых, вы можете решить для пересечения путем решения следующей системы уравнений (которые получены путем манипулирования уравнением для прямой):

 m_1*x-y = -b_1
 m_2*x-y = -b_2

Все, что осталось, это написать вышеуказанную систему уравнений в матричной форме и решить:

 [x] = inv [m_1 -1] * [-b_1]
 [y]       [m_2 -1]   [-b_2]

Или в синтаксисе MATLAB:

 I = inv([m_1 -1; m_2 -1])*[-b_1;-b_2]; % I is the intersection.

Примечания

  • В соответствии с комментарием gnovice, если линии на самом деле являются сегментами линий, необходимо проверить, находится ли пересечение между конечными точками сегментов линий.

  • Если два наклона равны, m_1 = m_2, то пересечения либо не будет, либо будет бесконечно много пересечений.

-121--2681533-

Примечание: Упаковка яиц заменена упаковкой колес.

То же понятие, что и файл .jar в Java, это файл .zip с некоторыми файлами метаданных, переименованными в .egg , для распространения кода в виде пакетов.

В частности: внутренняя структура яиц Python

«Яйцо Python» является логической структурой, воплощающей высвобождение конкретная версия проекта Python, включающая его код, ресурсы, и метаданные. Существует несколько форматов, которые можно использовать для физически кодировать яйцо Python, и могут быть разработаны другие. Однако ключевой принцип яиц Python заключается в том, что они должны быть обнаруживаемыми и импортируемый. То есть должна быть возможность для приложения Python легко и эффективно узнать, какие яйца присутствуют в системе, и обеспечить возможность импорта желаемого содержимого яиц.

Формат .egg хорошо подходит для распространения и простоты удаление или модернизации кода, поскольку проект по существу автономный внутри одного каталога или файла, не связанный с любым код или ресурсы других проектов. Это также дает возможность иметь одновременно установлено несколько версий проекта, так что отдельные программы могут выбирать версии, которые они хотят использовать.

498
ответ дан 22 November 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: